santoid-sdk 5.1.0 → 5.3.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.
- package/CHANGELOG.md +10 -1
- package/README.md +278 -52
- package/api/ApiAsyncService.d.ts +32 -0
- package/api/ApiAsyncService.js +15 -0
- package/api/ApiFaceMatchService.d.ts +31 -0
- package/api/ApiFaceMatchService.js +32 -0
- package/api/ApiOcrService.d.ts +61 -0
- package/api/ApiOcrService.js +25 -0
- package/api/ApiTypificationService.d.ts +23 -0
- package/api/{TypificationService.js → ApiTypificationService.js} +8 -9
- package/browser/index.js +1 -1
- package/client/core/commons/BaseCoreService.d.ts +22 -0
- package/client/core/commons/BaseCoreService.js +150 -0
- package/client/core/index.d.ts +4 -0
- package/client/core/index.js +9 -0
- package/client/core/methods/faceMatch/Service.d.ts +20 -0
- package/client/core/methods/faceMatch/Service.js +126 -0
- package/client/core/methods/faceMatch/index.d.ts +15 -0
- package/client/core/methods/faceMatch/index.js +43 -0
- package/client/core/methods/ocr/Service.d.ts +13 -0
- package/client/core/methods/ocr/Service.js +56 -0
- package/client/core/methods/ocr/index.d.ts +10 -0
- package/client/core/methods/ocr/index.js +40 -0
- package/client/core/methods/typification/Service.d.ts +10 -0
- package/client/core/methods/typification/Service.js +56 -0
- package/client/core/methods/typification/index.d.ts +10 -0
- package/client/core/methods/typification/index.js +41 -0
- package/client/core/utils/types.d.ts +26 -0
- package/client/core/utils/types.js +2 -0
- package/client/index.d.ts +6 -0
- package/client/index.js +6 -0
- package/client/liveness/methods/livenessDetection/Service.js +10 -2
- package/client/liveness/methods/livenessDetection/index.js +5 -1
- package/client/liveness/methods/uploadIdentificationDocument/Service.d.ts +20 -19
- package/client/liveness/methods/uploadIdentificationDocument/Service.js +38 -5
- package/client/liveness/methods/uploadIdentificationDocument/index.d.ts +4 -6
- package/client/liveness/utils/getNextFrame.js +7 -2
- package/package.json +1 -1
- package/server/core/index.d.ts +4 -0
- package/server/core/index.js +9 -0
- package/server/core/methods/faceMatch/Service.d.ts +9 -0
- package/server/core/methods/faceMatch/Service.js +23 -0
- package/server/core/methods/faceMatch/index.d.ts +7 -0
- package/server/core/methods/faceMatch/index.js +28 -0
- package/server/core/methods/ocr/Service.d.ts +9 -0
- package/server/core/methods/ocr/Service.js +23 -0
- package/server/core/methods/ocr/index.d.ts +7 -0
- package/server/core/methods/ocr/index.js +28 -0
- package/server/core/methods/typification/Service.d.ts +9 -0
- package/server/core/methods/typification/Service.js +23 -0
- package/server/core/methods/typification/index.d.ts +7 -0
- package/server/core/methods/typification/index.js +28 -0
- package/server/index.d.ts +6 -0
- package/server/index.js +6 -0
- package/server/liveness/methods/livenessDetection/index.js +5 -1
- package/server/liveness/methods/uploadIdentificationDocument/Service.d.ts +2 -2
- package/server/liveness/methods/uploadIdentificationDocument/Service.js +4 -4
- package/server/liveness/methods/uploadIdentificationDocument/index.d.ts +6 -8
- package/utils/error.d.ts +19 -2
- package/utils/error.js +21 -2
- package/utils/types.d.ts +1 -0
- package/.bitbucket/pipelines/generated/pipeline/pipes/sonarsource/sonarcloud-scan/sonarcloud-scan.log +0 -286
- package/api/FaceMatchService.d.ts +0 -9
- package/api/FaceMatchService.js +0 -19
- package/api/TypificationService.d.ts +0 -90
package/browser/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("SantoiDSDK",[],e):"object"==typeof exports?exports.SantoiDSDK=e():t.SantoiDSDK=e()}(this,(()=>(()=>{var t={373:function(t,e,n){"use strict";var o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractService=void 0;const r=o(n(218)),s=n(661);e.AbstractService=class{constructor(t,e){this.options=t,this.serviceOptions=e}request(t){var e,n,{contentType:o="application/json",authToken:i=this.options.token,baseUrl:a=(null!==(e=this.options.customApiUrl)&&void 0!==e?e:s.API_GATEWAY_URL)}=void 0===t?{}:t;const c={baseURL:a,headers:{"Content-Type":o,Authorization:`Bearer ${i}`}};let l=this.options.domain;if(!this.options.domain&&this.options.token){const t=this.serviceOptions.tryDecodeJwt(this.options.token);l=null===(n=null==t?void 0:t.claims)||void 0===n?void 0:n.domain}return c.headers&&(l&&(c.headers.Domain=l),this.options.useBillingAccounts&&(c.headers.clientCredentials=!0)),r.default.create(c)}}},605:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FaceMatchService=void 0;const o=n(373),r=n(951);class s extends o.AbstractService{async faceMatch(t,e){return await(0,r.retryAsyncFunctionXTimes)((async()=>{const n=new this.serviceOptions.FormDataClass;return n.append("track",this.options.track),n.append("firstImage",t,"firstImage.jpg"),n.append("secondImage",e,"secondImage.jpg"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/facematch/pair",n,{params:{sensitive_data_compliance:!0}})).data}))}}e.FaceMatchService=s},144:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypificationService=void 0;const o=n(373),r=n(951);class s extends o.AbstractService{async predict(t,e){return await(0,r.retryAsyncFunctionXTimes)((async()=>{const n=new this.serviceOptions.FormDataClass;return n.append("imageFile",t,"imageFile.jpg"),n.append("track",this.options.track),n.append("customerRequestId",e),n.append("deliveryFront",!0),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/typification-async/predict",n)).data}))}async get(t){return(await this.request().get(`/api/v1/tracks/${this.options.track}/typification-async/`+t)).data}}e.TypificationService=s},122:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.insertUploadIdentificationDocument=void 0;const o=n(661);e.insertUploadIdentificationDocument=function(t,e){var n,r,s;const i=e?document.querySelector(e):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!==(n=t.width)&&void 0!==n?n:"100%"),a.setAttribute("height",null!==(r=t.height)&&void 0!==r?r:"550px"),a.setAttribute("scrolling","no"),a.setAttribute("allow","camera; microphone; clipboard-read; clipboard-write");let c=`${null!==(s=t.customAppUrl)&&void 0!==s?s:o.APPLICATION_URL}/share/domains/${t.domain}/tracks/${t.track}/flow/${t.flow}/embedded`;t.token&&(c+=`?accessToken=${t.token}`),a.setAttribute("src",c),i.appendChild(a)}},42:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LivenessDetectionService=void 0;const o=n(551),r=n(620),s=n(951),i=n(661);e.LivenessDetectionService=class{constructor(t,e){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=t,this.abstractWebSocket=e}async onWebSocketMessage(t){var e,n,r,i,a,c,l,u;const d=t.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===(n=(e=this.options).onNextStep)||void 0===n?void 0:n.call(e,p.next_step)),await(null===(i=(r=this.options)[`on${(0,s.capitalizeFirstLetter)(p.next_step)}Step`])||void 0===i?void 0:i.call(r))),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 o.SDKError({message:"Wrong position",code:o.ELivenessDetectionErrorCodes.WRONG_POSITION}))),p}async stopLivenessDetection(){var t,e,n,o,r;await(0,s.waitFor)((()=>!!this.cancelSendingFramesToWebsocket)),null===(t=this.cancelSendingFramesToWebsocket)||void 0===t||t.call(this),await(null===(n=(e=this.frameGetControls).stopGettingFrames)||void 0===n?void 0:n.call(e)),this.abstractWebSocket.disconnectFromWebSocket(),this.endCalled||(await(null===(r=(o=this.options).onEnd)||void 0===r?void 0:r.call(o)),this.endCalled=!0),this.websocketClosedBySDK=!0}async sendFramesToWebSocket(){var t,e;try{if(this.canSendNextBytes&&!this.pauseSendingFramesToWebSocket){const n=await(null===(e=(t=this.frameGetControls).getNextFrame)||void 0===e?void 0:e.call(t));n&&(this.abstractWebSocket.send(n),this.lastSentBytes=n,this.canSendNextBytes=!1)}}catch(t){await this.stopLivenessDetection()}}async onConnect(){var t,e,n,o,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===(e=(t=this.options).startGettingFrames)||void 0===e?void 0:e.call(t));else{const t=await(0,r.getDefaultFrameControls)();this.frameGetControls.startGettingFrames=t.startGettingFrames,this.frameGetControls.getNextFrame=t.getNextFrame,this.frameGetControls.stopGettingFrames=t.stopGettingFrames,this.frameGetControls.videoStream=await(null===(o=(n=this.frameGetControls).startGettingFrames)||void 0===o?void 0:o.call(n))}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,s.callAsyncFunctionEveryXSeconds)((async()=>{await this.sendFramesToWebSocket()}),i.SEND_FRAMES_INTERVAL_MS)}catch(t){await this.onError()}}async onError(){var t,e;this.validationSuccess||(await(null===(e=(t=this.options).onError)||void 0===e?void 0:e.call(t,new o.SDKError({message:"Internal Error",code:o.EDefaultErrorCodes.INTERNAL_ERROR}))),await this.stopLivenessDetection())}resumeGettingFrames(){this.pauseSendingFramesToWebSocket=!1}pauseGettingFrames(){this.pauseSendingFramesToWebSocket=!0}getVideoStream(){var t;return null===(t=this.frameGetControls)||void 0===t?void 0:t.videoStream}}},234:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.livenessDetection=void 0;const o=n(42),r=n(551),s=n(706),i=n(616);e.livenessDetection=function(t){var e;try{const n=new s.AbstractWebSocket({WebSocketClass:null!==(e=t.CustomWebSocketClass)&&void 0!==e?e:WebSocket,decodeJwt:i.decodeJwt},t);n.startConnection();const r=new o.LivenessDetectionService(t,n);return n.waitForWebSocketConnection().then((()=>{r.onConnect()})).catch((()=>{r.onError()})),n.addListener("message",(t=>{r.onWebSocketMessage(t)})),n.addListener("error",(()=>{r.onError()})),n.addListener("close",(()=>{r.onError()})),{getVideoStream:()=>r.getVideoStream(),stopLivenessDetection:async()=>{await r.stopLivenessDetection()},resumeGettingFrames:()=>{r.resumeGettingFrames()},pauseGettingFrames:()=>{r.pauseGettingFrames()}}}catch(t){throw new r.SDKError({message:"Error while starting SDK",code:r.EDefaultErrorCodes.INITIALIZATION_ERROR})}}},171:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UploadIdentificationDocumentService=void 0;const o=n(144),r=n(605),s=n(551),i=n(877),a=n(616);e.UploadIdentificationDocumentService=class{constructor(t,e){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=t,this.internalOptions=e,this.typificationService=new o.TypificationService(t,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt}),this.faceMatchService=new r.FaceMatchService(t,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}getResults(){return this.results}async updateResults(t){var e,n,o,r,s,i;this.results=Object.assign(Object.assign({},this.results),t),await(null===(n=(e=this.options).onUpdate)||void 0===n?void 0:n.call(e,this.results)),t.faceMatch||this.tryStartFaceMatch(),Object.entries(this.results).every((([t,e])=>"uploadedDocument"===t||!!e.results))&&(await(null===(r=(o=this.options).onSuccess)||void 0===r?void 0:r.call(o,this.results)),await(null===(i=(s=this.options).onEnd)||void 0===i?void 0:i.call(s)))}updateUploadedDocument(t){this.results.uploadedDocument=t}async waitForResults(t){let e=!1;return await new Promise(((n,o)=>{const r=setInterval((async()=>{var s,i,a,c;try{null===(i=(s=this.options).onClearInterval)||void 0===i||i.call(s,r);const l=await this.typificationService.get(t);if("validation"!==(null==l?void 0:l.status)||e){if("error"===(null==l?void 0:l.status))clearInterval(r),o(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 t=await fetch(l.fileURL),e=await t.json();e&&(clearInterval(r),n(e))}}else await(null===(c=(a=this.options).onValidationRequested)||void 0===c?void 0:c.call(a,{track:this.options.track,requestId:l.id})),e=!0}catch(t){clearInterval(r),o(new Error(t))}}),5e3)}))}async startDocumentUpload(t){var e,n;try{this.updateResults({typification:{status:null,results:null,loading:!0,error:null}}),this.updateUploadedDocument(t);const{requestId:e}=await this.typificationService.predict(t,`sdk-typification-${(0,i.v4)()}`),n=await this.waitForResults(e);this.updateResults({typification:{status:"success",results:n,loading:!1,error:null}})}catch(t){const o=new s.SDKError({message:"Error during document upload/analysis",code:s.EUploadIdentificationDocumentErrorCodes.DOCUMENT_ANALYSIS_ERROR,details:t});await(null===(n=(e=this.options).onError)||void 0===n?void 0:n.call(e,o)),this.updateResults({typification:{status:"error",results:null,loading:!1,error:o}})}}startLivenessDetection(t){var e,n;const o=Object.assign(Object.assign({},this.options.livenessDetectionOptions),t);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},o),{onSuccess:async t=>{var e;await(null===(e=null==o?void 0:o.onSuccess)||void 0===e?void 0:e.call(o,t)),this.updateResults({liveness:{status:"success",results:t,loading:!1,error:null}})},onError:async t=>{var e,n,r;await(null===(e=null==o?void 0:o.onError)||void 0===e?void 0:e.call(o,t)),await(null===(r=(n=this.options).onError)||void 0===r?void 0:r.call(n,t)),this.updateResults({liveness:{status:"error",results:null,loading:"wrong-position"===(null==t?void 0:t.code),error:null!=t?t:null}})}}))}catch(t){const o=new s.SDKError({message:"Error during liveness detection",code:s.EUploadIdentificationDocumentErrorCodes.LIVENESS_DETECTION_ERROR,details:t});null===(n=(e=this.options).onError)||void 0===n||n.call(e,o),this.updateResults({liveness:{status:"error",results:null,loading:!1,error:o}})}}async startFaceMatch(t,e){var n,o;try{this.updateResults({faceMatch:{status:null,results:null,loading:!0,error:null}});const n=await this.faceMatchService.faceMatch(t,e);this.updateResults({faceMatch:{results:n,status:"success",loading:!1,error:null}})}catch(t){const e=new s.SDKError({message:"Error when comparing the face with the document",code:s.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_ERROR,details:t});await(null===(o=(n=this.options).onError)||void 0===o?void 0:o.call(n,e)),this.updateResults({faceMatch:{results:null,status:"error",loading:!1,error:e}})}}async tryStartFaceMatch(){var t,e,n;!this.results.uploadedDocument||!(null===(t=this.results.liveness.results)||void 0===t?void 0:t.successFrames.front)||this.results.faceMatch.loading||this.results.liveness.loading||this.results.typification.loading?await(null===(n=(e=this.options).onError)||void 0===n?void 0:n.call(e,new s.SDKError({message:"Unavailable faces",code:s.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_UNAVAILABLE_FACES_ERROR}))):await this.startFaceMatch(this.results.uploadedDocument,this.results.liveness.results.successFrames.front)}startAll(t,e){this.startDocumentUpload(t),this.startLivenessDetection(e)}}},604:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uploadIdentificationDocument=void 0;const o=n(171),r=n(234);e.uploadIdentificationDocument=function(t){const e=new o.UploadIdentificationDocumentService(t,{livenessDetection:r.livenessDetection});return{startDocumentUpload:async(...t)=>{await e.startDocumentUpload(...t)},startLivenessDetection:(...t)=>e.startLivenessDetection(...t),startFaceComparison:async(...t)=>{await e.tryStartFaceMatch(...t)},startAll:(...t)=>{e.startAll(...t)},getResults:(...t)=>e.getResults(...t)}}},620:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDefaultFrameControls=void 0,e.getDefaultFrameControls=async function(){let t,e,n,o;return{startGettingFrames:async function(){return t&&e&&n||(t=await navigator.mediaDevices.getUserMedia({video:!0}),e=document.createElement("video"),e.setAttribute("autoplay","true"),e.style.transform="scale(-1, 1)",e.style.position="absolute",e.style.left="99999px",document.body.appendChild(e),e.srcObject=t,n=document.createElement("canvas"),o=n.getContext("2d")),t},getNextFrame:async function(){if(n&&e)return n.width=e.videoWidth,n.height=e.videoHeight,null==o||o.drawImage(e,0,0,n.width,n.height),await new Promise(((t,e)=>{n?n.toBlob((e=>{t(e)})):t(null)}));throw new Error("Cannot found video element")},stopGettingFrames:function(){e&&(document.body.removeChild(e),e=void 0),n&&(n=void 0),o&&(o=void 0),t&&(null==t||t.getTracks().forEach((t=>{t.stop()})),t=void 0)}}}},616:(t,e)=>{"use strict";function n(t){const e=t.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(e).split("").map((t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.tryDecodeJwt=e.decodeJwt=void 0,e.decodeJwt=n,e.tryDecodeJwt=function(t){try{return n(t)}catch(t){return null}}},661:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_RETRY_TIME_STEP=e.DEFAULT_NUMBER_OF_RETRIES=e.SEND_FRAMES_INTERVAL_MS=e.APPLICATION_URL=e.API_GATEWAY_URL=e.WEBSOCKET_BASE_URL=void 0,e.WEBSOCKET_BASE_URL="wss://santoid-liveness-w4ynos5dlq-ue.a.run.app/api/v1/liveness/ws",e.API_GATEWAY_URL="https://api.santoid.com.br",e.APPLICATION_URL="https://app.santoid.com.br",e.SEND_FRAMES_INTERVAL_MS=100,e.DEFAULT_NUMBER_OF_RETRIES=5,e.DEFAULT_RETRY_TIME_STEP=1e3},551:(t,e)=>{"use strict";var n,o,r;Object.defineProperty(e,"__esModule",{value:!0}),e.SDKError=e.EUploadIdentificationDocumentErrorCodes=e.ELivenessDetectionErrorCodes=e.EDefaultErrorCodes=void 0,function(t){t.INITIALIZATION_ERROR="initialization-error",t.INTERNAL_ERROR="internal-error"}(n||(e.EDefaultErrorCodes=n={})),function(t){t.WRONG_POSITION="liveness-detection/wrong-position"}(o||(e.ELivenessDetectionErrorCodes=o={})),function(t){t.FACE_MATCH_ERROR="upload-identification-document/face-match-error",t.FACE_MATCH_UNAVAILABLE_FACES_ERROR="upload-identification-document/face-match-unavailable-faces-error",t.DOCUMENT_ANALYSIS_ERROR="upload-identification-document/document-analysis-error",t.LIVENESS_DETECTION_ERROR="upload-identification-document/liveness-detection-error"}(r||(e.EUploadIdentificationDocumentErrorCodes=r={}));class s extends Error{constructor({message:t,code:e,details:n}){super(t),this.code=e,this.details=n}}e.SDKError=s},951:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.retryAsyncFunctionXTimes=e.callAsyncFunctionEveryXSeconds=e.waitFor=e.wait=e.capitalizeFirstLetter=void 0;const o=n(218),r=n(661);async function s(t){await new Promise((e=>{t()?e():setTimeout((()=>{s(t).then(e)}),500)}))}function i(t){var e;return t instanceof o.AxiosError&&(503===(null===(e=t.response)||void 0===e?void 0:e.status)||"Network Error"===t.message)}e.capitalizeFirstLetter=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},e.wait=async t=>{await new Promise((e=>{setTimeout(e,t)}))},e.waitFor=s,e.callAsyncFunctionEveryXSeconds=function t(e,n,o={stop:!1}){const r={timerEnd:!1};return setTimeout((()=>{r.timerEnd=!0}),n),e().then((async()=>{await s((()=>r.timerEnd)),o.stop||t(e,n,o)})),function(){o.stop=!0}},e.retryAsyncFunctionXTimes=async function t(n,o=i,s=r.DEFAULT_NUMBER_OF_RETRIES,a=1e3,c=r.DEFAULT_RETRY_TIME_STEP){try{return await n()}catch(r){if(o(r)&&s>0)return await(0,e.wait)(a),await t(n,o,s-1,a+c,c);throw r}}},706:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractWebSocket=void 0;const o=n(661);e.AbstractWebSocket=class{constructor(t,e){this.classOptions=t,this.sdkOptions=e}startConnection(){var t,e;const n=this.classOptions.decodeJwt(this.sdkOptions.token),r={x_endpoint_api_userinfo:this.sdkOptions.token,domain:null!==(t=this.sdkOptions.domain)&&void 0!==t?t:n.claims.domain,track:this.sdkOptions.track};this.sdkOptions.customId&&(r.customerRequestId=this.sdkOptions.customId),this.sdkOptions.useBillingAccounts&&(r.clientCredentials=!0);const s=Object.entries(r).map((t=>t.join("="))).join("&");this.websocket=new this.classOptions.WebSocketClass(`${null!==(e=this.sdkOptions.customWebSocketUrl)&&void 0!==e?e:o.WEBSOCKET_BASE_URL}?${s}`)}async waitForWebSocketConnection(){if(await new Promise((t=>{const e=setInterval((()=>{[3,1].includes(this.websocket.readyState)&&(clearInterval(e),t())}),5)})),3===this.websocket.readyState)throw new Error("Cannot connect to server")}disconnectFromWebSocket(){var t,e;[2,3].includes(this.websocket.readyState)||null===(e=(t=this.websocket).close)||void 0===e||e.call(t)}get readyState(){return this.websocket.readyState}addListener(t,e){var n,o;this.websocket.on?this.websocket.on(t,e):null===(o=(n=this.websocket).addEventListener)||void 0===o||o.call(n,t,e)}send(t){this.websocket.send(t)}}},877:(t,e,n)=>{var o=n(570),r=n(358),s=r;s.v1=o,s.v4=r,t.exports=s},327:t=>{for(var e=[],n=0;n<256;++n)e[n]=(n+256).toString(16).substr(1);t.exports=function(t,n){var o=n||0,r=e;return[r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]]].join("")}},217:t=>{var e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(e){var n=new Uint8Array(16);t.exports=function(){return e(n),n}}else{var o=new Array(16);t.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),o[e]=t>>>((3&e)<<3)&255;return o}}},570:(t,e,n)=>{var o,r,s=n(217),i=n(327),a=0,c=0;t.exports=function(t,e,n){var l=e&&n||0,u=e||[],d=(t=t||{}).node||o,p=void 0!==t.clockseq?t.clockseq:r;if(null==d||null==p){var f=s();null==d&&(d=o=[1|f[0],f[1],f[2],f[3],f[4],f[5]]),null==p&&(p=r=16383&(f[6]<<8|f[7]))}var h=void 0!==t.msecs?t.msecs:(new Date).getTime(),m=void 0!==t.nsecs?t.nsecs:c+1,v=h-a+(m-c)/1e4;if(v<0&&void 0===t.clockseq&&(p=p+1&16383),(v<0||h>a)&&void 0===t.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=h,c=m,r=p;var y=(1e4*(268435455&(h+=122192928e5))+m)%4294967296;u[l++]=y>>>24&255,u[l++]=y>>>16&255,u[l++]=y>>>8&255,u[l++]=255&y;var g=h/4294967296*1e4&268435455;u[l++]=g>>>8&255,u[l++]=255&g,u[l++]=g>>>24&15|16,u[l++]=g>>>16&255,u[l++]=p>>>8|128,u[l++]=255&p;for(var E=0;E<6;++E)u[l+E]=d[E];return e||i(u)}},358:(t,e,n)=>{var o=n(217),r=n(327);t.exports=function(t,e,n){var s=e&&n||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||o)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var a=0;a<16;++a)e[s+a]=i[a];return e||r(i)}},218:(t,e,n)=>{"use strict";function o(t,e){return function(){return t.apply(e,arguments)}}const{toString:r}=Object.prototype,{getPrototypeOf:s}=Object,i=(a=Object.create(null),t=>{const e=r.call(t);return a[e]||(a[e]=e.slice(8,-1).toLowerCase())});var a;const c=t=>(t=t.toLowerCase(),e=>i(e)===t),l=t=>e=>typeof e===t,{isArray:u}=Array,d=l("undefined"),p=c("ArrayBuffer"),f=l("string"),h=l("function"),m=l("number"),v=t=>null!==t&&"object"==typeof t,y=t=>{if("object"!==i(t))return!1;const e=s(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},g=c("Date"),E=c("File"),w=c("Blob"),b=c("FileList"),S=c("URLSearchParams");function O(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let o,r;if("object"!=typeof t&&(t=[t]),u(t))for(o=0,r=t.length;o<r;o++)e.call(null,t[o],o,t);else{const r=n?Object.getOwnPropertyNames(t):Object.keys(t),s=r.length;let i;for(o=0;o<s;o++)i=r[o],e.call(null,t[i],i,t)}}function R(t,e){e=e.toLowerCase();const n=Object.keys(t);let o,r=n.length;for(;r-- >0;)if(o=n[r],e===o.toLowerCase())return o;return null}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:n.g,T=t=>!d(t)&&t!==A,_=(C="undefined"!=typeof Uint8Array&&s(Uint8Array),t=>C&&t instanceof C);var C;const D=c("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),N=c("RegExp"),k=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),o={};O(n,((n,r)=>{let s;!1!==(s=e(n,r,t))&&(o[r]=s||n)})),Object.defineProperties(t,o)},j="abcdefghijklmnopqrstuvwxyz",U="0123456789",L={DIGIT:U,ALPHA:j,ALPHA_DIGIT:j+j.toUpperCase()+U},x=c("AsyncFunction");var I={isArray:u,isArrayBuffer:p,isBuffer:function(t){return null!==t&&!d(t)&&null!==t.constructor&&!d(t.constructor)&&h(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||h(t.append)&&("formdata"===(e=i(t))||"object"===e&&h(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&p(t.buffer),e},isString:f,isNumber:m,isBoolean:t=>!0===t||!1===t,isObject:v,isPlainObject:y,isUndefined:d,isDate:g,isFile:E,isBlob:w,isRegExp:N,isFunction:h,isStream:t=>v(t)&&h(t.pipe),isURLSearchParams:S,isTypedArray:_,isFileList:b,forEach:O,merge:function t(){const{caseless:e}=T(this)&&this||{},n={},o=(o,r)=>{const s=e&&R(n,r)||r;y(n[s])&&y(o)?n[s]=t(n[s],o):y(o)?n[s]=t({},o):u(o)?n[s]=o.slice():n[s]=o};for(let t=0,e=arguments.length;t<e;t++)arguments[t]&&O(arguments[t],o);return n},extend:(t,e,n,{allOwnKeys:r}={})=>(O(e,((e,r)=>{n&&h(e)?t[r]=o(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,o)=>{t.prototype=Object.create(e.prototype,o),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,o)=>{let r,i,a;const c={};if(e=e||{},null==t)return e;do{for(r=Object.getOwnPropertyNames(t),i=r.length;i-- >0;)a=r[i],o&&!o(a,t,e)||c[a]||(e[a]=t[a],c[a]=!0);t=!1!==n&&s(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:i,kindOfTest:c,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const o=t.indexOf(e,n);return-1!==o&&o===n},toArray:t=>{if(!t)return null;if(u(t))return t;let e=t.length;if(!m(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let o;for(;(o=n.next())&&!o.done;){const n=o.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const o=[];for(;null!==(n=t.exec(e));)o.push(n);return o},isHTMLForm:D,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:k,freezeMethods:t=>{k(t,((e,n)=>{if(h(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const o=t[n];h(o)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},o=t=>{t.forEach((t=>{n[t]=!0}))};return u(t)?o(t):o(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:R,global:A,isContextDefined:T,ALPHABET:L,generateString:(t=16,e=L.ALPHA_DIGIT)=>{let n="";const{length:o}=e;for(;t--;)n+=e[Math.random()*o|0];return n},isSpecCompliantForm:function(t){return!!(t&&h(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,o)=>{if(v(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[o]=t;const r=u(t)?[]:{};return O(t,((t,e)=>{const s=n(t,o+1);!d(s)&&(r[e]=s)})),e[o]=void 0,r}}return t};return n(t,0)},isAsyncFn:x,isThenable:t=>t&&(v(t)||h(t))&&h(t.then)&&h(t.catch)};function P(t,e,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r)}I.inherits(P,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:I.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B=P.prototype,M={};function W(t){return I.isPlainObject(t)||I.isArray(t)}function q(t){return I.endsWith(t,"[]")?t.slice(0,-2):t}function G(t,e,n){return t?t.concat(e).map((function(t,e){return t=q(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}["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((t=>{M[t]={value:t}})),Object.defineProperties(P,M),Object.defineProperty(B,"isAxiosError",{value:!0}),P.from=(t,e,n,o,r,s)=>{const i=Object.create(B);return I.toFlatObject(t,i,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),P.call(i,t.message,e,n,o,r),i.cause=t,i.name=t.name,s&&Object.assign(i,s),i};const J=I.toFlatObject(I,{},null,(function(t){return/^is[A-Z]/.test(t)}));function K(t,e,n){if(!I.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const o=(n=I.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!I.isUndefined(e[t])}))).metaTokens,r=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&I.isSpecCompliantForm(e);if(!I.isFunction(r))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(I.isDate(t))return t.toISOString();if(!a&&I.isBlob(t))throw new P("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(t)||I.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,n,r){let a=t;if(t&&!r&&"object"==typeof t)if(I.endsWith(n,"{}"))n=o?n:n.slice(0,-2),t=JSON.stringify(t);else if(I.isArray(t)&&function(t){return I.isArray(t)&&!t.some(W)}(t)||(I.isFileList(t)||I.endsWith(n,"[]"))&&(a=I.toArray(t)))return n=q(n),a.forEach((function(t,o){!I.isUndefined(t)&&null!==t&&e.append(!0===i?G([n],o,s):null===i?n:n+"[]",c(t))})),!1;return!!W(t)||(e.append(G(r,n,s),c(t)),!1)}const u=[],d=Object.assign(J,{defaultVisitor:l,convertValue:c,isVisitable:W});if(!I.isObject(t))throw new TypeError("data must be an object");return function t(n,o){if(!I.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+o.join("."));u.push(n),I.forEach(n,(function(n,s){!0===(!(I.isUndefined(n)||null===n)&&r.call(e,n,I.isString(s)?s.trim():s,o,d))&&t(n,o?o.concat(s):[s])})),u.pop()}}(t),e}function z(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function V(t,e){this._pairs=[],t&&K(t,this,e)}const H=V.prototype;function $(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(t,e,n){if(!e)return t;const o=n&&n.encode||$,r=n&&n.serialize;let s;if(s=r?r(e,n):I.isURLSearchParams(e)?e.toString():new V(e,n).toString(o),s){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t}H.append=function(t,e){this._pairs.push([t,e])},H.toString=function(t){const e=t?function(e){return t.call(this,e,z)}:z;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var Y=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){I.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:V,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&"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 tt(t){function e(t,n,o,r){let s=t[r++];const i=Number.isFinite(+s),a=r>=t.length;return s=!s&&I.isArray(o)?o.length:s,a?(I.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!i):(o[s]&&I.isObject(o[s])||(o[s]=[]),e(t,n,o[s],r)&&I.isArray(o[s])&&(o[s]=function(t){const e={},n=Object.keys(t);let o;const r=n.length;let s;for(o=0;o<r;o++)s=n[o],e[s]=t[s];return e}(o[s])),!i)}if(I.isFormData(t)&&I.isFunction(t.entries)){const n={};return I.forEachEntry(t,((t,o)=>{e(function(t){return I.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),o,n,0)})),n}return null}const et={transitional:Z,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",o=n.indexOf("application/json")>-1,r=I.isObject(t);if(r&&I.isHTMLForm(t)&&(t=new FormData(t)),I.isFormData(t))return o&&o?JSON.stringify(tt(t)):t;if(I.isArrayBuffer(t)||I.isBuffer(t)||I.isStream(t)||I.isFile(t)||I.isBlob(t))return t;if(I.isArrayBufferView(t))return t.buffer;if(I.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return K(t,new Q.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,o){return Q.isNode&&I.isBuffer(t)?(this.append(e,t.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((s=I.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return K(s?{"files[]":t}:t,e&&new e,this.formSerializer)}}return r||o?(e.setContentType("application/json",!1),function(t,e,n){if(I.isString(t))try{return(0,JSON.parse)(t),I.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||et.transitional,n=e&&e.forcedJSONParsing,o="json"===this.responseType;if(t&&I.isString(t)&&(n&&!this.responseType||o)){const n=!(e&&e.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw P.from(t,P.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};I.forEach(["delete","get","head","post","put","patch"],(t=>{et.headers[t]={}}));var nt=et;const ot=I.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"]),rt=Symbol("internals");function st(t){return t&&String(t).trim().toLowerCase()}function it(t){return!1===t||null==t?t:I.isArray(t)?t.map(it):String(t)}function at(t,e,n,o,r){return I.isFunction(o)?o.call(this,e,n):(r&&(e=n),I.isString(e)?I.isString(o)?-1!==e.indexOf(o):I.isRegExp(o)?o.test(e):void 0:void 0)}class ct{constructor(t){t&&this.set(t)}set(t,e,n){const o=this;function r(t,e,n){const r=st(e);if(!r)throw new Error("header name must be a non-empty string");const s=I.findKey(o,r);(!s||void 0===o[s]||!0===n||void 0===n&&!1!==o[s])&&(o[s||e]=it(t))}const s=(t,e)=>I.forEach(t,((t,n)=>r(t,n,e)));return I.isPlainObject(t)||t instanceof this.constructor?s(t,e):I.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?s((t=>{const e={};let n,o,r;return t&&t.split("\n").forEach((function(t){r=t.indexOf(":"),n=t.substring(0,r).trim().toLowerCase(),o=t.substring(r+1).trim(),!n||e[n]&&ot[n]||("set-cookie"===n?e[n]?e[n].push(o):e[n]=[o]:e[n]=e[n]?e[n]+", "+o:o)})),e})(t),e):null!=t&&r(e,t,n),this}get(t,e){if(t=st(t)){const n=I.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(t);)e[o[1]]=o[2];return e}(t);if(I.isFunction(e))return e.call(this,t,n);if(I.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=st(t)){const n=I.findKey(this,t);return!(!n||void 0===this[n]||e&&!at(0,this[n],n,e))}return!1}delete(t,e){const n=this;let o=!1;function r(t){if(t=st(t)){const r=I.findKey(n,t);!r||e&&!at(0,n[r],r,e)||(delete n[r],o=!0)}}return I.isArray(t)?t.forEach(r):r(t),o}clear(t){const e=Object.keys(this);let n=e.length,o=!1;for(;n--;){const r=e[n];t&&!at(0,this[r],r,t,!0)||(delete this[r],o=!0)}return o}normalize(t){const e=this,n={};return I.forEach(this,((o,r)=>{const s=I.findKey(n,r);if(s)return e[s]=it(o),void delete e[r];const i=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(r):String(r).trim();i!==r&&delete e[r],e[i]=it(o),n[i]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return I.forEach(this,((n,o)=>{null!=n&&!1!==n&&(e[o]=t&&I.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[rt]=this[rt]={accessors:{}}).accessors,n=this.prototype;function o(t){const o=st(t);e[o]||(function(t,e){const n=I.toCamelCase(" "+e);["get","set","has"].forEach((o=>{Object.defineProperty(t,o+n,{value:function(t,n,r){return this[o].call(this,e,t,n,r)},configurable:!0})}))}(n,t),e[o]=!0)}return I.isArray(t)?t.forEach(o):o(t),this}}ct.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),I.reduceDescriptors(ct.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),I.freezeMethods(ct);var lt=ct;function ut(t,e){const n=this||nt,o=e||n,r=lt.from(o.headers);let s=o.data;return I.forEach(t,(function(t){s=t.call(n,s,r.normalize(),e?e.status:void 0)})),r.normalize(),s}function dt(t){return!(!t||!t.__CANCEL__)}function pt(t,e,n){P.call(this,null==t?"canceled":t,P.ERR_CANCELED,e,n),this.name="CanceledError"}I.inherits(pt,P,{__CANCEL__:!0});var ft=Q.isStandardBrowserEnv?{write:function(t,e,n,o,r,s){const i=[];i.push(t+"="+encodeURIComponent(e)),I.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),I.isString(o)&&i.push("path="+o),I.isString(r)&&i.push("domain="+r),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ht(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}var mt=Q.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function o(n){let o=n;return t&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=o(window.location.href),function(t){const e=I.isString(t)?o(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function vt(t,e){let n=0;const o=function(t,e){t=t||10;const n=new Array(t),o=new Array(t);let r,s=0,i=0;return e=void 0!==e?e:1e3,function(a){const c=Date.now(),l=o[i];r||(r=c),n[s]=a,o[s]=c;let u=i,d=0;for(;u!==s;)d+=n[u++],u%=t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),c-r<e)return;const p=l&&c-l;return p?Math.round(1e3*d/p):void 0}}(50,250);return r=>{const s=r.loaded,i=r.lengthComputable?r.total:void 0,a=s-n,c=o(a);n=s;const l={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:r};l[e?"download":"upload"]=!0,t(l)}}const yt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let o=t.data;const r=lt.from(t.headers).normalize(),s=t.responseType;let i,a;function c(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}I.isFormData(o)&&(Q.isStandardBrowserEnv||Q.isStandardBrowserWebWorkerEnv?r.setContentType(!1):r.getContentType(/^\s*multipart\/form-data/)?I.isString(a=r.getContentType())&&r.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):r.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";r.set("Authorization","Basic "+btoa(e+":"+n))}const u=ht(t.baseURL,t.url);function d(){if(!l)return;const o=lt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,n){const o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(new P("Request failed with status code "+n.status,[P.ERR_BAD_REQUEST,P.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),c()}),(function(t){n(t),c()}),{data:s&&"text"!==s&&"json"!==s?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:o,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),X(u,t.params,t.paramsSerializer),!0),l.timeout=t.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&&(n(new P("Request aborted",P.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new P("Network Error",P.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const o=t.transitional||Z;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new P(e,o.clarifyTimeoutError?P.ETIMEDOUT:P.ECONNABORTED,t,l)),l=null},Q.isStandardBrowserEnv){const e=(t.withCredentials||mt(u))&&t.xsrfCookieName&&ft.read(t.xsrfCookieName);e&&r.set(t.xsrfHeaderName,e)}void 0===o&&r.setContentType(null),"setRequestHeader"in l&&I.forEach(r.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),I.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),s&&"json"!==s&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",vt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",vt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{l&&(n(!e||e.type?new pt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const p=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);p&&-1===Q.protocols.indexOf(p)?n(new P("Unsupported protocol "+p+":",P.ERR_BAD_REQUEST,t)):l.send(o||null)}))}};I.forEach(yt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const gt=t=>`- ${t}`,Et=t=>I.isFunction(t)||null===t||!1===t;var wt=t=>{t=I.isArray(t)?t:[t];const{length:e}=t;let n,o;const r={};for(let s=0;s<e;s++){let e;if(n=t[s],o=n,!Et(n)&&(o=yt[(e=String(n)).toLowerCase()],void 0===o))throw new P(`Unknown adapter '${e}'`);if(o)break;r[e||"#"+s]=o}if(!o){const t=Object.entries(r).map((([t,e])=>`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new P("There is no suitable adapter to dispatch the request "+(e?t.length>1?"since :\n"+t.map(gt).join("\n"):" "+gt(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return o};function bt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new pt(null,t)}function St(t){return bt(t),t.headers=lt.from(t.headers),t.data=ut.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),wt(t.adapter||nt.adapter)(t).then((function(e){return bt(t),e.data=ut.call(t,t.transformResponse,e),e.headers=lt.from(e.headers),e}),(function(e){return dt(e)||(bt(t),e&&e.response&&(e.response.data=ut.call(t,t.transformResponse,e.response),e.response.headers=lt.from(e.response.headers))),Promise.reject(e)}))}const Ot=t=>t instanceof lt?t.toJSON():t;function Rt(t,e){e=e||{};const n={};function o(t,e,n){return I.isPlainObject(t)&&I.isPlainObject(e)?I.merge.call({caseless:n},t,e):I.isPlainObject(e)?I.merge({},e):I.isArray(e)?e.slice():e}function r(t,e,n){return I.isUndefined(e)?I.isUndefined(t)?void 0:o(void 0,t,n):o(t,e,n)}function s(t,e){if(!I.isUndefined(e))return o(void 0,e)}function i(t,e){return I.isUndefined(e)?I.isUndefined(t)?void 0:o(void 0,t):o(void 0,e)}function a(n,r,s){return s in e?o(n,r):s in t?o(void 0,n):void 0}const c={url:s,method:s,data:s,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:(t,e)=>r(Ot(t),Ot(e),!0)};return I.forEach(Object.keys(Object.assign({},t,e)),(function(o){const s=c[o]||r,i=s(t[o],e[o],o);I.isUndefined(i)&&s!==a||(n[o]=i)})),n}const At={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{At[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Tt={};At.transitional=function(t,e,n){function o(t,e){return"[Axios v1.5.1] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,r,s)=>{if(!1===t)throw new P(o(r," has been removed"+(e?" in "+e:"")),P.ERR_DEPRECATED);return e&&!Tt[r]&&(Tt[r]=!0,console.warn(o(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}};var _t={assertOptions:function(t,e,n){if("object"!=typeof t)throw new P("options must be an object",P.ERR_BAD_OPTION_VALUE);const o=Object.keys(t);let r=o.length;for(;r-- >0;){const s=o[r],i=e[s];if(i){const e=t[s],n=void 0===e||i(e,s,t);if(!0!==n)throw new P("option "+s+" must be "+n,P.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new P("Unknown option "+s,P.ERR_BAD_OPTION)}},validators:At};const Ct=_t.validators;class Dt{constructor(t){this.defaults=t,this.interceptors={request:new Y,response:new Y}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Rt(this.defaults,e);const{transitional:n,paramsSerializer:o,headers:r}=e;void 0!==n&&_t.assertOptions(n,{silentJSONParsing:Ct.transitional(Ct.boolean),forcedJSONParsing:Ct.transitional(Ct.boolean),clarifyTimeoutError:Ct.transitional(Ct.boolean)},!1),null!=o&&(I.isFunction(o)?e.paramsSerializer={serialize:o}:_t.assertOptions(o,{encode:Ct.function,serialize:Ct.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&I.merge(r.common,r[e.method]);r&&I.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete r[t]})),e.headers=lt.concat(s,r);const i=[];let a=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(a=a&&t.synchronous,i.unshift(t.fulfilled,t.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let u,d=0;if(!a){const t=[St.bind(this),void 0];for(t.unshift.apply(t,i),t.push.apply(t,c),u=t.length,l=Promise.resolve(e);d<u;)l=l.then(t[d++],t[d++]);return l}u=i.length;let p=e;for(d=0;d<u;){const t=i[d++],e=i[d++];try{p=t(p)}catch(t){e.call(this,t);break}}try{l=St.call(this,p)}catch(t){return Promise.reject(t)}for(d=0,u=c.length;d<u;)l=l.then(c[d++],c[d++]);return l}getUri(t){return X(ht((t=Rt(this.defaults,t)).baseURL,t.url),t.params,t.paramsSerializer)}}I.forEach(["delete","get","head","options"],(function(t){Dt.prototype[t]=function(e,n){return this.request(Rt(n||{},{method:t,url:e,data:(n||{}).data}))}})),I.forEach(["post","put","patch"],(function(t){function e(e){return function(n,o,r){return this.request(Rt(r||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:o}))}}Dt.prototype[t]=e(),Dt.prototype[t+"Form"]=e(!0)}));var Ft=Dt;class Nt{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const o=new Promise((t=>{n.subscribe(t),e=t})).then(t);return o.cancel=function(){n.unsubscribe(e)},o},t((function(t,o,r){n.reason||(n.reason=new pt(t,o,r),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Nt((function(e){t=e})),cancel:t}}}var kt=Nt;const jt={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(jt).forEach((([t,e])=>{jt[e]=t}));var Ut=jt;const Lt=function t(e){const n=new Ft(e),r=o(Ft.prototype.request,n);return I.extend(r,Ft.prototype,n,{allOwnKeys:!0}),I.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(Rt(e,n))},r}(nt);Lt.Axios=Ft,Lt.CanceledError=pt,Lt.CancelToken=kt,Lt.isCancel=dt,Lt.VERSION="1.5.1",Lt.toFormData=K,Lt.AxiosError=P,Lt.Cancel=Lt.CanceledError,Lt.all=function(t){return Promise.all(t)},Lt.spread=function(t){return function(e){return t.apply(null,e)}},Lt.isAxiosError=function(t){return I.isObject(t)&&!0===t.isAxiosError},Lt.mergeConfig=Rt,Lt.AxiosHeaders=lt,Lt.formToJSON=t=>tt(I.isHTMLForm(t)?new FormData(t):t),Lt.getAdapter=wt,Lt.HttpStatusCode=Ut,Lt.default=Lt,t.exports=Lt}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var s=e[o]={exports:{}};return t[o].call(s.exports,s,s.exports,n),s.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var o={};return(()=>{"use strict";var t=o;const e=n(234),r=n(604),s=n(122);class i{}i.livenessDetection=e.livenessDetection,i.uploadIdentificationDocument=r.uploadIdentificationDocument,i.insertUploadIdentificationDocument=s.insertUploadIdentificationDocument,t.default=i})(),o.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);t.AbstractService=class{constructor(e,t){this.options=e,this.serviceOptions=t}request(e){var t,r,{contentType:s="application/json",authToken:i=this.options.token,baseUrl:a=(null!==(t=this.options.customApiUrl)&&void 0!==t?t:n.API_GATEWAY_URL)}=void 0===e?{}:e;const c={baseURL:a,headers:{"Content-Type":s,Authorization:`Bearer ${i}`}};let l=this.options.domain;if(!this.options.domain&&this.options.token){const e=this.serviceOptions.tryDecodeJwt(this.options.token);l=null===(r=null==e?void 0:e.claims)||void 0===r?void 0:r.domain}return c.headers&&(l&&(c.headers.Domain=l),this.options.useBillingAccounts&&(c.headers.clientCredentials=!0)),o.default.create(c)}}},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},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},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))}async setupCamera(){this.frameGetControls=await(0,o.getDefaultFrameControls)(),this.cameraIsSetup=!0}async startCamera(){var e,t,r,o;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===(t=(e=this.frameGetControls).startGettingFrames)||void 0===t?void 0:t.call(e)),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===(o=(r=this.options).onError)||void 0===o?void 0:o.call(r,t))}}async stopCamera(){var e,t,r,o;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)),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===(o=(r=this.options).onError)||void 0===o?void 0:o.call(r,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()}getVideoStream(){var e;return null===(e=this.frameGetControls)||void 0===e?void 0:e.videoStream}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()=>{await s.startCamera()},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})}getVideoStream(){var e;return null===(e=this.frameGetControls)||void 0===e?void 0:e.videoStream}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()=>{await s.startCamera()},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})}getVideoStream(){var e;return null===(e=this.frameGetControls)||void 0===e?void 0:e.videoStream}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()=>{await s.startCamera()},stopCamera:async()=>{await s.stopCamera()},captureImage:async()=>await s.captureImage(),getVideoStream:()=>s.getVideoStream(),sendFile:async e=>{await s.startProcessing(e)}}}catch(e){throw console.error(e),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)}},42:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LivenessDetectionService=void 0;const s=r(551),o=r(620),n=r(951),i=r(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,r,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===(r=(t=this.options).onNextStep)||void 0===r?void 0:r.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 s.SDKError({message:"Wrong position",code:s.ELivenessDetectionErrorCodes.WRONG_POSITION,fatal:!1}))),p}async stopLivenessDetection(){var e,t,r,s,o;await(0,n.waitFor)((()=>!!this.cancelSendingFramesToWebsocket)),null===(e=this.cancelSendingFramesToWebsocket)||void 0===e||e.call(this),await(null===(r=(t=this.frameGetControls).stopGettingFrames)||void 0===r?void 0:r.call(t)),this.abstractWebSocket.disconnectFromWebSocket(),this.endCalled||(await(null===(o=(s=this.options).onEnd)||void 0===o?void 0:o.call(s)),this.endCalled=!0),this.websocketClosedBySDK=!0}async sendFramesToWebSocket(){var e,t;try{if(this.canSendNextBytes&&!this.pauseSendingFramesToWebSocket){const r=await(null===(t=(e=this.frameGetControls).getNextFrame)||void 0===t?void 0:t.call(e));r&&(this.abstractWebSocket.send(r),this.lastSentBytes=r,this.canSendNextBytes=!1)}}catch(e){await this.stopLivenessDetection()}}async onConnect(){var e,t,r,s,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===(s=(r=this.frameGetControls).startGettingFrames)||void 0===s?void 0:s.call(r))}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 s.SDKError({message:"Internal Error",code:s.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,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.livenessDetection=void 0;const s=r(42),o=r(551),n=r(706),i=r(616);t.livenessDetection=function(e){var t;try{const r=new n.AbstractWebSocket({WebSocketClass:null!==(t=e.CustomWebSocketClass)&&void 0!==t?t:WebSocket,decodeJwt:i.decodeJwt},e);r.startConnection();const o=new s.LivenessDetectionService(e,r);return r.waitForWebSocketConnection().then((()=>{o.onConnect()})).catch((()=>{o.onError()})),r.addListener("message",(e=>{o.onWebSocketMessage(e)})),r.addListener("error",(()=>{o.onError()})),r.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})}}},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,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 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;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)),e.faceMatch||this.tryStartFaceMatch(),Object.entries(this.results).every((([e,t])=>"uploadedDocument"===e||!!t.results))&&(await(null===(o=(s=this.options).onSuccess)||void 0===o?void 0:o.call(s,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(((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}})}}startLivenessDetection(e){var t,r;const s=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},s),{onSuccess:async e=>{var t;await(null===(t=null==s?void 0:s.onSuccess)||void 0===t?void 0:t.call(s,e)),this.updateResults({liveness:{status:"success",results:e,loading:!1,error:null}})},onError:async e=>{var t,r,o;await(null===(t=null==s?void 0:s.onError)||void 0===t?void 0:t.call(s,e)),await(null===(o=(r=this.options).onError)||void 0===o?void 0:o.call(r,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 s=new n.SDKError({message:"Error during liveness detection",code:n.EUploadIdentificationDocumentErrorCodes.LIVENESS_DETECTION_ERROR,fatal:!1,details:e});null===(r=(t=this.options).onError)||void 0===r||r.call(t,s),this.updateResults({liveness:{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 tryStartFaceMatch(){var e,t,r;!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===(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}))):await this.startFaceMatch(this.results.uploadedDocument,this.results.liveness.results.successFrames.front)}startAll(e,t){this.startDocumentUpload(e),this.startLivenessDetection(t)}}},604:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uploadIdentificationDocument=void 0;const s=r(171),o=r(234);t.uploadIdentificationDocument=function(e){const t=new s.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,r,s;return{startGettingFrames:async function(){return e&&t&&r||(e=await navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:"environment"}}),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.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=void 0,t.WEBSOCKET_BASE_URL="wss://santoid-liveness-w4ynos5dlq-ue.a.run.app/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},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.ELivenessDetectionErrorCodes=t.EDefaultErrorCodes=void 0,function(e){e.INITIALIZATION_ERROR="initialization-error",e.INTERNAL_ERROR="internal-error"}(r||(t.EDefaultErrorCodes=r={})),function(e){e.WRONG_POSITION="liveness-detection/wrong-position"}(s||(t.ELivenessDetectionErrorCodes=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",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: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.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}}},706:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractWebSocket=void 0;const s=r(661);t.AbstractWebSocket=class{constructor(e,t){this.classOptions=e,this.sdkOptions=t}startConnection(){var e,t;const r=this.classOptions.decodeJwt(this.sdkOptions.token),o={x_endpoint_api_userinfo:this.sdkOptions.token,domain:null!==(e=this.sdkOptions.domain)&&void 0!==e?e:r.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:s.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 r,s;this.websocket.on?this.websocket.on(e,t):null===(s=(r=this.websocket).addEventListener)||void 0===s||s.call(r,e,t)}send(e){this.websocket.send(e)}}},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 h=n();null==d&&(d=s=[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 g=(1e4*(268435455&(f+=122192928e5))+m)%4294967296;u[l++]=g>>>24&255,u[l++]=g>>>16&255,u[l++]=g>>>8&255,u[l++]=255&g;var y=f/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 E=0;E<6;++E)u[l+E]=d[E];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"),h=l("string"),f=l("function"),m=l("number"),v=e=>null!==e&&"object"==typeof e,g=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"),E=c("File"),w=c("Blob"),S=c("FileList"),b=c("URLSearchParams");function R(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 O(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 C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,A=e=>!d(e)&&e!==C,D=(_="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>_&&e instanceof _);var _;const T=c("HTMLFormElement"),F=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),I=c("RegExp"),N=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),s={};R(r,((r,o)=>{let n;!1!==(n=t(r,o,e))&&(s[o]=n||r)})),Object.defineProperties(e,s)},P="abcdefghijklmnopqrstuvwxyz",L="0123456789",j={DIGIT:L,ALPHA:P,ALPHA_DIGIT:P+P.toUpperCase()+L},U=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:g,isUndefined:d,isDate:y,isFile:E,isBlob:w,isRegExp:I,isFunction:f,isStream:e=>v(e)&&f(e.pipe),isURLSearchParams:b,isTypedArray:D,isFileList:S,forEach:R,merge:function e(){const{caseless:t}=A(this)&&this||{},r={},s=(s,o)=>{const n=t&&O(r,o)||o;g(r[n])&&g(s)?r[n]=e(r[n],s):g(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]&&R(arguments[e],s);return r},extend:(e,t,r,{allOwnKeys:o}={})=>(R(t,((t,o)=>{r&&f(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:T,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:N,freezeMethods:e=>{N(e,((t,r)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const s=e[r];f(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:O,global:C,isContextDefined:A,ALPHABET:j,generateString:(e=16,t=j.ALPHA_DIGIT)=>{let r="";const{length:s}=t;for(;e--;)r+=t[Math.random()*s|0];return r},isSpecCompliantForm:function(e){return!!(e&&f(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 R(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:U,isThenable:e=>e&&(v(e)||f(e))&&f(e.then)&&f(e.catch)};function x(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)}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 W(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(x,B),Object.defineProperty(M,"isAxiosError",{value:!0}),x.from=(e,t,r,s,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,r,s,o),i.cause=e,i.name=e.name,n&&Object.assign(i,n),i};const q=k.toFlatObject(k,{},null,(function(e){return/^is[A-Z]/.test(e)}));function V(e,t,r){if(!k.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const s=(r=k.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!k.isUndefined(t[e])}))).metaTokens,o=r.visitor||l,n=r.dots,i=r.indexes,a=(r.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,r,o){let a=e;if(e&&!o&&"object"==typeof e)if(k.endsWith(r,"{}"))r=s?r:r.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(r,"[]"))&&(a=k.toArray(e)))return r=K(r),a.forEach((function(e,s){!k.isUndefined(e)&&null!==e&&t.append(!0===i?W([r],s,n):null===i?r:r+"[]",c(e))})),!1;return!!G(e)||(t.append(W(o,r,n),c(e)),!1)}const u=[],d=Object.assign(q,{defaultVisitor:l,convertValue:c,isVisitable:G});if(!k.isObject(e))throw new TypeError("data must be an object");return function e(r,s){if(!k.isUndefined(r)){if(-1!==u.indexOf(r))throw Error("Circular reference detected in "+s.join("."));u.push(r),k.forEach(r,(function(r,n){!0===(!(k.isUndefined(r)||null===r)&&o.call(t,r,k.isString(n)?n.trim():n,s,d))&&e(r,s?s.concat(n):[n])})),u.pop()}}(e),t}function z(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function J(e,t){this._pairs=[],e&&V(e,this,t)}const H=J.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,r){if(!t)return e;const s=r&&r.encode||$,o=r&&r.serialize;let n;if(n=o?o(t,r):k.isURLSearchParams(t)?t.toString():new J(t,r).toString(s),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,z)}:z;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){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:J,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&&k.isArray(s)?s.length:n,a?(k.hasOwnProp(s,n)?s[n]=[s[n],r]:s[n]=r,!i):(s[n]&&k.isObject(s[n])||(s[n]=[]),t(e,r,s[n],o)&&k.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(k.isFormData(e)&&k.isFunction(e.entries)){const r={};return k.forEachEntry(e,((e,s)=>{t(function(e){return k.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=k.isObject(e);if(o&&k.isHTMLForm(e)&&(e=new FormData(e)),k.isFormData(e))return s&&s?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(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return V(e,new Q.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,s){return Q.isNode&&k.isBuffer(e)?(this.append(t,e.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=k.isFileList(e))||r.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||s?(t.setContentType("application/json",!1),function(e,t,r){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,r=t&&t.forcedJSONParsing,s="json"===this.responseType;if(e&&k.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 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 re=te;const se=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,r,s,o){return k.isFunction(s)?s.call(this,t,r):(o&&(t=r),k.isString(t)?k.isString(s)?-1!==t.indexOf(s):k.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=k.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)=>k.forEach(e,((e,r)=>o(e,r,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 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=k.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(k.isFunction(t))return t.call(this,e,r);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 r=k.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=k.findKey(r,e);!o||t&&!ae(0,r[o],o,t)||(delete r[o],s=!0)}}return k.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 k.forEach(this,((s,o)=>{const n=k.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 k.forEach(this,((r,s)=>{null!=r&&!1!==r&&(t[s]=e&&k.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=k.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 k.isArray(e)?e.forEach(s):s(e),this}}ce.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),k.reduceDescriptors(ce.prototype,(({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[r]=e}}})),k.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 k.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){x.call(this,null==e?"canceled":e,x.ERR_CANCELED,t,r),this.name="CanceledError"}k.inherits(pe,x,{__CANCEL__:!0});var he=Q.isStandardBrowserEnv?{write:function(e,t,r,s,o,n){const i=[];i.push(e+"="+encodeURIComponent(t)),k.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),k.isString(s)&&i.push("path="+s),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 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=k.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 ge={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)}k.isFormData(s)&&(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||"",r=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+r))}const u=fe(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 x("Request failed with status code "+r.status,[x.ERR_BAD_REQUEST,x.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 x("Request aborted",x.ECONNABORTED,e,l)),l=null)},l.onerror=function(){r(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 s=e.transitional||Z;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(new x(t,s.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===s&&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&&(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 x("Unsupported protocol "+p+":",x.ERR_BAD_REQUEST,e)):l.send(s||null)}))}};k.forEach(ge,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const ye=e=>`- ${e}`,Ee=e=>k.isFunction(e)||null===e||!1===e;var we=e=>{e=k.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,!Ee(r)&&(s=ge[(t=String(r)).toLowerCase()],void 0===s))throw new x(`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 x("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 be(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 Re=e=>e instanceof le?e.toJSON():e;function Oe(e,t){t=t||{};const r={};function s(e,t,r){return k.isPlainObject(e)&&k.isPlainObject(t)?k.merge.call({caseless:r},e,t):k.isPlainObject(t)?k.merge({},t):k.isArray(t)?t.slice():t}function o(e,t,r){return k.isUndefined(t)?k.isUndefined(e)?void 0:s(void 0,e,r):s(e,t,r)}function n(e,t){if(!k.isUndefined(t))return s(void 0,t)}function i(e,t){return k.isUndefined(t)?k.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(Re(e),Re(t),!0)};return k.forEach(Object.keys(Object.assign({},e,t)),(function(s){const n=c[s]||o,i=n(e[s],t[s],s);k.isUndefined(i)&&n!==a||(r[s]=i)})),r}const Ce={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ce[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));const Ae={};Ce.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 x(s(o," has been removed"+(t?" in "+t:"")),x.ERR_DEPRECATED);return t&&!Ae[o]&&(Ae[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 De={assertOptions:function(e,t,r){if("object"!=typeof e)throw new x("options must be an object",x.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 x("option "+n+" must be "+r,x.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new x("Unknown option "+n,x.ERR_BAD_OPTION)}},validators:Ce};const _e=De.validators;class Te{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=Oe(this.defaults,t);const{transitional:r,paramsSerializer:s,headers:o}=t;void 0!==r&&De.assertOptions(r,{silentJSONParsing:_e.transitional(_e.boolean),forcedJSONParsing:_e.transitional(_e.boolean),clarifyTimeoutError:_e.transitional(_e.boolean)},!1),null!=s&&(k.isFunction(s)?t.paramsSerializer={serialize:s}:De.assertOptions(s,{encode:_e.function,serialize:_e.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=[be.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=be.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=Oe(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}k.forEach(["delete","get","head","options"],(function(e){Te.prototype[e]=function(t,r){return this.request(Oe(r||{},{method:e,url:t,data:(r||{}).data}))}})),k.forEach(["post","put","patch"],(function(e){function t(t){return function(r,s,o){return this.request(Oe(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:s}))}}Te.prototype[e]=t(),Te.prototype[e+"Form"]=t(!0)}));var Fe=Te;class Ie{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 Ie((function(t){e=t})),cancel:e}}}var Ne=Ie;const Pe={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(Pe).forEach((([e,t])=>{Pe[t]=e}));var Le=Pe;const je=function e(t){const r=new Fe(t),o=s(Fe.prototype.request,r);return k.extend(o,Fe.prototype,r,{allOwnKeys:!0}),k.extend(o,r,null,{allOwnKeys:!0}),o.create=function(r){return e(Oe(t,r))},o}(re);je.Axios=Fe,je.CanceledError=pe,je.CancelToken=Ne,je.isCancel=de,je.VERSION="1.5.1",je.toFormData=V,je.AxiosError=x,je.Cancel=je.CanceledError,je.all=function(e){return Promise.all(e)},je.spread=function(e){return function(t){return e.apply(null,t)}},je.isAxiosError=function(e){return k.isObject(e)&&!0===e.isAxiosError},je.mergeConfig=Oe,je.AxiosHeaders=le,je.formToJSON=e=>ee(k.isHTMLForm(e)?new FormData(e):e),je.getAdapter=we,je.HttpStatusCode=Le,je.default=je,e.exports=je}},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(234),o=r(604),n=r(122),i=r(344),a=r(927),c=r(168);class l{}l.livenessDetection=t.livenessDetection,l.uploadIdentificationDocument=o.uploadIdentificationDocument,l.insertUploadIdentificationDocument=n.insertUploadIdentificationDocument,l.typification=i.typification,l.ocr=c.ocr,l.faceMatch=a.faceMatch,e.default=l})(),s.default})()));
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type IFrameControls } from '../../liveness/utils/getNextFrame';
|
|
2
|
+
import { type ApiAsyncService } from '../../../api/ApiAsyncService';
|
|
3
|
+
import { type TCoreServiceOptions, type ICoreServiceResult } from '../utils/types';
|
|
4
|
+
export declare abstract class BaseCoreService<TFrameType, TMediaType, TResultsContentType> {
|
|
5
|
+
frameGetControls: IFrameControls<TFrameType, TMediaType>;
|
|
6
|
+
options: TCoreServiceOptions<TMediaType, TResultsContentType>;
|
|
7
|
+
results: ICoreServiceResult<TResultsContentType>;
|
|
8
|
+
service: ApiAsyncService;
|
|
9
|
+
cameraIsActive: boolean;
|
|
10
|
+
cameraIsSetup: boolean;
|
|
11
|
+
constructor(options: TCoreServiceOptions<TMediaType, TResultsContentType>);
|
|
12
|
+
initialize(file?: TFrameType): Promise<void>;
|
|
13
|
+
abstract startProcessing(file: TFrameType): Promise<void>;
|
|
14
|
+
updateResults(updatedResults: Partial<ICoreServiceResult<TResultsContentType>>): Promise<void>;
|
|
15
|
+
setupCamera(): Promise<void>;
|
|
16
|
+
startCamera(): Promise<void>;
|
|
17
|
+
stopCamera(): Promise<void>;
|
|
18
|
+
captureImage({ startProcessing }?: {
|
|
19
|
+
startProcessing?: boolean | undefined;
|
|
20
|
+
}): Promise<NonNullable<Awaited<TFrameType>>>;
|
|
21
|
+
waitForResults(requestId: string): Promise<TResultsContentType>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseCoreService = void 0;
|
|
4
|
+
const error_1 = require("../../../utils/error");
|
|
5
|
+
const getNextFrame_1 = require("../../liveness/utils/getNextFrame");
|
|
6
|
+
class BaseCoreService {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.results = { status: null, results: null, loading: false, error: null };
|
|
9
|
+
this.cameraIsActive = false;
|
|
10
|
+
this.cameraIsSetup = false;
|
|
11
|
+
this.options = options;
|
|
12
|
+
}
|
|
13
|
+
async initialize(file) {
|
|
14
|
+
var _a;
|
|
15
|
+
if (file) {
|
|
16
|
+
// Start processing immediately
|
|
17
|
+
this.startProcessing(file);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// If necessary, open camera and take photo before start processing
|
|
21
|
+
const startTheCameraImmediately = (_a = this.options.startTheCameraImmediately) !== null && _a !== void 0 ? _a : this.options.startTheCameraImmediately === undefined;
|
|
22
|
+
if (startTheCameraImmediately) {
|
|
23
|
+
await this.startCamera();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async updateResults(updatedResults) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
this.results = Object.assign(Object.assign({}, this.results), updatedResults);
|
|
30
|
+
await ((_b = (_a = this.options).onUpdate) === null || _b === void 0 ? void 0 : _b.call(_a, this.results));
|
|
31
|
+
}
|
|
32
|
+
async setupCamera() {
|
|
33
|
+
this.frameGetControls = await (0, getNextFrame_1.getDefaultFrameControls)();
|
|
34
|
+
this.cameraIsSetup = true;
|
|
35
|
+
}
|
|
36
|
+
async startCamera() {
|
|
37
|
+
var _a, _b, _c, _d;
|
|
38
|
+
try {
|
|
39
|
+
if (this.cameraIsActive) {
|
|
40
|
+
throw new error_1.SDKError({
|
|
41
|
+
message: 'The camera has already been initialized',
|
|
42
|
+
code: error_1.ECameraErrorCodes.ALREADY_STARTED,
|
|
43
|
+
fatal: false,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (this.results.loading) {
|
|
47
|
+
throw new error_1.SDKError({
|
|
48
|
+
message: 'Typification processing has already started',
|
|
49
|
+
code: error_1.EProcessingErrorCodes.ALREADY_STARTED,
|
|
50
|
+
fatal: false,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (!this.cameraIsSetup) {
|
|
54
|
+
await this.setupCamera();
|
|
55
|
+
}
|
|
56
|
+
this.frameGetControls.videoStream = await ((_b = (_a = this.frameGetControls).startGettingFrames) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
57
|
+
this.cameraIsActive = true;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
const validatedError = err instanceof error_1.SDKError
|
|
61
|
+
? err
|
|
62
|
+
: new error_1.SDKError({
|
|
63
|
+
message: 'Camera initialization error',
|
|
64
|
+
code: error_1.ECameraErrorCodes.INITIALIZATION_ERROR,
|
|
65
|
+
fatal: false,
|
|
66
|
+
details: err,
|
|
67
|
+
});
|
|
68
|
+
await ((_d = (_c = this.options).onError) === null || _d === void 0 ? void 0 : _d.call(_c, validatedError));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async stopCamera() {
|
|
72
|
+
var _a, _b, _c, _d;
|
|
73
|
+
try {
|
|
74
|
+
if (!this.cameraIsActive) {
|
|
75
|
+
throw new error_1.SDKError({
|
|
76
|
+
message: 'Camera not initialized',
|
|
77
|
+
code: error_1.ECameraErrorCodes.NOT_INITIALIZED,
|
|
78
|
+
fatal: false,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
await ((_b = (_a = this.frameGetControls).stopGettingFrames) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
82
|
+
this.cameraIsActive = false;
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
const validatedError = err instanceof error_1.SDKError
|
|
86
|
+
? err
|
|
87
|
+
: new error_1.SDKError({
|
|
88
|
+
message: 'Error during camera shutdown',
|
|
89
|
+
code: error_1.ECameraErrorCodes.SHUTDOWN_ERROR,
|
|
90
|
+
fatal: false,
|
|
91
|
+
details: err,
|
|
92
|
+
});
|
|
93
|
+
await ((_d = (_c = this.options).onError) === null || _d === void 0 ? void 0 : _d.call(_c, validatedError));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async captureImage({ startProcessing = true } = {}) {
|
|
97
|
+
var _a, _b;
|
|
98
|
+
const bytes = await ((_b = (_a = this.frameGetControls).getNextFrame) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
99
|
+
if (bytes) {
|
|
100
|
+
if (startProcessing) {
|
|
101
|
+
await this.stopCamera();
|
|
102
|
+
await this.startProcessing(bytes);
|
|
103
|
+
}
|
|
104
|
+
return bytes;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
throw new error_1.SDKError({
|
|
108
|
+
message: 'Cannot capture image',
|
|
109
|
+
code: error_1.ECameraErrorCodes.CANNOT_CAPTURE_IMAGE,
|
|
110
|
+
fatal: false,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async waitForResults(requestId) {
|
|
115
|
+
let validationNotified = false;
|
|
116
|
+
return await new Promise((resolve, reject) => {
|
|
117
|
+
const interval = setInterval(async () => {
|
|
118
|
+
var _a, _b, _c, _d;
|
|
119
|
+
try {
|
|
120
|
+
(_b = (_a = this.options).onClearInterval) === null || _b === void 0 ? void 0 : _b.call(_a, interval);
|
|
121
|
+
const data = await this.service.get(requestId);
|
|
122
|
+
if ((data === null || data === void 0 ? void 0 : data.status) === 'validation' && !validationNotified) {
|
|
123
|
+
await ((_d = (_c = this.options).onValidationRequested) === null || _d === void 0 ? void 0 : _d.call(_c, {
|
|
124
|
+
track: this.options.track,
|
|
125
|
+
requestId: data.id,
|
|
126
|
+
}));
|
|
127
|
+
validationNotified = true;
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if ((data === null || data === void 0 ? void 0 : data.status) === 'error') {
|
|
131
|
+
throw new Error('Não foi possível processar os resultados do Upload de Documentos');
|
|
132
|
+
}
|
|
133
|
+
if ((data === null || data === void 0 ? void 0 : data.status) === 'processed' && data.fileURL) {
|
|
134
|
+
const response = await fetch(data.fileURL);
|
|
135
|
+
const typificationResults = await response.json();
|
|
136
|
+
if (typificationResults) {
|
|
137
|
+
clearInterval(interval);
|
|
138
|
+
resolve(typificationResults);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
clearInterval(interval);
|
|
144
|
+
reject(error);
|
|
145
|
+
}
|
|
146
|
+
}, 5000);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.BaseCoreService = BaseCoreService;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ocr = exports.faceMatch = exports.typification = void 0;
|
|
4
|
+
const typification_1 = require("./methods/typification");
|
|
5
|
+
Object.defineProperty(exports, "typification", { enumerable: true, get: function () { return typification_1.typification; } });
|
|
6
|
+
const faceMatch_1 = require("./methods/faceMatch");
|
|
7
|
+
Object.defineProperty(exports, "faceMatch", { enumerable: true, get: function () { return faceMatch_1.faceMatch; } });
|
|
8
|
+
const ocr_1 = require("./methods/ocr");
|
|
9
|
+
Object.defineProperty(exports, "ocr", { enumerable: true, get: function () { return ocr_1.ocr; } });
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ApiFaceMatchService, type IFaceMatchResult } from '../../../../api/ApiFaceMatchService';
|
|
2
|
+
import { type TCoreServiceOptions } from '../../utils/types';
|
|
3
|
+
import { BaseCoreService } from '../../commons/BaseCoreService';
|
|
4
|
+
export type TFaceMatchServiceOptions<TMediaType> = Omit<TCoreServiceOptions<TMediaType, IFaceMatchResult>, 'template' | 'onValidationRequested'>;
|
|
5
|
+
export declare class FaceMatchService<TFrameType, TMediaType> extends BaseCoreService<TFrameType, TMediaType, IFaceMatchResult> {
|
|
6
|
+
service: ApiFaceMatchService<TFrameType>;
|
|
7
|
+
selectedFile1: TFrameType | undefined;
|
|
8
|
+
selectedFile2: TFrameType | undefined;
|
|
9
|
+
constructor(options: TFaceMatchServiceOptions<TMediaType>);
|
|
10
|
+
initialize(file1?: TFrameType, file2?: TFrameType): Promise<void>;
|
|
11
|
+
getVideoStream(): TMediaType | undefined;
|
|
12
|
+
captureFirstImage({ startProcessing }?: {
|
|
13
|
+
startProcessing?: boolean | undefined;
|
|
14
|
+
}): Promise<NonNullable<Awaited<TFrameType>>>;
|
|
15
|
+
captureSecondImage({ startProcessing }?: {
|
|
16
|
+
startProcessing?: boolean | undefined;
|
|
17
|
+
}): Promise<NonNullable<Awaited<TFrameType>>>;
|
|
18
|
+
startProcessing(file1: TFrameType, file2?: TFrameType): Promise<void>;
|
|
19
|
+
waitForResultsFaceMatch(requestId: string): Promise<IFaceMatchResult>;
|
|
20
|
+
}
|