santoid-sdk 7.0.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +25 -4
  2. package/README.md +123 -237
  3. package/api/AbstractService.js +9 -3
  4. package/api/ApiLivenessSessionService.d.ts +14 -1
  5. package/api/ApiLivenessSessionService.js +20 -11
  6. package/browser/index.js +1 -1
  7. package/browser/liveness-capture.js +2 -0
  8. package/browser/liveness-capture.js.LICENSE.txt +350 -0
  9. package/client/age/index.d.ts +18 -0
  10. package/client/age/index.js +40 -0
  11. package/client/index.d.ts +4 -2
  12. package/client/index.js +4 -2
  13. package/client/liveness/index.d.ts +2 -2
  14. package/client/liveness/index.js +3 -3
  15. package/client/liveness/methods/livenessSession/Service.d.ts +10 -3
  16. package/client/liveness/methods/livenessSession/Service.js +14 -6
  17. package/client/liveness/methods/livenessSession/index.d.ts +13 -9
  18. package/client/liveness/methods/livenessSession/index.js +12 -9
  19. package/client/liveness/methods/livenessSession/isLivenessApproved.d.ts +6 -0
  20. package/client/liveness/methods/livenessSession/isLivenessApproved.js +13 -0
  21. package/client/liveness/methods/uploadIdentificationDocument/Service.d.ts +8 -29
  22. package/client/liveness/methods/uploadIdentificationDocument/Service.js +25 -66
  23. package/client/liveness/methods/uploadIdentificationDocument/index.d.ts +4 -18
  24. package/client/liveness/methods/uploadIdentificationDocument/index.js +4 -8
  25. package/client/liveness-capture/LivenessCapture.d.ts +13 -0
  26. package/client/liveness-capture/LivenessCapture.js +23 -0
  27. package/client/liveness-capture/displayText.d.ts +54 -0
  28. package/client/liveness-capture/displayText.js +57 -0
  29. package/client/liveness-capture/index.d.ts +36 -0
  30. package/client/liveness-capture/index.js +2 -0
  31. package/client/liveness-capture/index.js.LICENSE.txt +350 -0
  32. package/package.json +11 -4
  33. package/server/index.d.ts +0 -2
  34. package/server/index.js +0 -2
  35. package/server/liveness/index.d.ts +1 -2
  36. package/server/liveness/index.js +1 -3
  37. package/server/liveness/methods/uploadIdentificationDocument/Service.d.ts +3 -3
  38. package/server/liveness/methods/uploadIdentificationDocument/Service.js +2 -2
  39. package/server/liveness/methods/uploadIdentificationDocument/index.d.ts +7 -21
  40. package/server/liveness/methods/uploadIdentificationDocument/index.js +4 -10
  41. package/tsconfig.json +3 -0
  42. package/tsconfig.prod.json +3 -0
  43. package/utils/constants.d.ts +1 -2
  44. package/utils/constants.js +4 -3
  45. package/utils/error.d.ts +6 -5
  46. package/utils/error.js +7 -6
  47. package/utils/index.d.ts +2 -0
  48. package/utils/index.js +12 -1
  49. package/utils/types.d.ts +8 -39
  50. package/webpack.config.cjs +45 -2
  51. package/client/liveness/methods/livenessDetection/Service.d.ts +0 -28
  52. package/client/liveness/methods/livenessDetection/Service.js +0 -138
  53. package/client/liveness/methods/livenessDetection/index.d.ts +0 -23
  54. package/client/liveness/methods/livenessDetection/index.js +0 -58
  55. package/server/liveness/methods/livenessDetection/Service.d.ts +0 -6
  56. package/server/liveness/methods/livenessDetection/Service.js +0 -20
  57. package/server/liveness/methods/livenessDetection/index.d.ts +0 -13
  58. package/server/liveness/methods/livenessDetection/index.js +0 -50
  59. package/utils/websocket.d.ts +0 -18
  60. package/utils/websocket.js +0 -62
@@ -2,20 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiLivenessSessionService = void 0;
4
4
  const AbstractService_1 = require("./AbstractService");
5
- const constants_1 = require("../utils/constants");
5
+ const index_1 = require("../utils/index");
6
6
  class ApiLivenessSessionService extends AbstractService_1.AbstractService {
7
- get baseLivenessUrl() {
8
- var _a;
9
- return (_a = this.options.customApiUrl) !== null && _a !== void 0 ? _a : constants_1.LIVENESS_API_URL;
10
- }
11
- // O liveness v2 nao fica atras do API Gateway, entao o
12
- // x-endpoint-api-userinfo precisa ir explicito: e' ele que o backend le
13
- // para autorizar (ver api/deps.py, viewer_user_validation).
7
+ // Sem baseUrl proprio: herda o API_GATEWAY_URL do AbstractService, porque a
8
+ // v2 passa pelo gateway como o resto da API. Para falar direto com o Cloud
9
+ // Run - contornando o gateway - basta passar customApiUrl com
10
+ // LIVENESS_API_URL.
11
+ //
12
+ // Os paths da v2 estao no gateway com security: [], entao o ESPv2 repassa
13
+ // sem validar e sem popular o x-endpoint-api-userinfo. Por isso ele vai
14
+ // explicito: e' o primeiro header que o backend le (ver api/deps.py,
15
+ // resolve_request_token).
16
+ //
17
+ // Chave de API fica de fora: o backend da precedencia ao userinfo e tentaria
18
+ // valida-la como JWT. Ela segue em x-api-key, montado no AbstractService.
14
19
  livenessRequest() {
15
- var _a;
20
+ const token = this.options.token;
21
+ const isApiKey = Boolean(this.options.apiKey) || (0, index_1.looksLikeApiToken)(token);
16
22
  return this.request({
17
- baseUrl: this.baseLivenessUrl,
18
- extraHeaders: { 'x-endpoint-api-userinfo': (_a = this.options.token) !== null && _a !== void 0 ? _a : '' },
23
+ extraHeaders: isApiKey ? undefined : { 'x-endpoint-api-userinfo': token !== null && token !== void 0 ? token : '' },
19
24
  });
20
25
  }
21
26
  async createSession(customerRequestId) {
@@ -26,5 +31,9 @@ class ApiLivenessSessionService extends AbstractService_1.AbstractService {
26
31
  const response = await this.livenessRequest().get(`/api/v2/liveness/session/${sessionId}`, { params: this.options.track ? { track: this.options.track } : undefined });
27
32
  return response.data;
28
33
  }
34
+ async estimateAge(sessionId, customerRequestId) {
35
+ const response = await this.livenessRequest().post('/api/v2/age/estimate', { sessionId, track: this.options.track, customerRequestId });
36
+ return response.data;
37
+ }
29
38
  }
30
39
  exports.ApiLivenessSessionService = ApiLivenessSessionService;
package/browser/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("SantoiDSDK",[],t):"object"==typeof exports?exports.SantoiDSDK=t():e.SantoiDSDK=t()}(this,(()=>(()=>{var e={373:function(e,t,s){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractService=void 0;const o=r(s(218)),n=s(661);t.AbstractService=class{constructor(e,t){this.options=e,this.serviceOptions=t}request(e){var t,s,{contentType:r="application/json",authToken:i=this.options.token,baseUrl:a=(null!==(t=this.options.customApiUrl)&&void 0!==t?t:n.API_GATEWAY_URL),extraHeaders:c}=void 0===e?{}:e;const l={baseURL:a,headers:Object.assign({"Content-Type":r,Authorization:`Bearer ${i}`},c)};let u=this.options.domain;if(!this.options.domain&&this.options.token){const e=this.serviceOptions.tryDecodeJwt(this.options.token);u=null===(s=null==e?void 0:e.claims)||void 0===s?void 0:s.domain}return l.headers&&(u&&(l.headers.Domain=u),this.options.useBillingAccounts&&(l.headers.clientCredentials=!0)),o.default.create(l)}}},151:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiAsyncService=void 0;const r=s(373);class o extends r.AbstractService{constructor(e,...t){super(...t),this.resultsRoute=e.resultsRoute}async get(e){return(await this.request().get(`/api/v1/tracks/${this.options.track}/${this.resultsRoute}/`+e)).data}}t.ApiAsyncService=o},748:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiFaceMatchService=void 0;const r=s(151),o=s(951);class n extends r.ApiAsyncService{constructor(...e){super({resultsRoute:"face-async"},...e)}async faceMatch(e,t,s){return await(0,o.retryAsyncFunctionXTimes)((async()=>{const r=new this.serviceOptions.FormDataClass;return r.append("track",this.options.track),r.append("deliveryFront","true"),r.append("sensitive_data_compliance","true"),r.append("imageFile1",e,"imageFile1.jpg"),t&&r.append("imageFile2",t,"imageFile2.jpg"),s&&r.append("customerRequestId",s),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/face-match-async",r)).data}))}async get(...e){return await super.get(...e)}}t.ApiFaceMatchService=n},275:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiLivenessSessionService=void 0;const r=s(373),o=s(661);class n extends r.AbstractService{get baseLivenessUrl(){var e;return null!==(e=this.options.customApiUrl)&&void 0!==e?e:o.LIVENESS_API_URL}livenessRequest(){var e;return this.request({baseUrl:this.baseLivenessUrl,extraHeaders:{"x-endpoint-api-userinfo":null!==(e=this.options.token)&&void 0!==e?e:""}})}async createSession(e){return(await this.livenessRequest().post("/api/v2/liveness/session",{track:this.options.track,customerRequestId:e})).data}async getSessionResults(e){return(await this.livenessRequest().get(`/api/v2/liveness/session/${e}`,{params:this.options.track?{track:this.options.track}:void 0})).data}}t.ApiLivenessSessionService=n},926:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiOcrService=void 0;const r=s(151),o=s(951);class n extends r.ApiAsyncService{constructor(...e){super({resultsRoute:"ocr-async"},...e)}async extract(e,t){return await(0,o.retryAsyncFunctionXTimes)((async()=>{const s=new this.serviceOptions.FormDataClass;return s.append("imageFile",e,"imageFile.jpg"),s.append("track",this.options.track),s.append("template",this.options.template),s.append("customerRequestId",t),s.append("deliveryFront","true"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/ocr-async/ocr",s)).data}))}}t.ApiOcrService=n},456:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiTypificationService=void 0;const r=s(151),o=s(951);class n extends r.ApiAsyncService{constructor(...e){super({resultsRoute:"typification-async"},...e)}async predict(e,t){return await(0,o.retryAsyncFunctionXTimes)((async()=>{const s=new this.serviceOptions.FormDataClass;return s.append("imageFile",e,"imageFile.jpg"),s.append("track",this.options.track),s.append("customerRequestId",t),s.append("deliveryFront","true"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/typification-async/predict",s)).data}))}}t.ApiTypificationService=n},135:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseCoreService=void 0;const r=s(551),o=s(620);t.BaseCoreService=class{constructor(e){this.results={status:null,results:null,loading:!1,error:null},this.cameraIsActive=!1,this.cameraIsSetup=!1,this.options=e}async initialize(e){var t;e?this.startProcessing(e):(null!==(t=this.options.startTheCameraImmediately)&&void 0!==t?t:void 0===this.options.startTheCameraImmediately)&&await this.startCamera()}async updateResults(e){var t,s;this.results=Object.assign(Object.assign({},this.results),e),await(null===(s=(t=this.options).onUpdate)||void 0===s?void 0:s.call(t,this.results))}getVideoStream(){var e;return null===(e=this.frameGetControls)||void 0===e?void 0:e.videoStream}async setupCamera(){this.frameGetControls=await(0,o.getDefaultFrameControls)(),this.cameraIsSetup=!0}async startCamera(e){var t,s,o,n,i,a;try{if(this.cameraIsActive)throw new r.SDKError({message:"The camera has already been initialized",code:r.ECameraErrorCodes.ALREADY_STARTED,fatal:!1});if(this.results.loading)throw new r.SDKError({message:"Typification processing has already started",code:r.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.cameraIsSetup||await this.setupCamera(),this.frameGetControls.videoStream=await(null===(s=(t=this.frameGetControls).startGettingFrames)||void 0===s?void 0:s.call(t,e)),await(null===(n=(o=this.options).onCameraStart)||void 0===n?void 0:n.call(o,{videoStream:this.getVideoStream()})),this.cameraIsActive=!0}catch(e){const t=e instanceof r.SDKError?e:new r.SDKError({message:"Camera initialization error",code:r.ECameraErrorCodes.INITIALIZATION_ERROR,fatal:!1,details:e});await(null===(a=(i=this.options).onError)||void 0===a?void 0:a.call(i,t))}}async stopCamera(){var e,t,s,o,n,i;try{if(!this.cameraIsActive)throw new r.SDKError({message:"Camera not initialized",code:r.ECameraErrorCodes.NOT_INITIALIZED,fatal:!1});await(null===(t=(e=this.frameGetControls).stopGettingFrames)||void 0===t?void 0:t.call(e)),await(null===(o=(s=this.options).onCameraStop)||void 0===o?void 0:o.call(s)),this.cameraIsActive=!1}catch(e){const t=e instanceof r.SDKError?e:new r.SDKError({message:"Error during camera shutdown",code:r.ECameraErrorCodes.SHUTDOWN_ERROR,fatal:!1,details:e});await(null===(i=(n=this.options).onError)||void 0===i?void 0:i.call(n,t))}}async captureImage({startProcessing:e=!0}={}){var t,s;const o=await(null===(s=(t=this.frameGetControls).getNextFrame)||void 0===s?void 0:s.call(t));if(o)return e&&(await this.stopCamera(),await this.startProcessing(o)),o;throw new r.SDKError({message:"Cannot capture image",code:r.ECameraErrorCodes.CANNOT_CAPTURE_IMAGE,fatal:!1})}async waitForResults(e){let t=!1;return await new Promise(((s,r)=>{const o=setInterval((async()=>{var n,i,a,c;try{null===(i=(n=this.options).onClearInterval)||void 0===i||i.call(n,o);const r=await this.service.get(e);if("validation"===(null==r?void 0:r.status)&&!t)return await(null===(c=(a=this.options).onValidationRequested)||void 0===c?void 0:c.call(a,{track:this.options.track,requestId:r.id})),void(t=!0);if("error"===(null==r?void 0:r.status))throw new Error("Não foi possível processar os resultados do Upload de Documentos");if("processed"===(null==r?void 0:r.status)&&r.fileURL){const e=await fetch(r.fileURL),t=await e.json();t&&(clearInterval(o),s(t))}}catch(e){clearInterval(o),r(e)}}),5e3)}))}}},474:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceMatchService=void 0;const r=s(877),o=s(551),n=s(616),i=s(748),a=s(135);class c extends a.BaseCoreService{constructor(e){super(e),this.selectedFile1=void 0,this.selectedFile2=void 0,this.service=new i.ApiFaceMatchService(e,{FormDataClass:FormData,tryDecodeJwt:n.tryDecodeJwt})}async initialize(e,t){var s;e?this.startProcessing(e,t):(null!==(s=this.options.startTheCameraImmediately)&&void 0!==s?s:void 0===this.options.startTheCameraImmediately)&&await this.startCamera()}async captureFirstImage({startProcessing:e=!0}={}){const t=await super.captureImage({startProcessing:!1});return this.selectedFile1=t,e&&(await this.stopCamera(),await this.startProcessing(this.selectedFile1)),t}async captureSecondImage({startProcessing:e=!0}={}){if(!this.selectedFile1)throw new o.SDKError({message:"Select the first image before selecting the second",code:o.EFaceMatchErrorCodes.FIRST_IMAGE_NOT_SELECTED,fatal:!1});const t=await super.captureImage({startProcessing:!1});return this.selectedFile2=t,e&&(await this.stopCamera(),await this.startProcessing(this.selectedFile1,this.selectedFile2)),t}async startProcessing(e,t){var s,n,i,a,c,l,u;try{if(this.cameraIsActive)throw new o.SDKError({message:"Cannot start because the camera is running",code:o.ECameraErrorCodes.IS_RUNNING,fatal:!1});if(null===(s=this.results)||void 0===s?void 0:s.loading)throw new o.SDKError({message:"Processing has already started",code:o.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.updateResults({status:null,results:null,loading:!0,error:null});const{requestId:l}=await this.service.faceMatch(e,t,`sdk-ocr-${(0,r.v4)()}`),u=await this.waitForResultsFaceMatch(l);this.updateResults({status:"success",results:u,loading:!1,error:null}),null===(i=(n=this.options).onSuccess)||void 0===i||i.call(n,u),null===(c=(a=this.options).onEnd)||void 0===c||c.call(a)}catch(e){const t=e instanceof o.SDKError?e:new o.SDKError({message:"Error during document upload/analysis",code:o.EProcessingErrorCodes.PROCESSING_ERROR,fatal:!1,details:e});await(null===(u=(l=this.options).onError)||void 0===u?void 0:u.call(l,t)),this.updateResults({status:"error",results:null,loading:!1,error:t})}}async waitForResultsFaceMatch(e){return await new Promise(((t,s)=>{const r=setInterval((async()=>{var o,n,i,a;try{null===(n=(o=this.options).onClearInterval)||void 0===n||n.call(o,r);const s=await this.service.get(e);if("error"===(null==s?void 0:s.status)||"error_connector"===(null==s?void 0:s.status))throw new Error("Não foi possível processar os resultados do FaceMatch");if("processed"===(null==s?void 0:s.status)&&s.fileURL){const e=await fetch(s.fileURL);let o=await e.json();o=Object.assign(Object.assign({},o),{fileImage1:null!==(i=s.fileImage1)&&void 0!==i?i:"",fileImage2:null!==(a=s.fileImage2)&&void 0!==a?a:""}),o&&(clearInterval(r),t(o))}}catch(e){clearInterval(r),s(new Error(e))}}),5e3)}))}}t.FaceMatchService=c},927:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.faceMatch=void 0;const r=s(551),o=s(474);t.faceMatch=async function(e,t,s){var n,i;try{const r=new o.FaceMatchService(e);return await r.initialize(t,s),await(null===(i=(n=r.options).onStart)||void 0===i?void 0:i.call(n,{videoStream:r.getVideoStream()})),{startCamera:async(...e)=>{await r.startCamera(...e)},stopCamera:async()=>{await r.stopCamera()},captureFirstImage:async(...e)=>await r.captureFirstImage(...e),captureSecondImage:async(...e)=>await r.captureSecondImage(...e),getVideoStream:()=>r.getVideoStream(),sendFiles:async(...e)=>{await r.startProcessing(...e)}}}catch(e){throw new r.SDKError({message:"Error while starting SDK",code:r.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},577:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OcrService=void 0;const r=s(877),o=s(551),n=s(616),i=s(926),a=s(135);class c extends a.BaseCoreService{constructor(e){super(e),this.service=new i.ApiOcrService(e,{FormDataClass:FormData,tryDecodeJwt:n.tryDecodeJwt})}async startProcessing(e){var t,s,n,i,a,c,l;try{if(this.cameraIsActive)throw new o.SDKError({message:"Cannot start because the camera is running",code:o.ECameraErrorCodes.IS_RUNNING,fatal:!1});if(null===(t=this.results)||void 0===t?void 0:t.loading)throw new o.SDKError({message:"Processing has already started",code:o.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.updateResults({status:null,results:null,loading:!0,error:null});const{requestId:c}=await this.service.extract(e,`sdk-ocr-${(0,r.v4)()}`),l=await this.waitForResults(c);this.updateResults({status:"success",results:l,loading:!1,error:null}),null===(n=(s=this.options).onSuccess)||void 0===n||n.call(s,l),null===(a=(i=this.options).onEnd)||void 0===a||a.call(i)}catch(e){const t=e instanceof o.SDKError?e:new o.SDKError({message:"Error during document upload/analysis",code:o.EProcessingErrorCodes.PROCESSING_ERROR,fatal:!1,details:e});await(null===(l=(c=this.options).onError)||void 0===l?void 0:l.call(c,t)),this.updateResults({status:"error",results:null,loading:!1,error:t})}}}t.OcrService=c},168:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ocr=void 0;const r=s(551),o=s(577);t.ocr=async function(e,t){var s,n;try{const r=new o.OcrService(e);return await r.initialize(t),await(null===(n=(s=r.options).onStart)||void 0===n?void 0:n.call(s,{videoStream:r.getVideoStream()})),{startCamera:async(...e)=>{await r.startCamera(...e)},stopCamera:async()=>{await r.stopCamera()},captureImage:async()=>await r.captureImage(),getVideoStream:()=>r.getVideoStream(),sendFile:async e=>{await r.startProcessing(e)}}}catch(e){throw new r.SDKError({message:"Error while starting SDK",code:r.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},983:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypificationService=void 0;const r=s(877),o=s(551),n=s(616),i=s(456),a=s(135);class c extends a.BaseCoreService{constructor(e){super(e),this.service=new i.ApiTypificationService(e,{FormDataClass:FormData,tryDecodeJwt:n.tryDecodeJwt})}async startProcessing(e){var t,s,n,i,a,c,l;try{if(this.cameraIsActive)throw new o.SDKError({message:"Cannot start because the camera is running",code:o.ECameraErrorCodes.IS_RUNNING,fatal:!1});if(null===(t=this.results)||void 0===t?void 0:t.loading)throw new o.SDKError({message:"Processing has already started",code:o.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.updateResults({status:null,results:null,loading:!0,error:null});const{requestId:c}=await this.service.predict(e,`sdk-typification-${(0,r.v4)()}`),l=await this.waitForResults(c);this.updateResults({status:"success",results:l,loading:!1,error:null}),null===(n=(s=this.options).onSuccess)||void 0===n||n.call(s,l),null===(a=(i=this.options).onEnd)||void 0===a||a.call(i)}catch(e){const t=e instanceof o.SDKError?e:new o.SDKError({message:"Error during document upload/analysis",code:o.EProcessingErrorCodes.PROCESSING_ERROR,fatal:!1,details:e});await(null===(l=(c=this.options).onError)||void 0===l?void 0:l.call(c,t)),this.updateResults({status:"error",results:null,loading:!1,error:t})}}}t.TypificationService=c},344:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typification=void 0;const r=s(551),o=s(983);t.typification=async function(e,t){var s,n;try{const r=new o.TypificationService(e);return await r.initialize(t),await(null===(n=(s=r.options).onStart)||void 0===n?void 0:n.call(s,{videoStream:r.getVideoStream()})),{startCamera:async(...e)=>{await r.startCamera(...e)},stopCamera:async()=>{await r.stopCamera()},captureImage:async()=>await r.captureImage(),getVideoStream:()=>r.getVideoStream(),sendFile:async e=>{await r.startProcessing(e)}}}catch(e){throw new r.SDKError({message:"Error while starting SDK",code:r.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},122:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertUploadIdentificationDocument=void 0;const r=s(661);t.insertUploadIdentificationDocument=function(e,t){var s,o,n;const i=t?document.querySelector(t):document.body;if(!i)throw new Error("Cannot find target element");const a=document.createElement("iframe");a.style.overflow="hidden",a.style.border="0",a.setAttribute("width",null!==(s=e.width)&&void 0!==s?s:"100%"),a.setAttribute("height",null!==(o=e.height)&&void 0!==o?o:"550px"),a.setAttribute("scrolling","no"),a.setAttribute("allow","camera; microphone; clipboard-read; clipboard-write");let c=`${null!==(n=e.customAppUrl)&&void 0!==n?n:r.APPLICATION_URL}/share/domains/${e.domain}/tracks/${e.track}/flow/${e.flow}/embedded`;e.token&&(c+=`?accessToken=${e.token}`),a.setAttribute("src",c),i.appendChild(a)}},42:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LivenessDetectionService=void 0;const r=s(551),o=s(620),n=s(951),i=s(661);t.LivenessDetectionService=class{constructor(e,t){this.frameGetControls={},this.currentStep="front",this.pauseSendingFramesToWebSocket=!1,this.websocketClosedBySDK=!1,this.validationSuccess=!1,this.canSendNextBytes=!0,this.endCalled=!1,this.cancelSendingFramesToWebsocket=void 0,this.successFrames={front:void 0,right:void 0,left:void 0,up:void 0,bottom:void 0},this.options=e,this.abstractWebSocket=t}async onWebSocketMessage(e){var t,s,o,i,a,c,l,u;const d=e.data,p=JSON.parse(d);return(null==p?void 0:p.validation)&&this.currentStep&&(this.successFrames[this.currentStep]=this.lastSentBytes),(null==p?void 0:p.next_step)&&!p.error&&(this.currentStep=p.next_step,await(null===(s=(t=this.options).onNextStep)||void 0===s?void 0:s.call(t,p.next_step)),await(null===(i=(o=this.options)[`on${(0,n.capitalizeFirstLetter)(p.next_step)}Step`])||void 0===i?void 0:i.call(o))),p&&(this.canSendNextBytes=!!(null==p?void 0:p.can_send_next_bytes)),(null==p?void 0:p.success)&&(this.successFrames.bottom=this.lastSentBytes,this.validationSuccess=!0,await(null===(c=(a=this.options).onSuccess)||void 0===c?void 0:c.call(a,{livenessId:p.livenessId,successFrames:this.successFrames})),await this.stopLivenessDetection()),(null==p?void 0:p.error)&&await(null===(u=(l=this.options).onError)||void 0===u?void 0:u.call(l,new r.SDKError({message:"Wrong position",code:r.ELivenessDetectionErrorCodes.WRONG_POSITION,fatal:!1}))),p}async stopLivenessDetection(){var e,t,s,r,o;await(0,n.waitFor)((()=>!!this.cancelSendingFramesToWebsocket)),null===(e=this.cancelSendingFramesToWebsocket)||void 0===e||e.call(this),await(null===(s=(t=this.frameGetControls).stopGettingFrames)||void 0===s?void 0:s.call(t)),this.abstractWebSocket.disconnectFromWebSocket(),this.endCalled||(await(null===(o=(r=this.options).onEnd)||void 0===o?void 0:o.call(r)),this.endCalled=!0),this.websocketClosedBySDK=!0}async sendFramesToWebSocket(){var e,t;try{if(this.canSendNextBytes&&!this.pauseSendingFramesToWebSocket){const s=await(null===(t=(e=this.frameGetControls).getNextFrame)||void 0===t?void 0:t.call(e));s&&(this.abstractWebSocket.send(s),this.lastSentBytes=s,this.canSendNextBytes=!1)}}catch(e){await this.stopLivenessDetection()}}async onConnect(){var e,t,s,r,a,c,l,u,d,p;try{if(this.options.getNextFrame)this.frameGetControls.startGettingFrames=this.options.startGettingFrames,this.frameGetControls.getNextFrame=this.options.getNextFrame,this.frameGetControls.stopGettingFrames=this.options.stopGettingFrames,this.frameGetControls.videoStream=await(null===(t=(e=this.options).startGettingFrames)||void 0===t?void 0:t.call(e));else{const e=await(0,o.getDefaultFrameControls)();this.frameGetControls.startGettingFrames=e.startGettingFrames,this.frameGetControls.getNextFrame=e.getNextFrame,this.frameGetControls.stopGettingFrames=e.stopGettingFrames,this.frameGetControls.videoStream=await(null===(r=(s=this.frameGetControls).startGettingFrames)||void 0===r?void 0:r.call(s))}await(null===(c=(a=this.options).onStart)||void 0===c?void 0:c.call(a,{videoStream:this.getVideoStream()})),await(null===(u=(l=this.options).onNextStep)||void 0===u?void 0:u.call(l,"front")),await(null===(p=(d=this.options).onFrontStep)||void 0===p?void 0:p.call(d)),this.cancelSendingFramesToWebsocket=(0,n.callAsyncFunctionEveryXSeconds)((async()=>{await this.sendFramesToWebSocket()}),i.SEND_FRAMES_INTERVAL_MS)}catch(e){await this.onError()}}async onError(){var e,t;this.validationSuccess||(await(null===(t=(e=this.options).onError)||void 0===t?void 0:t.call(e,new r.SDKError({message:"Internal Error",code:r.EDefaultErrorCodes.INTERNAL_ERROR,fatal:!1}))),await this.stopLivenessDetection())}resumeGettingFrames(){this.pauseSendingFramesToWebSocket=!1}pauseGettingFrames(){this.pauseSendingFramesToWebSocket=!0}getVideoStream(){var e;return null===(e=this.frameGetControls)||void 0===e?void 0:e.videoStream}}},234:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.livenessDetection=void 0;const r=s(42),o=s(551),n=s(706),i=s(616);t.livenessDetection=function(e){var t;try{const s=new n.AbstractWebSocket({WebSocketClass:null!==(t=e.CustomWebSocketClass)&&void 0!==t?t:WebSocket,decodeJwt:i.decodeJwt},e);s.startConnection();const o=new r.LivenessDetectionService(e,s);return s.waitForWebSocketConnection().then((()=>{o.onConnect()})).catch((()=>{o.onError()})),s.addListener("message",(e=>{o.onWebSocketMessage(e)})),s.addListener("error",(()=>{o.onError()})),s.addListener("close",(()=>{o.onError()})),{getVideoStream:()=>o.getVideoStream(),stopLivenessDetection:async()=>{await o.stopLivenessDetection()},resumeGettingFrames:()=>{o.resumeGettingFrames()},pauseGettingFrames:()=>{o.pauseGettingFrames()}}}catch(e){throw new o.SDKError({message:"Error while starting SDK",code:o.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0})}}},460:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LivenessSessionService=void 0;const r=s(275),o=s(551),n=s(951),i=s(661),a=s(616);t.LivenessSessionService=class{constructor(e){this.sessionId=null,this.options=e,this.service=new r.ApiLivenessSessionService(e,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}async createSession(){var e,t;try{const s=await this.service.createSession(this.options.customerRequestId);return this.sessionId=s.SessionId,await(null===(t=(e=this.options).onSessionCreated)||void 0===t?void 0:t.call(e,s.SessionId)),s.SessionId}catch(e){throw await this.fail("Error while creating liveness session",e)}}async getResults(e=this.sessionId){var t,s;if(!e)throw await this.fail("There is no liveness session to fetch results from");try{let r=null;for(let t=0;t<i.LIVENESS_RESULT_MAX_ATTEMPTS&&(r=await this.service.getSessionResults(e),i.LIVENESS_PENDING_STATUSES.includes(r.Status));t++)await(0,n.wait)(i.LIVENESS_RESULT_RETRY_DELAY_MS);return await(null===(s=(t=this.options).onResults)||void 0===s?void 0:s.call(t,r)),r}catch(e){throw await this.fail("Error while fetching liveness session results",e)}}async fail(e,t){var s,r;const n=new o.SDKError({message:e,code:o.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:t});return await(null===(r=(s=this.options).onError)||void 0===r?void 0:r.call(s,n)),n}}},923:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.livenessSession=void 0;const r=s(460),o=s(551);t.livenessSession=function(e){try{const t=new r.LivenessSessionService(e);return{createSession:async()=>await t.createSession(),getResults:async(...e)=>await t.getResults(...e),getSessionId:()=>t.sessionId}}catch(e){throw new o.SDKError({message:"Error while starting SDK",code:o.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},171:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UploadIdentificationDocumentService=void 0;const r=s(456),o=s(748),n=s(551),i=s(877),a=s(616);t.UploadIdentificationDocumentService=class{constructor(e,t){this.results={uploadedDocument:null,typification:{status:null,results:null,loading:!1,error:null},liveness:{status:null,results:null,loading:!1,error:null},faceMatch:{status:null,results:null,loading:!1,error:null}},this.options=e,this.internalOptions=t,this.typificationService=new r.ApiTypificationService(e,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt}),this.faceMatchService=new o.ApiFaceMatchService(e,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}getResults(){return this.results}async updateResults(e){var t,s,r,o,n,i;this.results=Object.assign(Object.assign({},this.results),e),await(null===(s=(t=this.options).onUpdate)||void 0===s?void 0:s.call(t,this.results)),e.faceMatch||this.tryStartFaceMatch(),Object.entries(this.results).every((([e,t])=>"uploadedDocument"===e||!!t.results))&&(await(null===(o=(r=this.options).onSuccess)||void 0===o?void 0:o.call(r,this.results)),await(null===(i=(n=this.options).onEnd)||void 0===i?void 0:i.call(n)))}updateUploadedDocument(e){this.results.uploadedDocument=e}async waitForResults(e){let t=!1;return await new Promise(((s,r)=>{const o=setInterval((async()=>{var n,i,a,c;try{null===(i=(n=this.options).onClearInterval)||void 0===i||i.call(n,o);const l=await this.typificationService.get(e);if("validation"!==(null==l?void 0:l.status)||t){if("error"===(null==l?void 0:l.status))clearInterval(o),r(new Error("Não foi possível processar os resultados do Upload de Documentos"));else if("processed"===(null==l?void 0:l.status)&&l.fileURL){const e=await fetch(l.fileURL),t=await e.json();t&&(clearInterval(o),s(t))}}else await(null===(c=(a=this.options).onValidationRequested)||void 0===c?void 0:c.call(a,{track:this.options.track,requestId:l.id})),t=!0}catch(e){clearInterval(o),r(new Error(e))}}),5e3)}))}async waitForResultsFaceMatch(e){return await new Promise(((t,s)=>{const r=setInterval((async()=>{var o,n,i,a;try{null===(n=(o=this.options).onClearInterval)||void 0===n||n.call(o,r);const c=await this.faceMatchService.get(e);if("error"===(null==c?void 0:c.status)||"error_connector"===(null==c?void 0:c.status))clearInterval(r),s(new Error("Não foi possível processar os resultados do FaceMatch"));else if("processed"===(null==c?void 0:c.status)&&c.fileURL){const e=await fetch(c.fileURL);let s=await e.json();s=Object.assign(Object.assign({},s),{fileImage1:null!==(i=c.fileImage1)&&void 0!==i?i:"",fileImage2:null!==(a=c.fileImage2)&&void 0!==a?a:""}),s&&(clearInterval(r),t(s))}}catch(e){clearInterval(r),s(new Error(e))}}),5e3)}))}async startDocumentUpload(e){var t,s;try{this.updateResults({typification:{status:null,results:null,loading:!0,error:null}}),this.updateUploadedDocument(e);const{requestId:t}=await this.typificationService.predict(e,`sdk-typification-${(0,i.v4)()}`),s=await this.waitForResults(t);this.updateResults({typification:{status:"success",results:s,loading:!1,error:null}})}catch(e){const r=new n.SDKError({message:"Error during document upload/analysis",code:n.EUploadIdentificationDocumentErrorCodes.DOCUMENT_ANALYSIS_ERROR,fatal:!1,details:e});await(null===(s=(t=this.options).onError)||void 0===s?void 0:s.call(t,r)),this.updateResults({typification:{status:"error",results:null,loading:!1,error:r}})}}startLivenessDetection(e){var t,s;const r=Object.assign(Object.assign({},this.options.livenessDetectionOptions),e);this.updateResults({liveness:{results:null,status:null,loading:!0,error:null}});try{return this.internalOptions.livenessDetection(Object.assign(Object.assign({domain:this.options.domain,customId:this.options.customId,customWebSocketUrl:this.options.customWebSocketUrl,token:this.options.token,track:this.options.track},r),{onSuccess:async e=>{var t;await(null===(t=null==r?void 0:r.onSuccess)||void 0===t?void 0:t.call(r,e)),this.updateResults({liveness:{status:"success",results:e,loading:!1,error:null}})},onError:async e=>{var t,s,o;await(null===(t=null==r?void 0:r.onError)||void 0===t?void 0:t.call(r,e)),await(null===(o=(s=this.options).onError)||void 0===o?void 0:o.call(s,e)),this.updateResults({liveness:{status:"error",results:null,loading:"wrong-position"===(null==e?void 0:e.code),error:null!=e?e:null}})}}))}catch(e){const r=new n.SDKError({message:"Error during liveness detection",code:n.EUploadIdentificationDocumentErrorCodes.LIVENESS_DETECTION_ERROR,fatal:!1,details:e});null===(s=(t=this.options).onError)||void 0===s||s.call(t,r),this.updateResults({liveness:{status:"error",results:null,loading:!1,error:r}})}}async startFaceMatch(e,t){var s,r;try{this.updateResults({faceMatch:{status:null,results:null,loading:!0,error:null}});const{requestId:s}=await this.faceMatchService.faceMatch(e,t,`sdk-facematch-${(0,i.v4)()}`),r=await this.waitForResultsFaceMatch(s);this.updateResults({faceMatch:{results:r,status:"success",loading:!1,error:null}})}catch(e){const t=new n.SDKError({message:"Error when comparing the face with the document",code:n.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_ERROR,fatal:!1,details:e});await(null===(r=(s=this.options).onError)||void 0===r?void 0:r.call(s,t)),this.updateResults({faceMatch:{results:null,status:"error",loading:!1,error:t}})}}async tryStartFaceMatch(){var e,t,s;!this.results.uploadedDocument||!(null===(e=this.results.liveness.results)||void 0===e?void 0:e.successFrames.front)||this.results.faceMatch.loading||this.results.liveness.loading||this.results.typification.loading?await(null===(s=(t=this.options).onError)||void 0===s?void 0:s.call(t,new n.SDKError({message:"Unavailable faces",code:n.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_UNAVAILABLE_FACES_ERROR,fatal:!1}))):await this.startFaceMatch(this.results.uploadedDocument,this.results.liveness.results.successFrames.front)}startAll(e,t){this.startDocumentUpload(e),this.startLivenessDetection(t)}}},604:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uploadIdentificationDocument=void 0;const r=s(171),o=s(234);t.uploadIdentificationDocument=function(e){const t=new r.UploadIdentificationDocumentService(e,{livenessDetection:o.livenessDetection});return{startDocumentUpload:async(...e)=>{await t.startDocumentUpload(...e)},startLivenessDetection:(...e)=>t.startLivenessDetection(...e),startFaceComparison:async(...e)=>{await t.tryStartFaceMatch(...e)},startAll:(...e)=>{t.startAll(...e)},getResults:(...e)=>t.getResults(...e)}}},620:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDefaultFrameControls=void 0,t.getDefaultFrameControls=async function(){let e,t,s,r;return{startGettingFrames:async function(o){var n;return e&&t&&s||(e=await navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:null!==(n=null==o?void 0:o.facingMode)&&void 0!==n?n:"user"}}),t=document.createElement("video"),t.setAttribute("autoplay","true"),t.style.transform="scale(-1, 1)",t.style.position="absolute",t.style.left="-99999px",document.body.appendChild(t),t.srcObject=e,s=document.createElement("canvas"),r=s.getContext("2d")),e},getNextFrame:async function(){if(s&&t)return s.width=t.videoWidth,s.height=t.videoHeight,null==r||r.drawImage(t,0,0,s.width,s.height),await new Promise(((e,t)=>{s?s.toBlob((t=>{e(t)})):e(null)}));throw new Error("Cannot found video element")},stopGettingFrames:function(){t&&(document.body.removeChild(t),t=void 0),s&&(s=void 0),r&&(r=void 0),e&&(null==e||e.getTracks().forEach((e=>{e.stop()})),e=void 0)}}}},616:(e,t)=>{"use strict";function s(e){const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),s=decodeURIComponent(window.atob(t).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(s)}Object.defineProperty(t,"__esModule",{value:!0}),t.tryDecodeJwt=t.decodeJwt=void 0,t.decodeJwt=s,t.tryDecodeJwt=function(e){try{return s(e)}catch(e){return null}}},661:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LIVENESS_RESULT_RETRY_DELAY_MS=t.LIVENESS_RESULT_MAX_ATTEMPTS=t.LIVENESS_PENDING_STATUSES=t.DEFAULT_RETRY_TIME_STEP=t.DEFAULT_NUMBER_OF_RETRIES=t.SEND_FRAMES_INTERVAL_MS=t.APPLICATION_URL=t.API_GATEWAY_URL=t.WEBSOCKET_BASE_URL=t.LIVENESS_API_URL=void 0,t.LIVENESS_API_URL="https://liveness.santoid.com.br",t.WEBSOCKET_BASE_URL=`${t.LIVENESS_API_URL.replace("https://","wss://")}/api/v1/liveness/ws`,t.API_GATEWAY_URL="https://api.santoid.com.br",t.APPLICATION_URL="https://app.santoid.com.br",t.SEND_FRAMES_INTERVAL_MS=100,t.DEFAULT_NUMBER_OF_RETRIES=5,t.DEFAULT_RETRY_TIME_STEP=1e3,t.LIVENESS_PENDING_STATUSES=["CREATED","IN_PROGRESS"],t.LIVENESS_RESULT_MAX_ATTEMPTS=8,t.LIVENESS_RESULT_RETRY_DELAY_MS=1500},551:(e,t)=>{"use strict";var s,r,o,n,i,a;Object.defineProperty(t,"__esModule",{value:!0}),t.SDKError=t.EProcessingErrorCodes=t.ECameraErrorCodes=t.EFaceMatchErrorCodes=t.EUploadIdentificationDocumentErrorCodes=t.ELivenessDetectionErrorCodes=t.EDefaultErrorCodes=void 0,function(e){e.INITIALIZATION_ERROR="initialization-error",e.INTERNAL_ERROR="internal-error"}(s||(t.EDefaultErrorCodes=s={})),function(e){e.WRONG_POSITION="liveness-detection/wrong-position"}(r||(t.ELivenessDetectionErrorCodes=r={})),function(e){e.FACE_MATCH_ERROR="upload-identification-document/face-match-error",e.FACE_MATCH_UNAVAILABLE_FACES_ERROR="upload-identification-document/face-match-unavailable-faces-error",e.DOCUMENT_ANALYSIS_ERROR="upload-identification-document/document-analysis-error",e.LIVENESS_DETECTION_ERROR="upload-identification-document/liveness-detection-error"}(o||(t.EUploadIdentificationDocumentErrorCodes=o={})),function(e){e.FIRST_IMAGE_NOT_SELECTED="face-match/first-image-not-selected"}(n||(t.EFaceMatchErrorCodes=n={})),function(e){e.INITIALIZATION_ERROR="camera/initialization-error",e.IS_RUNNING="camera/is-running",e.ALREADY_STARTED="camera/already-started",e.NOT_INITIALIZED="camera/not-initialized",e.CANNOT_CAPTURE_IMAGE="camera/cannot-capture-image",e.SHUTDOWN_ERROR="camera/shutdown-error"}(i||(t.ECameraErrorCodes=i={})),function(e){e.PROCESSING_ERROR="processing/processing-error",e.ALREADY_STARTED="processing/already-started"}(a||(t.EProcessingErrorCodes=a={}));class c extends Error{constructor({message:e,code:t,fatal:s,details:r}){super(e),this.code=t,this.fatal=s,this.details=r}}t.SDKError=c},951:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.retryAsyncFunctionXTimes=t.callAsyncFunctionEveryXSeconds=t.waitFor=t.wait=t.capitalizeFirstLetter=void 0;const r=s(218),o=s(661);async function n(e){await new Promise((t=>{e()?t():setTimeout((()=>{n(e).then(t)}),500)}))}function i(e){var t;return e instanceof r.AxiosError&&(503===(null===(t=e.response)||void 0===t?void 0:t.status)||"Network Error"===e.message)}t.capitalizeFirstLetter=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.wait=async e=>{await new Promise((t=>{setTimeout(t,e)}))},t.waitFor=n,t.callAsyncFunctionEveryXSeconds=function e(t,s,r={stop:!1}){const o={timerEnd:!1};return setTimeout((()=>{o.timerEnd=!0}),s),t().then((async()=>{await n((()=>o.timerEnd)),r.stop||e(t,s,r)})),function(){r.stop=!0}},t.retryAsyncFunctionXTimes=async function e(s,r=i,n=o.DEFAULT_NUMBER_OF_RETRIES,a=1e3,c=o.DEFAULT_RETRY_TIME_STEP){try{return await s()}catch(o){if(r(o)&&n>0)return await(0,t.wait)(a),await e(s,r,n-1,a+c,c);throw o}}},706:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractWebSocket=void 0;const r=s(661);t.AbstractWebSocket=class{constructor(e,t){this.classOptions=e,this.sdkOptions=t}startConnection(){var e,t;const s=this.classOptions.decodeJwt(this.sdkOptions.token),o={x_endpoint_api_userinfo:this.sdkOptions.token,domain:null!==(e=this.sdkOptions.domain)&&void 0!==e?e:s.claims.domain,track:this.sdkOptions.track};this.sdkOptions.customId&&(o.customerRequestId=this.sdkOptions.customId),this.sdkOptions.useBillingAccounts&&(o.clientCredentials=!0);const n=Object.entries(o).map((e=>e.join("="))).join("&");this.websocket=new this.classOptions.WebSocketClass(`${null!==(t=this.sdkOptions.customWebSocketUrl)&&void 0!==t?t:r.WEBSOCKET_BASE_URL}?${n}`)}async waitForWebSocketConnection(){if(await new Promise((e=>{const t=setInterval((()=>{[3,1].includes(this.websocket.readyState)&&(clearInterval(t),e())}),5)})),3===this.websocket.readyState)throw new Error("Cannot connect to server")}disconnectFromWebSocket(){var e,t;[2,3].includes(this.websocket.readyState)||null===(t=(e=this.websocket).close)||void 0===t||t.call(e)}get readyState(){return this.websocket.readyState}addListener(e,t){var s,r;this.websocket.on?this.websocket.on(e,t):null===(r=(s=this.websocket).addEventListener)||void 0===r||r.call(s,e,t)}send(e){this.websocket.send(e)}}},877:(e,t,s)=>{var r=s(570),o=s(358),n=o;n.v1=r,n.v4=o,e.exports=n},327:e=>{for(var t=[],s=0;s<256;++s)t[s]=(s+256).toString(16).substr(1);e.exports=function(e,s){var r=s||0,o=t;return[o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]]].join("")}},217:e=>{var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(t){var s=new Uint8Array(16);e.exports=function(){return t(s),s}}else{var r=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),r[t]=e>>>((3&t)<<3)&255;return r}}},570:(e,t,s)=>{var r,o,n=s(217),i=s(327),a=0,c=0;e.exports=function(e,t,s){var l=t&&s||0,u=t||[],d=(e=e||{}).node||r,p=void 0!==e.clockseq?e.clockseq:o;if(null==d||null==p){var h=n();null==d&&(d=r=[1|h[0],h[1],h[2],h[3],h[4],h[5]]),null==p&&(p=o=16383&(h[6]<<8|h[7]))}var f=void 0!==e.msecs?e.msecs:(new Date).getTime(),m=void 0!==e.nsecs?e.nsecs:c+1,v=f-a+(m-c)/1e4;if(v<0&&void 0===e.clockseq&&(p=p+1&16383),(v<0||f>a)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=f,c=m,o=p;var E=(1e4*(268435455&(f+=122192928e5))+m)%4294967296;u[l++]=E>>>24&255,u[l++]=E>>>16&255,u[l++]=E>>>8&255,u[l++]=255&E;var S=f/4294967296*1e4&268435455;u[l++]=S>>>8&255,u[l++]=255&S,u[l++]=S>>>24&15|16,u[l++]=S>>>16&255,u[l++]=p>>>8|128,u[l++]=255&p;for(var w=0;w<6;++w)u[l+w]=d[w];return t||i(u)}},358:(e,t,s)=>{var r=s(217),o=s(327);e.exports=function(e,t,s){var n=t&&s||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var a=0;a<16;++a)t[n+a]=i[a];return t||o(i)}},218:(e,t,s)=>{"use strict";function r(e,t){return function(){return e.apply(t,arguments)}}const{toString:o}=Object.prototype,{getPrototypeOf:n}=Object,i=(a=Object.create(null),e=>{const t=o.call(e);return a[t]||(a[t]=t.slice(8,-1).toLowerCase())});var a;const c=e=>(e=e.toLowerCase(),t=>i(t)===e),l=e=>t=>typeof t===e,{isArray:u}=Array,d=l("undefined"),p=c("ArrayBuffer"),h=l("string"),f=l("function"),m=l("number"),v=e=>null!==e&&"object"==typeof e,E=e=>{if("object"!==i(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},S=c("Date"),w=c("File"),g=c("Blob"),y=c("FileList"),R=c("URLSearchParams");function b(e,t,{allOwnKeys:s=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),u(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=s?Object.getOwnPropertyNames(e):Object.keys(e),n=o.length;let i;for(r=0;r<n;r++)i=o[r],t.call(null,e[i],i,e)}}function A(e,t){t=t.toLowerCase();const s=Object.keys(e);let r,o=s.length;for(;o-- >0;)if(r=s[o],t===r.toLowerCase())return r;return null}const O="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:s.g,_=e=>!d(e)&&e!==O,C=(T="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>T&&e instanceof T);var T;const I=c("HTMLFormElement"),D=(({hasOwnProperty:e})=>(t,s)=>e.call(t,s))(Object.prototype),F=c("RegExp"),N=(e,t)=>{const s=Object.getOwnPropertyDescriptors(e),r={};b(s,((s,o)=>{let n;!1!==(n=t(s,o,e))&&(r[o]=n||s)})),Object.defineProperties(e,r)},L="abcdefghijklmnopqrstuvwxyz",P="0123456789",U={DIGIT:P,ALPHA:L,ALPHA_DIGIT:L+L.toUpperCase()+P},j=c("AsyncFunction");var k={isArray:u,isArrayBuffer:p,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||f(e.append)&&("formdata"===(t=i(e))||"object"===t&&f(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t},isString:h,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:v,isPlainObject:E,isUndefined:d,isDate:S,isFile:w,isBlob:g,isRegExp:F,isFunction:f,isStream:e=>v(e)&&f(e.pipe),isURLSearchParams:R,isTypedArray:C,isFileList:y,forEach:b,merge:function e(){const{caseless:t}=_(this)&&this||{},s={},r=(r,o)=>{const n=t&&A(s,o)||o;E(s[n])&&E(r)?s[n]=e(s[n],r):E(r)?s[n]=e({},r):u(r)?s[n]=r.slice():s[n]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&b(arguments[e],r);return s},extend:(e,t,s,{allOwnKeys:o}={})=>(b(t,((t,o)=>{s&&f(t)?e[o]=r(t,s):e[o]=t}),{allOwnKeys:o}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,s,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),s&&Object.assign(e.prototype,s)},toFlatObject:(e,t,s,r)=>{let o,i,a;const c={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==s&&n(e)}while(e&&(!s||s(e,t))&&e!==Object.prototype);return t},kindOf:i,kindOfTest:c,endsWith:(e,t,s)=>{e=String(e),(void 0===s||s>e.length)&&(s=e.length),s-=t.length;const r=e.indexOf(t,s);return-1!==r&&r===s},toArray:e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!m(t))return null;const s=new Array(t);for(;t-- >0;)s[t]=e[t];return s},forEachEntry:(e,t)=>{const s=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=s.next())&&!r.done;){const s=r.value;t.call(e,s[0],s[1])}},matchAll:(e,t)=>{let s;const r=[];for(;null!==(s=e.exec(t));)r.push(s);return r},isHTMLForm:I,hasOwnProperty:D,hasOwnProp:D,reduceDescriptors:N,freezeMethods:e=>{N(e,((t,s)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(s))return!1;const r=e[s];f(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+s+"'")}))}))},toObjectSet:(e,t)=>{const s={},r=e=>{e.forEach((e=>{s[e]=!0}))};return u(e)?r(e):r(String(e).split(t)),s},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,s){return t.toUpperCase()+s})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:A,global:O,isContextDefined:_,ALPHABET:U,generateString:(e=16,t=U.ALPHA_DIGIT)=>{let s="";const{length:r}=t;for(;e--;)s+=t[Math.random()*r|0];return s},isSpecCompliantForm:function(e){return!!(e&&f(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),s=(e,r)=>{if(v(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=u(e)?[]:{};return b(e,((e,t)=>{const n=s(e,r+1);!d(n)&&(o[t]=n)})),t[r]=void 0,o}}return e};return s(e,0)},isAsyncFn:j,isThenable:e=>e&&(v(e)||f(e))&&f(e.then)&&f(e.catch)};function x(e,t,s,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),s&&(this.config=s),r&&(this.request=r),o&&(this.response=o)}k.inherits(x,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:k.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const M=x.prototype,B={};function G(e){return k.isPlainObject(e)||k.isArray(e)}function K(e){return k.endsWith(e,"[]")?e.slice(0,-2):e}function q(e,t,s){return e?e.concat(t).map((function(e,t){return e=K(e),!s&&t?"["+e+"]":e})).join(s?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{B[e]={value:e}})),Object.defineProperties(x,B),Object.defineProperty(M,"isAxiosError",{value:!0}),x.from=(e,t,s,r,o,n)=>{const i=Object.create(M);return k.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),x.call(i,e.message,t,s,r,o),i.cause=e,i.name=e.name,n&&Object.assign(i,n),i};const W=k.toFlatObject(k,{},null,(function(e){return/^is[A-Z]/.test(e)}));function V(e,t,s){if(!k.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(s=k.toFlatObject(s,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!k.isUndefined(t[e])}))).metaTokens,o=s.visitor||l,n=s.dots,i=s.indexes,a=(s.Blob||"undefined"!=typeof Blob&&Blob)&&k.isSpecCompliantForm(t);if(!k.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(k.isDate(e))return e.toISOString();if(!a&&k.isBlob(e))throw new x("Blob is not supported. Use a Buffer instead.");return k.isArrayBuffer(e)||k.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,s,o){let a=e;if(e&&!o&&"object"==typeof e)if(k.endsWith(s,"{}"))s=r?s:s.slice(0,-2),e=JSON.stringify(e);else if(k.isArray(e)&&function(e){return k.isArray(e)&&!e.some(G)}(e)||(k.isFileList(e)||k.endsWith(s,"[]"))&&(a=k.toArray(e)))return s=K(s),a.forEach((function(e,r){!k.isUndefined(e)&&null!==e&&t.append(!0===i?q([s],r,n):null===i?s:s+"[]",c(e))})),!1;return!!G(e)||(t.append(q(o,s,n),c(e)),!1)}const u=[],d=Object.assign(W,{defaultVisitor:l,convertValue:c,isVisitable:G});if(!k.isObject(e))throw new TypeError("data must be an object");return function e(s,r){if(!k.isUndefined(s)){if(-1!==u.indexOf(s))throw Error("Circular reference detected in "+r.join("."));u.push(s),k.forEach(s,(function(s,n){!0===(!(k.isUndefined(s)||null===s)&&o.call(t,s,k.isString(n)?n.trim():n,r,d))&&e(s,r?r.concat(n):[n])})),u.pop()}}(e),t}function J(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function z(e,t){this._pairs=[],e&&V(e,this,t)}const H=z.prototype;function $(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Y(e,t,s){if(!t)return e;const r=s&&s.encode||$,o=s&&s.serialize;let n;if(n=o?o(t,s):k.isURLSearchParams(t)?t.toString():new z(t,s).toString(r),n){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}H.append=function(e,t){this._pairs.push([e,t])},H.toString=function(e){const t=e?function(t){return e.call(this,t,J)}:J;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var X=class{constructor(){this.handlers=[]}use(e,t,s){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!s&&s.synchronous,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){k.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:z,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};function ee(e){function t(e,s,r,o){let n=e[o++];const i=Number.isFinite(+n),a=o>=e.length;return n=!n&&k.isArray(r)?r.length:n,a?(k.hasOwnProp(r,n)?r[n]=[r[n],s]:r[n]=s,!i):(r[n]&&k.isObject(r[n])||(r[n]=[]),t(e,s,r[n],o)&&k.isArray(r[n])&&(r[n]=function(e){const t={},s=Object.keys(e);let r;const o=s.length;let n;for(r=0;r<o;r++)n=s[r],t[n]=e[n];return t}(r[n])),!i)}if(k.isFormData(e)&&k.isFunction(e.entries)){const s={};return k.forEachEntry(e,((e,r)=>{t(function(e){return k.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,s,0)})),s}return null}const te={transitional:Z,adapter:["xhr","http"],transformRequest:[function(e,t){const s=t.getContentType()||"",r=s.indexOf("application/json")>-1,o=k.isObject(e);if(o&&k.isHTMLForm(e)&&(e=new FormData(e)),k.isFormData(e))return r&&r?JSON.stringify(ee(e)):e;if(k.isArrayBuffer(e)||k.isBuffer(e)||k.isStream(e)||k.isFile(e)||k.isBlob(e))return e;if(k.isArrayBufferView(e))return e.buffer;if(k.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let n;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return V(e,new Q.classes.URLSearchParams,Object.assign({visitor:function(e,t,s,r){return Q.isNode&&k.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=k.isFileList(e))||s.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return V(n?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,s){if(k.isString(e))try{return(0,JSON.parse)(e),k.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||te.transitional,s=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&k.isString(e)&&(s&&!this.responseType||r)){const s=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(s){if("SyntaxError"===e.name)throw x.from(e,x.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};k.forEach(["delete","get","head","post","put","patch"],(e=>{te.headers[e]={}}));var se=te;const re=k.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),oe=Symbol("internals");function ne(e){return e&&String(e).trim().toLowerCase()}function ie(e){return!1===e||null==e?e:k.isArray(e)?e.map(ie):String(e)}function ae(e,t,s,r,o){return k.isFunction(r)?r.call(this,t,s):(o&&(t=s),k.isString(t)?k.isString(r)?-1!==t.indexOf(r):k.isRegExp(r)?r.test(t):void 0:void 0)}class ce{constructor(e){e&&this.set(e)}set(e,t,s){const r=this;function o(e,t,s){const o=ne(t);if(!o)throw new Error("header name must be a non-empty string");const n=k.findKey(r,o);(!n||void 0===r[n]||!0===s||void 0===s&&!1!==r[n])&&(r[n||t]=ie(e))}const n=(e,t)=>k.forEach(e,((e,s)=>o(e,s,t)));return k.isPlainObject(e)||e instanceof this.constructor?n(e,t):k.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?n((e=>{const t={};let s,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),s=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!s||t[s]&&re[s]||("set-cookie"===s?t[s]?t[s].push(r):t[s]=[r]:t[s]=t[s]?t[s]+", "+r:r)})),t})(e),t):null!=e&&o(t,e,s),this}get(e,t){if(e=ne(e)){const s=k.findKey(this,e);if(s){const e=this[s];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),s=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=s.exec(e);)t[r[1]]=r[2];return t}(e);if(k.isFunction(t))return t.call(this,e,s);if(k.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ne(e)){const s=k.findKey(this,e);return!(!s||void 0===this[s]||t&&!ae(0,this[s],s,t))}return!1}delete(e,t){const s=this;let r=!1;function o(e){if(e=ne(e)){const o=k.findKey(s,e);!o||t&&!ae(0,s[o],o,t)||(delete s[o],r=!0)}}return k.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let s=t.length,r=!1;for(;s--;){const o=t[s];e&&!ae(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,s={};return k.forEach(this,((r,o)=>{const n=k.findKey(s,o);if(n)return t[n]=ie(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,s)=>t.toUpperCase()+s))}(o):String(o).trim();i!==o&&delete t[o],t[i]=ie(r),s[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return k.forEach(this,((s,r)=>{null!=s&&!1!==s&&(t[r]=e&&k.isArray(s)?s.join(", "):s)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const s=new this(e);return t.forEach((e=>s.set(e))),s}static accessor(e){const t=(this[oe]=this[oe]={accessors:{}}).accessors,s=this.prototype;function r(e){const r=ne(e);t[r]||(function(e,t){const s=k.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+s,{value:function(e,s,o){return this[r].call(this,t,e,s,o)},configurable:!0})}))}(s,e),t[r]=!0)}return k.isArray(e)?e.forEach(r):r(e),this}}ce.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),k.reduceDescriptors(ce.prototype,(({value:e},t)=>{let s=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[s]=e}}})),k.freezeMethods(ce);var le=ce;function ue(e,t){const s=this||se,r=t||s,o=le.from(r.headers);let n=r.data;return k.forEach(e,(function(e){n=e.call(s,n,o.normalize(),t?t.status:void 0)})),o.normalize(),n}function de(e){return!(!e||!e.__CANCEL__)}function pe(e,t,s){x.call(this,null==e?"canceled":e,x.ERR_CANCELED,t,s),this.name="CanceledError"}k.inherits(pe,x,{__CANCEL__:!0});var he=Q.isStandardBrowserEnv?{write:function(e,t,s,r,o,n){const i=[];i.push(e+"="+encodeURIComponent(t)),k.isNumber(s)&&i.push("expires="+new Date(s).toGMTString()),k.isString(r)&&i.push("path="+r),k.isString(o)&&i.push("domain="+o),!0===n&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function fe(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var me=Q.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let s;function r(s){let r=s;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return s=r(window.location.href),function(e){const t=k.isString(e)?r(e):e;return t.protocol===s.protocol&&t.host===s.host}}():function(){return!0};function ve(e,t){let s=0;const r=function(e,t){e=e||10;const s=new Array(e),r=new Array(e);let o,n=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=r[i];o||(o=c),s[n]=a,r[n]=c;let u=i,d=0;for(;u!==n;)d+=s[u++],u%=e;if(n=(n+1)%e,n===i&&(i=(i+1)%e),c-o<t)return;const p=l&&c-l;return p?Math.round(1e3*d/p):void 0}}(50,250);return o=>{const n=o.loaded,i=o.lengthComputable?o.total:void 0,a=n-s,c=r(a);s=n;const l={loaded:n,total:i,progress:i?n/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&n<=i?(i-n)/c:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const Ee={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,s){let r=e.data;const o=le.from(e.headers).normalize(),n=e.responseType;let i,a;function c(){e.cancelToken&&e.cancelToken.unsubscribe(i),e.signal&&e.signal.removeEventListener("abort",i)}k.isFormData(r)&&(Q.isStandardBrowserEnv||Q.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?k.isString(a=o.getContentType())&&o.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",s=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+s))}const u=fe(e.baseURL,e.url);function d(){if(!l)return;const r=le.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(e,t,s){const r=s.config.validateStatus;s.status&&r&&!r(s.status)?t(new x("Request failed with status code "+s.status,[x.ERR_BAD_REQUEST,x.ERR_BAD_RESPONSE][Math.floor(s.status/100)-4],s.config,s.request,s)):e(s)}((function(e){t(e),c()}),(function(e){s(e),c()}),{data:n&&"text"!==n&&"json"!==n?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:r,config:e,request:l}),l=null}if(l.open(e.method.toUpperCase(),Y(u,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,"onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(d)},l.onabort=function(){l&&(s(new x("Request aborted",x.ECONNABORTED,e,l)),l=null)},l.onerror=function(){s(new x("Network Error",x.ERR_NETWORK,e,l)),l=null},l.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||Z;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),s(new x(t,r.clarifyTimeoutError?x.ETIMEDOUT:x.ECONNABORTED,e,l)),l=null},Q.isStandardBrowserEnv){const t=(e.withCredentials||me(u))&&e.xsrfCookieName&&he.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in l&&k.forEach(o.toJSON(),(function(e,t){l.setRequestHeader(t,e)})),k.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),n&&"json"!==n&&(l.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",ve(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",ve(e.onUploadProgress)),(e.cancelToken||e.signal)&&(i=t=>{l&&(s(!t||t.type?new pe(null,e,l):t),l.abort(),l=null)},e.cancelToken&&e.cancelToken.subscribe(i),e.signal&&(e.signal.aborted?i():e.signal.addEventListener("abort",i)));const p=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);p&&-1===Q.protocols.indexOf(p)?s(new x("Unsupported protocol "+p+":",x.ERR_BAD_REQUEST,e)):l.send(r||null)}))}};k.forEach(Ee,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Se=e=>`- ${e}`,we=e=>k.isFunction(e)||null===e||!1===e;var ge=e=>{e=k.isArray(e)?e:[e];const{length:t}=e;let s,r;const o={};for(let n=0;n<t;n++){let t;if(s=e[n],r=s,!we(s)&&(r=Ee[(t=String(s)).toLowerCase()],void 0===r))throw new x(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+n]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new x("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(Se).join("\n"):" "+Se(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function ye(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new pe(null,e)}function Re(e){return ye(e),e.headers=le.from(e.headers),e.data=ue.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),ge(e.adapter||se.adapter)(e).then((function(t){return ye(e),t.data=ue.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return de(t)||(ye(e),t&&t.response&&(t.response.data=ue.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}const be=e=>e instanceof le?e.toJSON():e;function Ae(e,t){t=t||{};const s={};function r(e,t,s){return k.isPlainObject(e)&&k.isPlainObject(t)?k.merge.call({caseless:s},e,t):k.isPlainObject(t)?k.merge({},t):k.isArray(t)?t.slice():t}function o(e,t,s){return k.isUndefined(t)?k.isUndefined(e)?void 0:r(void 0,e,s):r(e,t,s)}function n(e,t){if(!k.isUndefined(t))return r(void 0,t)}function i(e,t){return k.isUndefined(t)?k.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(s,o,n){return n in t?r(s,o):n in e?r(void 0,s):void 0}const c={url:n,method:n,data:n,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t)=>o(be(e),be(t),!0)};return k.forEach(Object.keys(Object.assign({},e,t)),(function(r){const n=c[r]||o,i=n(e[r],t[r],r);k.isUndefined(i)&&n!==a||(s[r]=i)})),s}const Oe={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Oe[e]=function(s){return typeof s===e||"a"+(t<1?"n ":" ")+e}}));const _e={};Oe.transitional=function(e,t,s){function r(e,t){return"[Axios v1.5.1] Transitional option '"+e+"'"+t+(s?". "+s:"")}return(s,o,n)=>{if(!1===e)throw new x(r(o," has been removed"+(t?" in "+t:"")),x.ERR_DEPRECATED);return t&&!_e[o]&&(_e[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(s,o,n)}};var Ce={assertOptions:function(e,t,s){if("object"!=typeof e)throw new x("options must be an object",x.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const n=r[o],i=t[n];if(i){const t=e[n],s=void 0===t||i(t,n,e);if(!0!==s)throw new x("option "+n+" must be "+s,x.ERR_BAD_OPTION_VALUE)}else if(!0!==s)throw new x("Unknown option "+n,x.ERR_BAD_OPTION)}},validators:Oe};const Te=Ce.validators;class Ie{constructor(e){this.defaults=e,this.interceptors={request:new X,response:new X}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ae(this.defaults,t);const{transitional:s,paramsSerializer:r,headers:o}=t;void 0!==s&&Ce.assertOptions(s,{silentJSONParsing:Te.transitional(Te.boolean),forcedJSONParsing:Te.transitional(Te.boolean),clarifyTimeoutError:Te.transitional(Te.boolean)},!1),null!=r&&(k.isFunction(r)?t.paramsSerializer={serialize:r}:Ce.assertOptions(r,{encode:Te.function,serialize:Te.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let n=o&&k.merge(o.common,o[t.method]);o&&k.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=le.concat(n,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,d=0;if(!a){const e=[Re.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);d<u;)l=l.then(e[d++],e[d++]);return l}u=i.length;let p=t;for(d=0;d<u;){const e=i[d++],t=i[d++];try{p=e(p)}catch(e){t.call(this,e);break}}try{l=Re.call(this,p)}catch(e){return Promise.reject(e)}for(d=0,u=c.length;d<u;)l=l.then(c[d++],c[d++]);return l}getUri(e){return Y(fe((e=Ae(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}k.forEach(["delete","get","head","options"],(function(e){Ie.prototype[e]=function(t,s){return this.request(Ae(s||{},{method:e,url:t,data:(s||{}).data}))}})),k.forEach(["post","put","patch"],(function(e){function t(t){return function(s,r,o){return this.request(Ae(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:s,data:r}))}}Ie.prototype[e]=t(),Ie.prototype[e+"Form"]=t(!0)}));var De=Ie;class Fe{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const s=this;this.promise.then((e=>{if(!s._listeners)return;let t=s._listeners.length;for(;t-- >0;)s._listeners[t](e);s._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{s.subscribe(e),t=e})).then(e);return r.cancel=function(){s.unsubscribe(t)},r},e((function(e,r,o){s.reason||(s.reason=new pe(e,r,o),t(s.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Fe((function(t){e=t})),cancel:e}}}var Ne=Fe;const Le={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Le).forEach((([e,t])=>{Le[t]=e}));var Pe=Le;const Ue=function e(t){const s=new De(t),o=r(De.prototype.request,s);return k.extend(o,De.prototype,s,{allOwnKeys:!0}),k.extend(o,s,null,{allOwnKeys:!0}),o.create=function(s){return e(Ae(t,s))},o}(se);Ue.Axios=De,Ue.CanceledError=pe,Ue.CancelToken=Ne,Ue.isCancel=de,Ue.VERSION="1.5.1",Ue.toFormData=V,Ue.AxiosError=x,Ue.Cancel=Ue.CanceledError,Ue.all=function(e){return Promise.all(e)},Ue.spread=function(e){return function(t){return e.apply(null,t)}},Ue.isAxiosError=function(e){return k.isObject(e)&&!0===e.isAxiosError},Ue.mergeConfig=Ae,Ue.AxiosHeaders=le,Ue.formToJSON=e=>ee(k.isHTMLForm(e)?new FormData(e):e),Ue.getAdapter=ge,Ue.HttpStatusCode=Pe,Ue.default=Ue,e.exports=Ue}},t={};function s(r){var o=t[r];if(void 0!==o)return o.exports;var n=t[r]={exports:{}};return e[r].call(n.exports,n,n.exports,s),n.exports}s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var r={};return(()=>{"use strict";var e=r;const t=s(234),o=s(923),n=s(604),i=s(122),a=s(344),c=s(927),l=s(168);class u{}u.livenessDetection=t.livenessDetection,u.livenessSession=o.livenessSession,u.uploadIdentificationDocument=n.uploadIdentificationDocument,u.insertUploadIdentificationDocument=i.insertUploadIdentificationDocument,u.typification=a.typification,u.ocr=l.ocr,u.faceMatch=c.faceMatch,e.default=u})(),r.default})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("SantoiDSDK",[],t):"object"==typeof exports?exports.SantoiDSDK=t():e.SantoiDSDK=t()}(this,(()=>(()=>{var e={373:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractService=void 0;const o=s(r(218)),n=r(661),i=r(951);t.AbstractService=class{constructor(e,t){this.options=e,this.serviceOptions=t}request(e){var t,r,s,{contentType:a="application/json",authToken:c=this.options.token,baseUrl:l=(null!==(t=this.options.customApiUrl)&&void 0!==t?t:n.API_GATEWAY_URL),extraHeaders:u}=void 0===e?{}:e;const d=null!==(r=this.options.apiKey)&&void 0!==r?r:(0,i.looksLikeApiToken)(c)?c:void 0,p={baseURL:l,headers:Object.assign(Object.assign({"Content-Type":a},d?{"x-api-key":d}:{Authorization:`Bearer ${c}`}),u)};let f=this.options.domain;if(!this.options.domain&&this.options.token){const e=this.serviceOptions.tryDecodeJwt(this.options.token);f=null===(s=null==e?void 0:e.claims)||void 0===s?void 0:s.domain}return p.headers&&(f&&(p.headers.Domain=f),this.options.useBillingAccounts&&(p.headers.clientCredentials=!0)),o.default.create(p)}}},151:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiAsyncService=void 0;const s=r(373);class o extends s.AbstractService{constructor(e,...t){super(...t),this.resultsRoute=e.resultsRoute}async get(e){return(await this.request().get(`/api/v1/tracks/${this.options.track}/${this.resultsRoute}/`+e)).data}}t.ApiAsyncService=o},748:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiFaceMatchService=void 0;const s=r(151),o=r(951);class n extends s.ApiAsyncService{constructor(...e){super({resultsRoute:"face-async"},...e)}async faceMatch(e,t,r){return await(0,o.retryAsyncFunctionXTimes)((async()=>{const s=new this.serviceOptions.FormDataClass;return s.append("track",this.options.track),s.append("deliveryFront","true"),s.append("sensitive_data_compliance","true"),s.append("imageFile1",e,"imageFile1.jpg"),t&&s.append("imageFile2",t,"imageFile2.jpg"),r&&s.append("customerRequestId",r),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/face-match-async",s)).data}))}async get(...e){return await super.get(...e)}}t.ApiFaceMatchService=n},275:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiLivenessSessionService=void 0;const s=r(373),o=r(951);class n extends s.AbstractService{livenessRequest(){const e=this.options.token,t=Boolean(this.options.apiKey)||(0,o.looksLikeApiToken)(e);return this.request({extraHeaders:t?void 0:{"x-endpoint-api-userinfo":null!=e?e:""}})}async createSession(e){return(await this.livenessRequest().post("/api/v2/liveness/session",{track:this.options.track,customerRequestId:e})).data}async getSessionResults(e){return(await this.livenessRequest().get(`/api/v2/liveness/session/${e}`,{params:this.options.track?{track:this.options.track}:void 0})).data}async estimateAge(e,t){return(await this.livenessRequest().post("/api/v2/age/estimate",{sessionId:e,track:this.options.track,customerRequestId:t})).data}}t.ApiLivenessSessionService=n},926:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiOcrService=void 0;const s=r(151),o=r(951);class n extends s.ApiAsyncService{constructor(...e){super({resultsRoute:"ocr-async"},...e)}async extract(e,t){return await(0,o.retryAsyncFunctionXTimes)((async()=>{const r=new this.serviceOptions.FormDataClass;return r.append("imageFile",e,"imageFile.jpg"),r.append("track",this.options.track),r.append("template",this.options.template),r.append("customerRequestId",t),r.append("deliveryFront","true"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/ocr-async/ocr",r)).data}))}}t.ApiOcrService=n},456:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApiTypificationService=void 0;const s=r(151),o=r(951);class n extends s.ApiAsyncService{constructor(...e){super({resultsRoute:"typification-async"},...e)}async predict(e,t){return await(0,o.retryAsyncFunctionXTimes)((async()=>{const r=new this.serviceOptions.FormDataClass;return r.append("imageFile",e,"imageFile.jpg"),r.append("track",this.options.track),r.append("customerRequestId",t),r.append("deliveryFront","true"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/typification-async/predict",r)).data}))}}t.ApiTypificationService=n},467:function(e,t,r){"use strict";var s=this&&this.__rest||function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(s=Object.getOwnPropertySymbols(e);o<s.length;o++)t.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(e,s[o])&&(r[s[o]]=e[s[o]])}return r};Object.defineProperty(t,"__esModule",{value:!0}),t.estimateAge=void 0;const o=r(275),n=r(551),i=r(616);t.estimateAge=async function(e){var{sessionId:t,customerRequestId:r}=e,a=s(e,["sessionId","customerRequestId"]);try{const e=new o.ApiLivenessSessionService(a,{FormDataClass:FormData,tryDecodeJwt:i.tryDecodeJwt});return await e.estimateAge(t,r)}catch(e){throw new n.SDKError({message:"Error while estimating age",code:n.EDefaultErrorCodes.INTERNAL_ERROR,fatal:!1,details:e})}}},135:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseCoreService=void 0;const s=r(551),o=r(620);t.BaseCoreService=class{constructor(e){this.results={status:null,results:null,loading:!1,error:null},this.cameraIsActive=!1,this.cameraIsSetup=!1,this.options=e}async initialize(e){var t;e?this.startProcessing(e):(null!==(t=this.options.startTheCameraImmediately)&&void 0!==t?t:void 0===this.options.startTheCameraImmediately)&&await this.startCamera()}async updateResults(e){var t,r;this.results=Object.assign(Object.assign({},this.results),e),await(null===(r=(t=this.options).onUpdate)||void 0===r?void 0:r.call(t,this.results))}getVideoStream(){var e;return null===(e=this.frameGetControls)||void 0===e?void 0:e.videoStream}async setupCamera(){this.frameGetControls=await(0,o.getDefaultFrameControls)(),this.cameraIsSetup=!0}async startCamera(e){var t,r,o,n,i,a;try{if(this.cameraIsActive)throw new s.SDKError({message:"The camera has already been initialized",code:s.ECameraErrorCodes.ALREADY_STARTED,fatal:!1});if(this.results.loading)throw new s.SDKError({message:"Typification processing has already started",code:s.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.cameraIsSetup||await this.setupCamera(),this.frameGetControls.videoStream=await(null===(r=(t=this.frameGetControls).startGettingFrames)||void 0===r?void 0:r.call(t,e)),await(null===(n=(o=this.options).onCameraStart)||void 0===n?void 0:n.call(o,{videoStream:this.getVideoStream()})),this.cameraIsActive=!0}catch(e){const t=e instanceof s.SDKError?e:new s.SDKError({message:"Camera initialization error",code:s.ECameraErrorCodes.INITIALIZATION_ERROR,fatal:!1,details:e});await(null===(a=(i=this.options).onError)||void 0===a?void 0:a.call(i,t))}}async stopCamera(){var e,t,r,o,n,i;try{if(!this.cameraIsActive)throw new s.SDKError({message:"Camera not initialized",code:s.ECameraErrorCodes.NOT_INITIALIZED,fatal:!1});await(null===(t=(e=this.frameGetControls).stopGettingFrames)||void 0===t?void 0:t.call(e)),await(null===(o=(r=this.options).onCameraStop)||void 0===o?void 0:o.call(r)),this.cameraIsActive=!1}catch(e){const t=e instanceof s.SDKError?e:new s.SDKError({message:"Error during camera shutdown",code:s.ECameraErrorCodes.SHUTDOWN_ERROR,fatal:!1,details:e});await(null===(i=(n=this.options).onError)||void 0===i?void 0:i.call(n,t))}}async captureImage({startProcessing:e=!0}={}){var t,r;const o=await(null===(r=(t=this.frameGetControls).getNextFrame)||void 0===r?void 0:r.call(t));if(o)return e&&(await this.stopCamera(),await this.startProcessing(o)),o;throw new s.SDKError({message:"Cannot capture image",code:s.ECameraErrorCodes.CANNOT_CAPTURE_IMAGE,fatal:!1})}async waitForResults(e){let t=!1;return await new Promise(((r,s)=>{const o=setInterval((async()=>{var n,i,a,c;try{null===(i=(n=this.options).onClearInterval)||void 0===i||i.call(n,o);const s=await this.service.get(e);if("validation"===(null==s?void 0:s.status)&&!t)return await(null===(c=(a=this.options).onValidationRequested)||void 0===c?void 0:c.call(a,{track:this.options.track,requestId:s.id})),void(t=!0);if("error"===(null==s?void 0:s.status))throw new Error("Não foi possível processar os resultados do Upload de Documentos");if("processed"===(null==s?void 0:s.status)&&s.fileURL){const e=await fetch(s.fileURL),t=await e.json();t&&(clearInterval(o),r(t))}}catch(e){clearInterval(o),s(e)}}),5e3)}))}}},474:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FaceMatchService=void 0;const s=r(877),o=r(551),n=r(616),i=r(748),a=r(135);class c extends a.BaseCoreService{constructor(e){super(e),this.selectedFile1=void 0,this.selectedFile2=void 0,this.service=new i.ApiFaceMatchService(e,{FormDataClass:FormData,tryDecodeJwt:n.tryDecodeJwt})}async initialize(e,t){var r;e?this.startProcessing(e,t):(null!==(r=this.options.startTheCameraImmediately)&&void 0!==r?r:void 0===this.options.startTheCameraImmediately)&&await this.startCamera()}async captureFirstImage({startProcessing:e=!0}={}){const t=await super.captureImage({startProcessing:!1});return this.selectedFile1=t,e&&(await this.stopCamera(),await this.startProcessing(this.selectedFile1)),t}async captureSecondImage({startProcessing:e=!0}={}){if(!this.selectedFile1)throw new o.SDKError({message:"Select the first image before selecting the second",code:o.EFaceMatchErrorCodes.FIRST_IMAGE_NOT_SELECTED,fatal:!1});const t=await super.captureImage({startProcessing:!1});return this.selectedFile2=t,e&&(await this.stopCamera(),await this.startProcessing(this.selectedFile1,this.selectedFile2)),t}async startProcessing(e,t){var r,n,i,a,c,l,u;try{if(this.cameraIsActive)throw new o.SDKError({message:"Cannot start because the camera is running",code:o.ECameraErrorCodes.IS_RUNNING,fatal:!1});if(null===(r=this.results)||void 0===r?void 0:r.loading)throw new o.SDKError({message:"Processing has already started",code:o.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.updateResults({status:null,results:null,loading:!0,error:null});const{requestId:l}=await this.service.faceMatch(e,t,`sdk-ocr-${(0,s.v4)()}`),u=await this.waitForResultsFaceMatch(l);this.updateResults({status:"success",results:u,loading:!1,error:null}),null===(i=(n=this.options).onSuccess)||void 0===i||i.call(n,u),null===(c=(a=this.options).onEnd)||void 0===c||c.call(a)}catch(e){const t=e instanceof o.SDKError?e:new o.SDKError({message:"Error during document upload/analysis",code:o.EProcessingErrorCodes.PROCESSING_ERROR,fatal:!1,details:e});await(null===(u=(l=this.options).onError)||void 0===u?void 0:u.call(l,t)),this.updateResults({status:"error",results:null,loading:!1,error:t})}}async waitForResultsFaceMatch(e){return await new Promise(((t,r)=>{const s=setInterval((async()=>{var o,n,i,a;try{null===(n=(o=this.options).onClearInterval)||void 0===n||n.call(o,s);const r=await this.service.get(e);if("error"===(null==r?void 0:r.status)||"error_connector"===(null==r?void 0:r.status))throw new Error("Não foi possível processar os resultados do FaceMatch");if("processed"===(null==r?void 0:r.status)&&r.fileURL){const e=await fetch(r.fileURL);let o=await e.json();o=Object.assign(Object.assign({},o),{fileImage1:null!==(i=r.fileImage1)&&void 0!==i?i:"",fileImage2:null!==(a=r.fileImage2)&&void 0!==a?a:""}),o&&(clearInterval(s),t(o))}}catch(e){clearInterval(s),r(new Error(e))}}),5e3)}))}}t.FaceMatchService=c},927:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.faceMatch=void 0;const s=r(551),o=r(474);t.faceMatch=async function(e,t,r){var n,i;try{const s=new o.FaceMatchService(e);return await s.initialize(t,r),await(null===(i=(n=s.options).onStart)||void 0===i?void 0:i.call(n,{videoStream:s.getVideoStream()})),{startCamera:async(...e)=>{await s.startCamera(...e)},stopCamera:async()=>{await s.stopCamera()},captureFirstImage:async(...e)=>await s.captureFirstImage(...e),captureSecondImage:async(...e)=>await s.captureSecondImage(...e),getVideoStream:()=>s.getVideoStream(),sendFiles:async(...e)=>{await s.startProcessing(...e)}}}catch(e){throw new s.SDKError({message:"Error while starting SDK",code:s.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},577:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OcrService=void 0;const s=r(877),o=r(551),n=r(616),i=r(926),a=r(135);class c extends a.BaseCoreService{constructor(e){super(e),this.service=new i.ApiOcrService(e,{FormDataClass:FormData,tryDecodeJwt:n.tryDecodeJwt})}async startProcessing(e){var t,r,n,i,a,c,l;try{if(this.cameraIsActive)throw new o.SDKError({message:"Cannot start because the camera is running",code:o.ECameraErrorCodes.IS_RUNNING,fatal:!1});if(null===(t=this.results)||void 0===t?void 0:t.loading)throw new o.SDKError({message:"Processing has already started",code:o.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.updateResults({status:null,results:null,loading:!0,error:null});const{requestId:c}=await this.service.extract(e,`sdk-ocr-${(0,s.v4)()}`),l=await this.waitForResults(c);this.updateResults({status:"success",results:l,loading:!1,error:null}),null===(n=(r=this.options).onSuccess)||void 0===n||n.call(r,l),null===(a=(i=this.options).onEnd)||void 0===a||a.call(i)}catch(e){const t=e instanceof o.SDKError?e:new o.SDKError({message:"Error during document upload/analysis",code:o.EProcessingErrorCodes.PROCESSING_ERROR,fatal:!1,details:e});await(null===(l=(c=this.options).onError)||void 0===l?void 0:l.call(c,t)),this.updateResults({status:"error",results:null,loading:!1,error:t})}}}t.OcrService=c},168:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ocr=void 0;const s=r(551),o=r(577);t.ocr=async function(e,t){var r,n;try{const s=new o.OcrService(e);return await s.initialize(t),await(null===(n=(r=s.options).onStart)||void 0===n?void 0:n.call(r,{videoStream:s.getVideoStream()})),{startCamera:async(...e)=>{await s.startCamera(...e)},stopCamera:async()=>{await s.stopCamera()},captureImage:async()=>await s.captureImage(),getVideoStream:()=>s.getVideoStream(),sendFile:async e=>{await s.startProcessing(e)}}}catch(e){throw new s.SDKError({message:"Error while starting SDK",code:s.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},983:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypificationService=void 0;const s=r(877),o=r(551),n=r(616),i=r(456),a=r(135);class c extends a.BaseCoreService{constructor(e){super(e),this.service=new i.ApiTypificationService(e,{FormDataClass:FormData,tryDecodeJwt:n.tryDecodeJwt})}async startProcessing(e){var t,r,n,i,a,c,l;try{if(this.cameraIsActive)throw new o.SDKError({message:"Cannot start because the camera is running",code:o.ECameraErrorCodes.IS_RUNNING,fatal:!1});if(null===(t=this.results)||void 0===t?void 0:t.loading)throw new o.SDKError({message:"Processing has already started",code:o.EProcessingErrorCodes.ALREADY_STARTED,fatal:!1});this.updateResults({status:null,results:null,loading:!0,error:null});const{requestId:c}=await this.service.predict(e,`sdk-typification-${(0,s.v4)()}`),l=await this.waitForResults(c);this.updateResults({status:"success",results:l,loading:!1,error:null}),null===(n=(r=this.options).onSuccess)||void 0===n||n.call(r,l),null===(a=(i=this.options).onEnd)||void 0===a||a.call(i)}catch(e){const t=e instanceof o.SDKError?e:new o.SDKError({message:"Error during document upload/analysis",code:o.EProcessingErrorCodes.PROCESSING_ERROR,fatal:!1,details:e});await(null===(l=(c=this.options).onError)||void 0===l?void 0:l.call(c,t)),this.updateResults({status:"error",results:null,loading:!1,error:t})}}}t.TypificationService=c},344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typification=void 0;const s=r(551),o=r(983);t.typification=async function(e,t){var r,n;try{const s=new o.TypificationService(e);return await s.initialize(t),await(null===(n=(r=s.options).onStart)||void 0===n?void 0:n.call(r,{videoStream:s.getVideoStream()})),{startCamera:async(...e)=>{await s.startCamera(...e)},stopCamera:async()=>{await s.stopCamera()},captureImage:async()=>await s.captureImage(),getVideoStream:()=>s.getVideoStream(),sendFile:async e=>{await s.startProcessing(e)}}}catch(e){throw new s.SDKError({message:"Error while starting SDK",code:s.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},122:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.insertUploadIdentificationDocument=void 0;const s=r(661);t.insertUploadIdentificationDocument=function(e,t){var r,o,n;const i=t?document.querySelector(t):document.body;if(!i)throw new Error("Cannot find target element");const a=document.createElement("iframe");a.style.overflow="hidden",a.style.border="0",a.setAttribute("width",null!==(r=e.width)&&void 0!==r?r:"100%"),a.setAttribute("height",null!==(o=e.height)&&void 0!==o?o:"550px"),a.setAttribute("scrolling","no"),a.setAttribute("allow","camera; microphone; clipboard-read; clipboard-write");let c=`${null!==(n=e.customAppUrl)&&void 0!==n?n:s.APPLICATION_URL}/share/domains/${e.domain}/tracks/${e.track}/flow/${e.flow}/embedded`;e.token&&(c+=`?accessToken=${e.token}`),a.setAttribute("src",c),i.appendChild(a)}},460:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LivenessSessionService=void 0;const s=r(275),o=r(551),n=r(951),i=r(661),a=r(616);t.LivenessSessionService=class{get sessionId(){var e,t;return null!==(t=null===(e=this.session)||void 0===e?void 0:e.SessionId)&&void 0!==t?t:null}constructor(e){this.session=null,this.options=e,this.service=new s.ApiLivenessSessionService(e,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}async createSession(){var e,t;try{const r=await this.service.createSession(this.options.customerRequestId);return this.session=r,await(null===(t=(e=this.options).onSessionCreated)||void 0===t?void 0:t.call(e,r.SessionId)),r.SessionId}catch(e){throw await this.fail("Error while creating liveness session",e)}}async getResults(e=this.sessionId){var t,r;if(!e)throw await this.fail("There is no liveness session to fetch results from");try{let s=null;for(let t=0;t<i.LIVENESS_RESULT_MAX_ATTEMPTS&&(s=await this.service.getSessionResults(e),i.LIVENESS_PENDING_STATUSES.includes(s.Status));t++)await(0,n.wait)(i.LIVENESS_RESULT_RETRY_DELAY_MS);return await(null===(r=(t=this.options).onResults)||void 0===r?void 0:r.call(t,s)),s}catch(e){throw await this.fail("Error while fetching liveness session results",e)}}getSessionConfig(){return this.session?{region:this.session.Region,identityPoolId:this.session.IdentityPoolId}:null}async fail(e,t){var r,s;const n=new o.SDKError({message:e,code:o.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:t});return await(null===(s=(r=this.options).onError)||void 0===s?void 0:s.call(r,n)),n}}},923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.livenessSession=void 0;const s=r(460),o=r(551);t.livenessSession=function(e){try{const t=new s.LivenessSessionService(e);return{createSession:async()=>await t.createSession(),getResults:async(...e)=>await t.getResults(...e),getSessionId:()=>t.sessionId,getSessionConfig:()=>t.getSessionConfig()}}catch(e){throw new o.SDKError({message:"Error while starting SDK",code:o.EDefaultErrorCodes.INITIALIZATION_ERROR,fatal:!0,details:e})}}},632:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLivenessApproved=void 0;const s=r(661);t.isLivenessApproved=function(e,t=s.LIVENESS_APPROVAL_THRESHOLD){var r;return"SUCCEEDED"===(null==e?void 0:e.Status)&&(null!==(r=e.Confidence)&&void 0!==r?r:0)>=t}},171:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UploadIdentificationDocumentService=void 0;const s=r(456),o=r(748),n=r(551),i=r(877),a=r(616);t.UploadIdentificationDocumentService=class{constructor(e){this.results={uploadedDocument:null,typification:{status:null,results:null,loading:!1,error:null},faceMatch:{status:null,results:null,loading:!1,error:null}},this.options=e,this.typificationService=new s.ApiTypificationService(e,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt}),this.faceMatchService=new o.ApiFaceMatchService(e,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}getResults(){return this.results}async updateResults(e){var t,r,s,o,n,i;const a=Object.assign(Object.assign({},this.results),e);this.results=a,await(null===(r=(t=this.options).onUpdate)||void 0===r?void 0:r.call(t,a));const{typification:c,faceMatch:l}=a;!c.results||c.loading||l.loading||(await(null===(o=(s=this.options).onSuccess)||void 0===o?void 0:o.call(s,a)),await(null===(i=(n=this.options).onEnd)||void 0===i?void 0:i.call(n)))}updateUploadedDocument(e){this.results.uploadedDocument=e}async waitForResults(e){let t=!1;return await new Promise(((r,s)=>{const o=setInterval((async()=>{var n,i,a,c;try{null===(i=(n=this.options).onClearInterval)||void 0===i||i.call(n,o);const l=await this.typificationService.get(e);if("validation"!==(null==l?void 0:l.status)||t){if("error"===(null==l?void 0:l.status))clearInterval(o),s(new Error("Não foi possível processar os resultados do Upload de Documentos"));else if("processed"===(null==l?void 0:l.status)&&l.fileURL){const e=await fetch(l.fileURL),t=await e.json();t&&(clearInterval(o),r(t))}}else await(null===(c=(a=this.options).onValidationRequested)||void 0===c?void 0:c.call(a,{track:this.options.track,requestId:l.id})),t=!0}catch(e){clearInterval(o),s(new Error(e))}}),5e3)}))}async waitForResultsFaceMatch(e){return await new Promise(((t,r)=>{const s=setInterval((async()=>{var o,n,i,a;try{null===(n=(o=this.options).onClearInterval)||void 0===n||n.call(o,s);const c=await this.faceMatchService.get(e);if("error"===(null==c?void 0:c.status)||"error_connector"===(null==c?void 0:c.status))clearInterval(s),r(new Error("Não foi possível processar os resultados do FaceMatch"));else if("processed"===(null==c?void 0:c.status)&&c.fileURL){const e=await fetch(c.fileURL);let r=await e.json();r=Object.assign(Object.assign({},r),{fileImage1:null!==(i=c.fileImage1)&&void 0!==i?i:"",fileImage2:null!==(a=c.fileImage2)&&void 0!==a?a:""}),r&&(clearInterval(s),t(r))}}catch(e){clearInterval(s),r(new Error(e))}}),5e3)}))}async startDocumentUpload(e){var t,r;try{this.updateResults({typification:{status:null,results:null,loading:!0,error:null}}),this.updateUploadedDocument(e);const{requestId:t}=await this.typificationService.predict(e,`sdk-typification-${(0,i.v4)()}`),r=await this.waitForResults(t);this.updateResults({typification:{status:"success",results:r,loading:!1,error:null}})}catch(e){const s=new n.SDKError({message:"Error during document upload/analysis",code:n.EUploadIdentificationDocumentErrorCodes.DOCUMENT_ANALYSIS_ERROR,fatal:!1,details:e});await(null===(r=(t=this.options).onError)||void 0===r?void 0:r.call(t,s)),this.updateResults({typification:{status:"error",results:null,loading:!1,error:s}})}}async startFaceMatch(e,t){var r,s;try{this.updateResults({faceMatch:{status:null,results:null,loading:!0,error:null}});const{requestId:r}=await this.faceMatchService.faceMatch(e,t,`sdk-facematch-${(0,i.v4)()}`),s=await this.waitForResultsFaceMatch(r);this.updateResults({faceMatch:{results:s,status:"success",loading:!1,error:null}})}catch(e){const t=new n.SDKError({message:"Error when comparing the face with the document",code:n.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_ERROR,fatal:!1,details:e});await(null===(s=(r=this.options).onError)||void 0===s?void 0:s.call(r,t)),this.updateResults({faceMatch:{results:null,status:"error",loading:!1,error:t}})}}async startFaceComparison(e){var t,r;this.results.uploadedDocument&&e?await this.startFaceMatch(this.results.uploadedDocument,e):await(null===(r=(t=this.options).onError)||void 0===r?void 0:r.call(t,new n.SDKError({message:"Unavailable faces",code:n.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_UNAVAILABLE_FACES_ERROR,fatal:!1})))}async startAll(e,t){await Promise.all([this.startDocumentUpload(e),t?this.startFaceComparison(t):void 0])}}},604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uploadIdentificationDocument=void 0;const s=r(171);t.uploadIdentificationDocument=function(e){const t=new s.UploadIdentificationDocumentService(e);return{startDocumentUpload:async(...e)=>{await t.startDocumentUpload(...e)},startFaceComparison:async(...e)=>{await t.startFaceComparison(...e)},startAll:async(...e)=>{await t.startAll(...e)},getResults:(...e)=>t.getResults(...e)}}},620:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDefaultFrameControls=void 0,t.getDefaultFrameControls=async function(){let e,t,r,s;return{startGettingFrames:async function(o){var n;return e&&t&&r||(e=await navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:null!==(n=null==o?void 0:o.facingMode)&&void 0!==n?n:"user"}}),t=document.createElement("video"),t.setAttribute("autoplay","true"),t.style.transform="scale(-1, 1)",t.style.position="absolute",t.style.left="-99999px",document.body.appendChild(t),t.srcObject=e,r=document.createElement("canvas"),s=r.getContext("2d")),e},getNextFrame:async function(){if(r&&t)return r.width=t.videoWidth,r.height=t.videoHeight,null==s||s.drawImage(t,0,0,r.width,r.height),await new Promise(((e,t)=>{r?r.toBlob((t=>{e(t)})):e(null)}));throw new Error("Cannot found video element")},stopGettingFrames:function(){t&&(document.body.removeChild(t),t=void 0),r&&(r=void 0),s&&(s=void 0),e&&(null==e||e.getTracks().forEach((e=>{e.stop()})),e=void 0)}}}},616:(e,t)=>{"use strict";function r(e){const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(window.atob(t).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(r)}Object.defineProperty(t,"__esModule",{value:!0}),t.tryDecodeJwt=t.decodeJwt=void 0,t.decodeJwt=r,t.tryDecodeJwt=function(e){try{return r(e)}catch(e){return null}}},661:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LIVENESS_APPROVAL_THRESHOLD=t.LIVENESS_RESULT_RETRY_DELAY_MS=t.LIVENESS_RESULT_MAX_ATTEMPTS=t.LIVENESS_PENDING_STATUSES=t.DEFAULT_RETRY_TIME_STEP=t.DEFAULT_NUMBER_OF_RETRIES=t.APPLICATION_URL=t.API_GATEWAY_URL=t.LIVENESS_API_URL=void 0,t.LIVENESS_API_URL="https://liveness.santoid.com.br",t.API_GATEWAY_URL="https://api.santoid.com.br",t.APPLICATION_URL="https://app.santoid.com.br",t.DEFAULT_NUMBER_OF_RETRIES=5,t.DEFAULT_RETRY_TIME_STEP=1e3,t.LIVENESS_PENDING_STATUSES=["CREATED","IN_PROGRESS"],t.LIVENESS_RESULT_MAX_ATTEMPTS=8,t.LIVENESS_RESULT_RETRY_DELAY_MS=1500,t.LIVENESS_APPROVAL_THRESHOLD=80},551:(e,t)=>{"use strict";var r,s,o,n,i,a;Object.defineProperty(t,"__esModule",{value:!0}),t.SDKError=t.EProcessingErrorCodes=t.ECameraErrorCodes=t.EFaceMatchErrorCodes=t.EUploadIdentificationDocumentErrorCodes=t.ELivenessCaptureErrorCodes=t.EDefaultErrorCodes=void 0,function(e){e.INITIALIZATION_ERROR="initialization-error",e.INTERNAL_ERROR="internal-error"}(r||(t.EDefaultErrorCodes=r={})),function(e){e.SESSION_ERROR="liveness-capture/session-error",e.CAPTURE_ERROR="liveness-capture/capture-error",e.RESULT_ERROR="liveness-capture/result-error"}(s||(t.ELivenessCaptureErrorCodes=s={})),function(e){e.FACE_MATCH_ERROR="upload-identification-document/face-match-error",e.FACE_MATCH_UNAVAILABLE_FACES_ERROR="upload-identification-document/face-match-unavailable-faces-error",e.DOCUMENT_ANALYSIS_ERROR="upload-identification-document/document-analysis-error"}(o||(t.EUploadIdentificationDocumentErrorCodes=o={})),function(e){e.FIRST_IMAGE_NOT_SELECTED="face-match/first-image-not-selected"}(n||(t.EFaceMatchErrorCodes=n={})),function(e){e.INITIALIZATION_ERROR="camera/initialization-error",e.IS_RUNNING="camera/is-running",e.ALREADY_STARTED="camera/already-started",e.NOT_INITIALIZED="camera/not-initialized",e.CANNOT_CAPTURE_IMAGE="camera/cannot-capture-image",e.SHUTDOWN_ERROR="camera/shutdown-error"}(i||(t.ECameraErrorCodes=i={})),function(e){e.PROCESSING_ERROR="processing/processing-error",e.ALREADY_STARTED="processing/already-started"}(a||(t.EProcessingErrorCodes=a={}));class c extends Error{constructor({message:e,code:t,fatal:r,details:s}){super(e),this.code=t,this.fatal=r,this.details=s}}t.SDKError=c},951:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.looksLikeApiToken=t.API_TOKEN_PREFIXES=t.retryAsyncFunctionXTimes=t.callAsyncFunctionEveryXSeconds=t.waitFor=t.wait=t.capitalizeFirstLetter=void 0;const s=r(218),o=r(661);async function n(e){await new Promise((t=>{e()?t():setTimeout((()=>{n(e).then(t)}),500)}))}function i(e){var t;return e instanceof s.AxiosError&&(503===(null===(t=e.response)||void 0===t?void 0:t.status)||"Network Error"===e.message)}t.capitalizeFirstLetter=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.wait=async e=>{await new Promise((t=>{setTimeout(t,e)}))},t.waitFor=n,t.callAsyncFunctionEveryXSeconds=function e(t,r,s={stop:!1}){const o={timerEnd:!1};return setTimeout((()=>{o.timerEnd=!0}),r),t().then((async()=>{await n((()=>o.timerEnd)),s.stop||e(t,r,s)})),function(){s.stop=!0}},t.retryAsyncFunctionXTimes=async function e(r,s=i,n=o.DEFAULT_NUMBER_OF_RETRIES,a=1e3,c=o.DEFAULT_RETRY_TIME_STEP){try{return await r()}catch(o){if(s(o)&&n>0)return await(0,t.wait)(a),await e(r,s,n-1,a+c,c);throw o}},t.API_TOKEN_PREFIXES=["st_","AIza"],t.looksLikeApiToken=function(e){return!!e&&t.API_TOKEN_PREFIXES.some((t=>e.startsWith(t)))}},877:(e,t,r)=>{var s=r(570),o=r(358),n=o;n.v1=s,n.v4=o,e.exports=n},327:e=>{for(var t=[],r=0;r<256;++r)t[r]=(r+256).toString(16).substr(1);e.exports=function(e,r){var s=r||0,o=t;return[o[e[s++]],o[e[s++]],o[e[s++]],o[e[s++]],"-",o[e[s++]],o[e[s++]],"-",o[e[s++]],o[e[s++]],"-",o[e[s++]],o[e[s++]],"-",o[e[s++]],o[e[s++]],o[e[s++]],o[e[s++]],o[e[s++]],o[e[s++]]].join("")}},217:e=>{var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(t){var r=new Uint8Array(16);e.exports=function(){return t(r),r}}else{var s=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),s[t]=e>>>((3&t)<<3)&255;return s}}},570:(e,t,r)=>{var s,o,n=r(217),i=r(327),a=0,c=0;e.exports=function(e,t,r){var l=t&&r||0,u=t||[],d=(e=e||{}).node||s,p=void 0!==e.clockseq?e.clockseq:o;if(null==d||null==p){var f=n();null==d&&(d=s=[1|f[0],f[1],f[2],f[3],f[4],f[5]]),null==p&&(p=o=16383&(f[6]<<8|f[7]))}var h=void 0!==e.msecs?e.msecs:(new Date).getTime(),m=void 0!==e.nsecs?e.nsecs:c+1,v=h-a+(m-c)/1e4;if(v<0&&void 0===e.clockseq&&(p=p+1&16383),(v<0||h>a)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=h,c=m,o=p;var E=(1e4*(268435455&(h+=122192928e5))+m)%4294967296;u[l++]=E>>>24&255,u[l++]=E>>>16&255,u[l++]=E>>>8&255,u[l++]=255&E;var y=h/4294967296*1e4&268435455;u[l++]=y>>>8&255,u[l++]=255&y,u[l++]=y>>>24&15|16,u[l++]=y>>>16&255,u[l++]=p>>>8|128,u[l++]=255&p;for(var g=0;g<6;++g)u[l+g]=d[g];return t||i(u)}},358:(e,t,r)=>{var s=r(217),o=r(327);e.exports=function(e,t,r){var n=t&&r||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||s)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var a=0;a<16;++a)t[n+a]=i[a];return t||o(i)}},218:(e,t,r)=>{"use strict";function s(e,t){return function(){return e.apply(t,arguments)}}const{toString:o}=Object.prototype,{getPrototypeOf:n}=Object,i=(a=Object.create(null),e=>{const t=o.call(e);return a[t]||(a[t]=t.slice(8,-1).toLowerCase())});var a;const c=e=>(e=e.toLowerCase(),t=>i(t)===e),l=e=>t=>typeof t===e,{isArray:u}=Array,d=l("undefined"),p=c("ArrayBuffer"),f=l("string"),h=l("function"),m=l("number"),v=e=>null!==e&&"object"==typeof e,E=e=>{if("object"!==i(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},y=c("Date"),g=c("File"),w=c("Blob"),S=c("FileList"),R=c("URLSearchParams");function A(e,t,{allOwnKeys:r=!1}={}){if(null==e)return;let s,o;if("object"!=typeof e&&(e=[e]),u(e))for(s=0,o=e.length;s<o;s++)t.call(null,e[s],s,e);else{const o=r?Object.getOwnPropertyNames(e):Object.keys(e),n=o.length;let i;for(s=0;s<n;s++)i=o[s],t.call(null,e[i],i,e)}}function b(e,t){t=t.toLowerCase();const r=Object.keys(e);let s,o=r.length;for(;o-- >0;)if(s=r[o],t===s.toLowerCase())return s;return null}const O="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,_=e=>!d(e)&&e!==O,C=(T="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>T&&e instanceof T);var T;const I=c("HTMLFormElement"),D=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),P=c("RegExp"),F=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),s={};A(r,((r,o)=>{let n;!1!==(n=t(r,o,e))&&(s[o]=n||r)})),Object.defineProperties(e,s)},N="abcdefghijklmnopqrstuvwxyz",L="0123456789",U={DIGIT:L,ALPHA:N,ALPHA_DIGIT:N+N.toUpperCase()+L},j=c("AsyncFunction");var x={isArray:u,isArrayBuffer:p,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&h(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||h(e.append)&&("formdata"===(t=i(e))||"object"===t&&h(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t},isString:f,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:v,isPlainObject:E,isUndefined:d,isDate:y,isFile:g,isBlob:w,isRegExp:P,isFunction:h,isStream:e=>v(e)&&h(e.pipe),isURLSearchParams:R,isTypedArray:C,isFileList:S,forEach:A,merge:function e(){const{caseless:t}=_(this)&&this||{},r={},s=(s,o)=>{const n=t&&b(r,o)||o;E(r[n])&&E(s)?r[n]=e(r[n],s):E(s)?r[n]=e({},s):u(s)?r[n]=s.slice():r[n]=s};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&A(arguments[e],s);return r},extend:(e,t,r,{allOwnKeys:o}={})=>(A(t,((t,o)=>{r&&h(t)?e[o]=s(t,r):e[o]=t}),{allOwnKeys:o}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,r,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:(e,t,r,s)=>{let o,i,a;const c={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],s&&!s(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:i,kindOfTest:c,endsWith:(e,t,r)=>{e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;const s=e.indexOf(t,r);return-1!==s&&s===r},toArray:e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!m(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},forEachEntry:(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=r.next())&&!s.done;){const r=s.value;t.call(e,r[0],r[1])}},matchAll:(e,t)=>{let r;const s=[];for(;null!==(r=e.exec(t));)s.push(r);return s},isHTMLForm:I,hasOwnProperty:D,hasOwnProp:D,reduceDescriptors:F,freezeMethods:e=>{F(e,((t,r)=>{if(h(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const s=e[r];h(s)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(e,t)=>{const r={},s=e=>{e.forEach((e=>{r[e]=!0}))};return u(e)?s(e):s(String(e).split(t)),r},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:b,global:O,isContextDefined:_,ALPHABET:U,generateString:(e=16,t=U.ALPHA_DIGIT)=>{let r="";const{length:s}=t;for(;e--;)r+=t[Math.random()*s|0];return r},isSpecCompliantForm:function(e){return!!(e&&h(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),r=(e,s)=>{if(v(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[s]=e;const o=u(e)?[]:{};return A(e,((e,t)=>{const n=r(e,s+1);!d(n)&&(o[t]=n)})),t[s]=void 0,o}}return e};return r(e,0)},isAsyncFn:j,isThenable:e=>e&&(v(e)||h(e))&&h(e.then)&&h(e.catch)};function M(e,t,r,s,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o)}x.inherits(M,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:x.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const k=M.prototype,B={};function q(e){return x.isPlainObject(e)||x.isArray(e)}function K(e){return x.endsWith(e,"[]")?e.slice(0,-2):e}function V(e,t,r){return e?e.concat(t).map((function(e,t){return e=K(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{B[e]={value:e}})),Object.defineProperties(M,B),Object.defineProperty(k,"isAxiosError",{value:!0}),M.from=(e,t,r,s,o,n)=>{const i=Object.create(k);return x.toFlatObject(e,i,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),M.call(i,e.message,t,r,s,o),i.cause=e,i.name=e.name,n&&Object.assign(i,n),i};const z=x.toFlatObject(x,{},null,(function(e){return/^is[A-Z]/.test(e)}));function J(e,t,r){if(!x.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const s=(r=x.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!x.isUndefined(t[e])}))).metaTokens,o=r.visitor||l,n=r.dots,i=r.indexes,a=(r.Blob||"undefined"!=typeof Blob&&Blob)&&x.isSpecCompliantForm(t);if(!x.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(x.isDate(e))return e.toISOString();if(!a&&x.isBlob(e))throw new M("Blob is not supported. Use a Buffer instead.");return x.isArrayBuffer(e)||x.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,r,o){let a=e;if(e&&!o&&"object"==typeof e)if(x.endsWith(r,"{}"))r=s?r:r.slice(0,-2),e=JSON.stringify(e);else if(x.isArray(e)&&function(e){return x.isArray(e)&&!e.some(q)}(e)||(x.isFileList(e)||x.endsWith(r,"[]"))&&(a=x.toArray(e)))return r=K(r),a.forEach((function(e,s){!x.isUndefined(e)&&null!==e&&t.append(!0===i?V([r],s,n):null===i?r:r+"[]",c(e))})),!1;return!!q(e)||(t.append(V(o,r,n),c(e)),!1)}const u=[],d=Object.assign(z,{defaultVisitor:l,convertValue:c,isVisitable:q});if(!x.isObject(e))throw new TypeError("data must be an object");return function e(r,s){if(!x.isUndefined(r)){if(-1!==u.indexOf(r))throw Error("Circular reference detected in "+s.join("."));u.push(r),x.forEach(r,(function(r,n){!0===(!(x.isUndefined(r)||null===r)&&o.call(t,r,x.isString(n)?n.trim():n,s,d))&&e(r,s?s.concat(n):[n])})),u.pop()}}(e),t}function G(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function H(e,t){this._pairs=[],e&&J(e,this,t)}const $=H.prototype;function W(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Y(e,t,r){if(!t)return e;const s=r&&r.encode||W,o=r&&r.serialize;let n;if(n=o?o(t,r):x.isURLSearchParams(t)?t.toString():new H(t,r).toString(s),n){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}$.append=function(e,t){this._pairs.push([e,t])},$.toString=function(e){const t=e?function(t){return e.call(this,t,G)}:G;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var X=class{constructor(){this.handlers=[]}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){x.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:H,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return("undefined"==typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};function ee(e){function t(e,r,s,o){let n=e[o++];const i=Number.isFinite(+n),a=o>=e.length;return n=!n&&x.isArray(s)?s.length:n,a?(x.hasOwnProp(s,n)?s[n]=[s[n],r]:s[n]=r,!i):(s[n]&&x.isObject(s[n])||(s[n]=[]),t(e,r,s[n],o)&&x.isArray(s[n])&&(s[n]=function(e){const t={},r=Object.keys(e);let s;const o=r.length;let n;for(s=0;s<o;s++)n=r[s],t[n]=e[n];return t}(s[n])),!i)}if(x.isFormData(e)&&x.isFunction(e.entries)){const r={};return x.forEachEntry(e,((e,s)=>{t(function(e){return x.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),s,r,0)})),r}return null}const te={transitional:Z,adapter:["xhr","http"],transformRequest:[function(e,t){const r=t.getContentType()||"",s=r.indexOf("application/json")>-1,o=x.isObject(e);if(o&&x.isHTMLForm(e)&&(e=new FormData(e)),x.isFormData(e))return s&&s?JSON.stringify(ee(e)):e;if(x.isArrayBuffer(e)||x.isBuffer(e)||x.isStream(e)||x.isFile(e)||x.isBlob(e))return e;if(x.isArrayBufferView(e))return e.buffer;if(x.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let n;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return J(e,new Q.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,s){return Q.isNode&&x.isBuffer(e)?(this.append(t,e.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=x.isFileList(e))||r.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return J(n?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||s?(t.setContentType("application/json",!1),function(e,t,r){if(x.isString(e))try{return(0,JSON.parse)(e),x.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||te.transitional,r=t&&t.forcedJSONParsing,s="json"===this.responseType;if(e&&x.isString(e)&&(r&&!this.responseType||s)){const r=!(t&&t.silentJSONParsing)&&s;try{return JSON.parse(e)}catch(e){if(r){if("SyntaxError"===e.name)throw M.from(e,M.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};x.forEach(["delete","get","head","post","put","patch"],(e=>{te.headers[e]={}}));var re=te;const se=x.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),oe=Symbol("internals");function ne(e){return e&&String(e).trim().toLowerCase()}function ie(e){return!1===e||null==e?e:x.isArray(e)?e.map(ie):String(e)}function ae(e,t,r,s,o){return x.isFunction(s)?s.call(this,t,r):(o&&(t=r),x.isString(t)?x.isString(s)?-1!==t.indexOf(s):x.isRegExp(s)?s.test(t):void 0:void 0)}class ce{constructor(e){e&&this.set(e)}set(e,t,r){const s=this;function o(e,t,r){const o=ne(t);if(!o)throw new Error("header name must be a non-empty string");const n=x.findKey(s,o);(!n||void 0===s[n]||!0===r||void 0===r&&!1!==s[n])&&(s[n||t]=ie(e))}const n=(e,t)=>x.forEach(e,((e,r)=>o(e,r,t)));return x.isPlainObject(e)||e instanceof this.constructor?n(e,t):x.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?n((e=>{const t={};let r,s,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),r=e.substring(0,o).trim().toLowerCase(),s=e.substring(o+1).trim(),!r||t[r]&&se[r]||("set-cookie"===r?t[r]?t[r].push(s):t[r]=[s]:t[r]=t[r]?t[r]+", "+s:s)})),t})(e),t):null!=e&&o(t,e,r),this}get(e,t){if(e=ne(e)){const r=x.findKey(this,e);if(r){const e=this[r];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=r.exec(e);)t[s[1]]=s[2];return t}(e);if(x.isFunction(t))return t.call(this,e,r);if(x.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ne(e)){const r=x.findKey(this,e);return!(!r||void 0===this[r]||t&&!ae(0,this[r],r,t))}return!1}delete(e,t){const r=this;let s=!1;function o(e){if(e=ne(e)){const o=x.findKey(r,e);!o||t&&!ae(0,r[o],o,t)||(delete r[o],s=!0)}}return x.isArray(e)?e.forEach(o):o(e),s}clear(e){const t=Object.keys(this);let r=t.length,s=!1;for(;r--;){const o=t[r];e&&!ae(0,this[o],o,e,!0)||(delete this[o],s=!0)}return s}normalize(e){const t=this,r={};return x.forEach(this,((s,o)=>{const n=x.findKey(r,o);if(n)return t[n]=ie(s),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,r)=>t.toUpperCase()+r))}(o):String(o).trim();i!==o&&delete t[o],t[i]=ie(s),r[i]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return x.forEach(this,((r,s)=>{null!=r&&!1!==r&&(t[s]=e&&x.isArray(r)?r.join(", "):r)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const r=new this(e);return t.forEach((e=>r.set(e))),r}static accessor(e){const t=(this[oe]=this[oe]={accessors:{}}).accessors,r=this.prototype;function s(e){const s=ne(e);t[s]||(function(e,t){const r=x.toCamelCase(" "+t);["get","set","has"].forEach((s=>{Object.defineProperty(e,s+r,{value:function(e,r,o){return this[s].call(this,t,e,r,o)},configurable:!0})}))}(r,e),t[s]=!0)}return x.isArray(e)?e.forEach(s):s(e),this}}ce.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),x.reduceDescriptors(ce.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}})),x.freezeMethods(ce);var le=ce;function ue(e,t){const r=this||re,s=t||r,o=le.from(s.headers);let n=s.data;return x.forEach(e,(function(e){n=e.call(r,n,o.normalize(),t?t.status:void 0)})),o.normalize(),n}function de(e){return!(!e||!e.__CANCEL__)}function pe(e,t,r){M.call(this,null==e?"canceled":e,M.ERR_CANCELED,t,r),this.name="CanceledError"}x.inherits(pe,M,{__CANCEL__:!0});var fe=Q.isStandardBrowserEnv?{write:function(e,t,r,s,o,n){const i=[];i.push(e+"="+encodeURIComponent(t)),x.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),x.isString(s)&&i.push("path="+s),x.isString(o)&&i.push("domain="+o),!0===n&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function he(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var me=Q.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let r;function s(r){let s=r;return e&&(t.setAttribute("href",s),s=t.href),t.setAttribute("href",s),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return r=s(window.location.href),function(e){const t=x.isString(e)?s(e):e;return t.protocol===r.protocol&&t.host===r.host}}():function(){return!0};function ve(e,t){let r=0;const s=function(e,t){e=e||10;const r=new Array(e),s=new Array(e);let o,n=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=s[i];o||(o=c),r[n]=a,s[n]=c;let u=i,d=0;for(;u!==n;)d+=r[u++],u%=e;if(n=(n+1)%e,n===i&&(i=(i+1)%e),c-o<t)return;const p=l&&c-l;return p?Math.round(1e3*d/p):void 0}}(50,250);return o=>{const n=o.loaded,i=o.lengthComputable?o.total:void 0,a=n-r,c=s(a);r=n;const l={loaded:n,total:i,progress:i?n/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&n<=i?(i-n)/c:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const Ee={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){let s=e.data;const o=le.from(e.headers).normalize(),n=e.responseType;let i,a;function c(){e.cancelToken&&e.cancelToken.unsubscribe(i),e.signal&&e.signal.removeEventListener("abort",i)}x.isFormData(s)&&(Q.isStandardBrowserEnv||Q.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?x.isString(a=o.getContentType())&&o.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",r=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+r))}const u=he(e.baseURL,e.url);function d(){if(!l)return;const s=le.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(e,t,r){const s=r.config.validateStatus;r.status&&s&&!s(r.status)?t(new M("Request failed with status code "+r.status,[M.ERR_BAD_REQUEST,M.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}((function(e){t(e),c()}),(function(e){r(e),c()}),{data:n&&"text"!==n&&"json"!==n?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:s,config:e,request:l}),l=null}if(l.open(e.method.toUpperCase(),Y(u,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,"onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(d)},l.onabort=function(){l&&(r(new M("Request aborted",M.ECONNABORTED,e,l)),l=null)},l.onerror=function(){r(new M("Network Error",M.ERR_NETWORK,e,l)),l=null},l.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const s=e.transitional||Z;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(new M(t,s.clarifyTimeoutError?M.ETIMEDOUT:M.ECONNABORTED,e,l)),l=null},Q.isStandardBrowserEnv){const t=(e.withCredentials||me(u))&&e.xsrfCookieName&&fe.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===s&&o.setContentType(null),"setRequestHeader"in l&&x.forEach(o.toJSON(),(function(e,t){l.setRequestHeader(t,e)})),x.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),n&&"json"!==n&&(l.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",ve(e.onDownloadProgress,!0)),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",ve(e.onUploadProgress)),(e.cancelToken||e.signal)&&(i=t=>{l&&(r(!t||t.type?new pe(null,e,l):t),l.abort(),l=null)},e.cancelToken&&e.cancelToken.subscribe(i),e.signal&&(e.signal.aborted?i():e.signal.addEventListener("abort",i)));const p=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(u);p&&-1===Q.protocols.indexOf(p)?r(new M("Unsupported protocol "+p+":",M.ERR_BAD_REQUEST,e)):l.send(s||null)}))}};x.forEach(Ee,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const ye=e=>`- ${e}`,ge=e=>x.isFunction(e)||null===e||!1===e;var we=e=>{e=x.isArray(e)?e:[e];const{length:t}=e;let r,s;const o={};for(let n=0;n<t;n++){let t;if(r=e[n],s=r,!ge(r)&&(s=Ee[(t=String(r)).toLowerCase()],void 0===s))throw new M(`Unknown adapter '${t}'`);if(s)break;o[t||"#"+n]=s}if(!s){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new M("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(ye).join("\n"):" "+ye(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return s};function Se(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new pe(null,e)}function Re(e){return Se(e),e.headers=le.from(e.headers),e.data=ue.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),we(e.adapter||re.adapter)(e).then((function(t){return Se(e),t.data=ue.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return de(t)||(Se(e),t&&t.response&&(t.response.data=ue.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}const Ae=e=>e instanceof le?e.toJSON():e;function be(e,t){t=t||{};const r={};function s(e,t,r){return x.isPlainObject(e)&&x.isPlainObject(t)?x.merge.call({caseless:r},e,t):x.isPlainObject(t)?x.merge({},t):x.isArray(t)?t.slice():t}function o(e,t,r){return x.isUndefined(t)?x.isUndefined(e)?void 0:s(void 0,e,r):s(e,t,r)}function n(e,t){if(!x.isUndefined(t))return s(void 0,t)}function i(e,t){return x.isUndefined(t)?x.isUndefined(e)?void 0:s(void 0,e):s(void 0,t)}function a(r,o,n){return n in t?s(r,o):n in e?s(void 0,r):void 0}const c={url:n,method:n,data:n,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t)=>o(Ae(e),Ae(t),!0)};return x.forEach(Object.keys(Object.assign({},e,t)),(function(s){const n=c[s]||o,i=n(e[s],t[s],s);x.isUndefined(i)&&n!==a||(r[s]=i)})),r}const Oe={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Oe[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const _e={};Oe.transitional=function(e,t,r){function s(e,t){return"[Axios v1.5.1] Transitional option '"+e+"'"+t+(r?". "+r:"")}return(r,o,n)=>{if(!1===e)throw new M(s(o," has been removed"+(t?" in "+t:"")),M.ERR_DEPRECATED);return t&&!_e[o]&&(_e[o]=!0,console.warn(s(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,n)}};var Ce={assertOptions:function(e,t,r){if("object"!=typeof e)throw new M("options must be an object",M.ERR_BAD_OPTION_VALUE);const s=Object.keys(e);let o=s.length;for(;o-- >0;){const n=s[o],i=t[n];if(i){const t=e[n],r=void 0===t||i(t,n,e);if(!0!==r)throw new M("option "+n+" must be "+r,M.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new M("Unknown option "+n,M.ERR_BAD_OPTION)}},validators:Oe};const Te=Ce.validators;class Ie{constructor(e){this.defaults=e,this.interceptors={request:new X,response:new X}}request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=be(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:o}=t;void 0!==r&&Ce.assertOptions(r,{silentJSONParsing:Te.transitional(Te.boolean),forcedJSONParsing:Te.transitional(Te.boolean),clarifyTimeoutError:Te.transitional(Te.boolean)},!1),null!=s&&(x.isFunction(s)?t.paramsSerializer={serialize:s}:Ce.assertOptions(s,{encode:Te.function,serialize:Te.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let n=o&&x.merge(o.common,o[t.method]);o&&x.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=le.concat(n,o);const i=[];let a=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,i.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let u,d=0;if(!a){const e=[Re.bind(this),void 0];for(e.unshift.apply(e,i),e.push.apply(e,c),u=e.length,l=Promise.resolve(t);d<u;)l=l.then(e[d++],e[d++]);return l}u=i.length;let p=t;for(d=0;d<u;){const e=i[d++],t=i[d++];try{p=e(p)}catch(e){t.call(this,e);break}}try{l=Re.call(this,p)}catch(e){return Promise.reject(e)}for(d=0,u=c.length;d<u;)l=l.then(c[d++],c[d++]);return l}getUri(e){return Y(he((e=be(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}x.forEach(["delete","get","head","options"],(function(e){Ie.prototype[e]=function(t,r){return this.request(be(r||{},{method:e,url:t,data:(r||{}).data}))}})),x.forEach(["post","put","patch"],(function(e){function t(t){return function(r,s,o){return this.request(be(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:s}))}}Ie.prototype[e]=t(),Ie.prototype[e+"Form"]=t(!0)}));var De=Ie;class Pe{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const r=this;this.promise.then((e=>{if(!r._listeners)return;let t=r._listeners.length;for(;t-- >0;)r._listeners[t](e);r._listeners=null})),this.promise.then=e=>{let t;const s=new Promise((e=>{r.subscribe(e),t=e})).then(e);return s.cancel=function(){r.unsubscribe(t)},s},e((function(e,s,o){r.reason||(r.reason=new pe(e,s,o),t(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new Pe((function(t){e=t})),cancel:e}}}var Fe=Pe;const Ne={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ne).forEach((([e,t])=>{Ne[t]=e}));var Le=Ne;const Ue=function e(t){const r=new De(t),o=s(De.prototype.request,r);return x.extend(o,De.prototype,r,{allOwnKeys:!0}),x.extend(o,r,null,{allOwnKeys:!0}),o.create=function(r){return e(be(t,r))},o}(re);Ue.Axios=De,Ue.CanceledError=pe,Ue.CancelToken=Fe,Ue.isCancel=de,Ue.VERSION="1.5.1",Ue.toFormData=J,Ue.AxiosError=M,Ue.Cancel=Ue.CanceledError,Ue.all=function(e){return Promise.all(e)},Ue.spread=function(e){return function(t){return e.apply(null,t)}},Ue.isAxiosError=function(e){return x.isObject(e)&&!0===e.isAxiosError},Ue.mergeConfig=be,Ue.AxiosHeaders=le,Ue.formToJSON=e=>ee(x.isHTMLForm(e)?new FormData(e):e),Ue.getAdapter=we,Ue.HttpStatusCode=Le,Ue.default=Ue,e.exports=Ue}},t={};function r(s){var o=t[s];if(void 0!==o)return o.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,r),n.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var s={};return(()=>{"use strict";var e=s;const t=r(923),o=r(632),n=r(467),i=r(604),a=r(122),c=r(344),l=r(927),u=r(168);class d{}d.livenessSession=t.livenessSession,d.isLivenessApproved=o.isLivenessApproved,d.estimateAge=n.estimateAge,d.uploadIdentificationDocument=i.uploadIdentificationDocument,d.insertUploadIdentificationDocument=a.insertUploadIdentificationDocument,d.typification=c.typification,d.ocr=u.ocr,d.faceMatch=l.faceMatch,e.default=d})(),s.default})()));