@os1-platform/dispatch-mobile 3.0.4 → 3.1.1
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/android/build.gradle +38 -9
- package/android/gradle.properties +17 -2
- package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +467 -287
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js +270 -0
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js +99 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js +195 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js +106 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js +12 -5
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js +68 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +12 -5
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +61 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js +235 -114
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/commonjs/components/utils/Scale.js +22 -0
- package/lib/commonjs/components/utils/Scale.js.map +1 -0
- package/lib/commonjs/components/widgets/ConfirmCancelModal.js +47 -0
- package/lib/commonjs/components/widgets/ConfirmCancelModal.js.map +1 -0
- package/lib/commonjs/components/widgets/SnackBarCustom.js +36 -4
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/components/widgets/SplitTextInput.js +48 -18
- package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/commonjs/constants/apiConstants.js +4 -1
- package/lib/commonjs/constants/apiConstants.js.map +1 -1
- package/lib/commonjs/constants/constants.js +2 -1
- package/lib/commonjs/constants/constants.js.map +1 -1
- package/lib/commonjs/icons/icExclamationcircleo_dark.svg +3 -0
- package/lib/commonjs/icons/icFailed.gif +0 -0
- package/lib/commonjs/icons/icRadioChecked.svg +4 -0
- package/lib/commonjs/icons/icRadioUnchecked.svg +4 -0
- package/lib/commonjs/icons/icSuccess.gif +0 -0
- package/lib/commonjs/icons/index.js +28 -0
- package/lib/commonjs/icons/index.js.map +1 -0
- package/lib/commonjs/index.js +19 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +5 -4
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +9 -2
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/constants.js +3 -1
- package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +3 -2
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +70 -80
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/sdk.js +1 -0
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js +132 -12
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/commonjs/utils/ApiUtils.js +122 -3
- package/lib/commonjs/utils/ApiUtils.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js +67 -7
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/context/valdiateOTPContext.js +11 -0
- package/lib/commonjs/utils/context/valdiateOTPContext.js.map +1 -0
- package/lib/commonjs/utils/helper.js.map +1 -1
- package/lib/commonjs/utils/hooks/useTimer.js +68 -30
- package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
- package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +480 -290
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js +264 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js +88 -0
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js +194 -0
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js +96 -0
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/constants.js +11 -4
- package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js +59 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +11 -5
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +52 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/utils.js +219 -108
- package/lib/module/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/module/components/utils/Scale.js +14 -0
- package/lib/module/components/utils/Scale.js.map +1 -0
- package/lib/module/components/widgets/ConfirmCancelModal.js +40 -0
- package/lib/module/components/widgets/ConfirmCancelModal.js.map +1 -0
- package/lib/module/components/widgets/SnackBarCustom.js +36 -4
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/components/widgets/SplitTextInput.js +48 -19
- package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/module/constants/apiConstants.js +4 -1
- package/lib/module/constants/apiConstants.js.map +1 -1
- package/lib/module/constants/constants.js +1 -0
- package/lib/module/constants/constants.js.map +1 -1
- package/lib/module/icons/icExclamationcircleo_dark.svg +3 -0
- package/lib/module/icons/icFailed.gif +0 -0
- package/lib/module/icons/icRadioChecked.svg +4 -0
- package/lib/module/icons/icRadioUnchecked.svg +4 -0
- package/lib/module/icons/icSuccess.gif +0 -0
- package/lib/module/icons/index.js +5 -0
- package/lib/module/icons/index.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +5 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +12 -3
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/constants.js +2 -0
- package/lib/module/manager/syncmanager/constants.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +3 -2
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +70 -80
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/sdk.js +2 -0
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/ui/screens/ValidateOTPScreen.js +139 -11
- package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/module/utils/ApiUtils.js +118 -2
- package/lib/module/utils/ApiUtils.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js +66 -7
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/context/valdiateOTPContext.js +4 -0
- package/lib/module/utils/context/valdiateOTPContext.js.map +1 -0
- package/lib/module/utils/helper.js +1 -0
- package/lib/module/utils/helper.js.map +1 -1
- package/lib/module/utils/hooks/useTimer.js +67 -30
- package/lib/module/utils/hooks/useTimer.js.map +1 -1
- package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +3 -3
- package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +0 -1
- package/lib/typescript/components/executiontasks/scan/modalConstant.d.ts +0 -1
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPET.d.ts +3 -3
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPSchema.d.ts +169 -5
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOtpStyles.d.ts +255 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/ContactListView.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/OTPView.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/VerificationComplete.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/constants.d.ts +11 -4
- package/lib/typescript/components/executiontasks/validateOTP/sub-components/ContactCard.d.ts +8 -0
- package/lib/typescript/components/executiontasks/validateOTP/sub-components/ResendOTPButton.d.ts +12 -0
- package/lib/typescript/components/executiontasks/validateOTP/utils.d.ts +31 -7
- package/lib/typescript/components/utils/Scale.d.ts +4 -0
- package/lib/typescript/components/widgets/ConfirmCancelModal.d.ts +9 -0
- package/lib/typescript/components/widgets/SnackBarCustom.d.ts +4 -8
- package/lib/typescript/components/widgets/SplitTextInput.d.ts +1 -1
- package/lib/typescript/components/widgets/Timer.d.ts +3 -3
- package/lib/typescript/constants/apiConstants.d.ts +3 -0
- package/lib/typescript/constants/constants.d.ts +1 -0
- package/lib/typescript/icons/index.d.ts +4 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +4 -1
- package/lib/typescript/manager/syncmanager/constants.d.ts +2 -0
- package/lib/typescript/models/execTasks/ETConfig.d.ts +1 -1
- package/lib/typescript/models/sdk.d.ts +3 -0
- package/lib/typescript/network/GraphQLClient.d.ts +4 -4
- package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +2 -2
- package/lib/typescript/ui/screens/HttpRequestScreen.d.ts +0 -1
- package/lib/typescript/utils/ApiUtils.d.ts +6 -2
- package/lib/typescript/utils/ExecTaskUtils.d.ts +1 -0
- package/lib/typescript/utils/context/paymentContext.d.ts +0 -1
- package/lib/typescript/utils/context/valdiateOTPContext.d.ts +6 -0
- package/lib/typescript/utils/hooks/useModal.d.ts +0 -2
- package/lib/typescript/utils/hooks/useTimer.d.ts +7 -5
- package/package.json +46 -44
- package/src/components/dispatch/DispatchExecNavigator.tsx +1 -1
- package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +2 -2
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +1 -1
- package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +654 -381
- package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +193 -8
- package/src/components/executiontasks/validateOTP/ValidateOtpStyles.ts +296 -0
- package/src/components/executiontasks/validateOTP/components/ContactListView.tsx +109 -0
- package/src/components/executiontasks/validateOTP/components/OTPView.tsx +216 -0
- package/src/components/executiontasks/validateOTP/components/VerificationComplete.tsx +124 -0
- package/src/components/executiontasks/validateOTP/constants.ts +11 -4
- package/src/components/executiontasks/validateOTP/sub-components/ContactCard.tsx +72 -0
- package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +13 -7
- package/src/components/executiontasks/validateOTP/sub-components/ResendOTPButton.tsx +86 -0
- package/src/components/executiontasks/validateOTP/utils.ts +313 -143
- package/src/components/utils/Scale.ts +13 -0
- package/src/components/widgets/ConfirmCancelModal.tsx +49 -0
- package/src/components/widgets/SnackBarCustom.tsx +37 -13
- package/src/components/widgets/SplitTextInput.tsx +58 -21
- package/src/constants/apiConstants.ts +3 -0
- package/src/constants/constants.ts +2 -2
- package/src/icons/icExclamationcircleo_dark.svg +3 -0
- package/src/icons/icFailed.gif +0 -0
- package/src/icons/icRadioChecked.svg +4 -0
- package/src/icons/icRadioUnchecked.svg +4 -0
- package/src/icons/icSuccess.gif +0 -0
- package/src/icons/index.ts +5 -0
- package/src/index.tsx +2 -0
- package/src/manager/sdk/DispatchSDKManager.ts +6 -5
- package/src/manager/sdk/callbacksHandler.ts +29 -12
- package/src/manager/syncmanager/constants.ts +2 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +29 -29
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +75 -84
- package/src/models/sdk.ts +6 -0
- package/src/ui/screens/ValidateOTPScreen.tsx +194 -32
- package/src/utils/ApiUtils.ts +131 -3
- package/src/utils/ExecTaskUtils.ts +77 -15
- package/src/utils/context/valdiateOTPContext.ts +9 -0
- package/src/utils/helper.ts +0 -1
- package/src/utils/hooks/useTimer.ts +94 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DocumentManager","_interopRequireDefault","require","_DocumentHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_Logger","_NetworkUtil","_ETEventsManager","_constants","_EventsSyncManager","_reactNativeImageMarker","_reactNativeFs","_storage","_reactNative","_SentrySdkConstants","_SentryAnalyticsUtils","_DocumentSyncManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","latlngToDms","DocumentSyncManager","retries","_retries","constructor","MAX_RETRY_COUNT","init","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","documentHttpClient","DocumentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","checkForInitialization","docManager","DocumentManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","APP_LOG","screenName","extraParams","msg","Logger","logEvent","LOG_TYPE","SDK_ERROR","error","flattenObject","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","InvalidArgumentsError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","ETEventsManager","podId","POD_DOC","markPODDocEventSynced","lastSyncedEventId","Storage","getSharedItem","LAST_SYNCED_EVENT_ID","syncEventId","parseInt","setSharedItem","EventsSyncManager","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","SDK_WARNING","updateDocError","uploadError","updateDocSyncError","SyncManagerNotInitialized","processImageData","processed_file_path","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","Platform","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","Position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","TextBackgroundType","none","quality","filename","saveFormat","ImageFormat","jpg","Marker","markText","completeFilePath","includes","processBase64Data","imagePath","RNFS","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","API_ERROR","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","exports"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:', fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n let cta = 'updateDocument-updateDocumentProcessedPath'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processImageData-started';\n let extra = {\n msg: 'processImageData-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n }\n let cta = 'processImageData-completed';\n let extra = {\n msg: 'processImageData-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if (documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0) {\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: flattenObject(error),\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n private async startSyncAfterMaxRetry(extraParameters: any, error: any) {\n if (this.retries >= this.maxRetryCount) {\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\n }\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAC,uBAAA,CAAAL,OAAA;AAKA,IAAAM,OAAA,GAAAD,uBAAA,CAAAL,OAAA;AAEA,IAAAO,YAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,gBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,uBAAA,GAAAN,uBAAA,CAAAL,OAAA;AACA,IAAAY,cAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,QAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,mBAAA,GAAAf,OAAA;AACA,IAAAgB,qBAAA,GAAAhB,OAAA;AAAyF,IAAAiB,oBAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAA5B,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAkB,cAAA,CAAAlB,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAmB,KAAA,EAAAlB,CAAA,EAAAmB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAxB,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAoB,eAAAjB,CAAA,QAAAc,CAAA,GAAAQ,YAAA,CAAAtB,CAAA,uCAAAc,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAQ,aAAAtB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAuB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,uCAAAe,CAAA,SAAAA,CAAA,YAAAW,SAAA,yEAAA1B,CAAA,GAAA2B,MAAA,GAAAC,MAAA,EAAA3B,CAAA;AACzF,MAAM4B,WAAW,GAAGlD,OAAO,CAAC,eAAe,CAAC;AAG7B,MAAMmD,mBAAmB,CAAC;EAOvC,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACC,QAAQ;EACtB;EAEA,IAAID,OAAOA,CAACZ,KAAa,EAAE;IACzB,IAAI,CAACa,QAAQ,GAAGb,KAAK;EACvB;EAEQc,WAAWA,CAAA,EAAG;IAAAhB,eAAA;IAAAA,eAAA,qBAbQ,KAAK;IAAAA,eAAA;IAAAA,eAAA,wBAGHiB,0BAAe;IAAAjB,eAAA,mBAC5B,CAAC;EASI;EAEjBkB,IAAIA,CAACC,OAAe,EAAEC,UAAkB,EAAE;IAC/C,IAAI,IAAAC,qBAAc,EAACF,OAAO,CAAC,EACzB,MAAM,IAAIG,oBAAS,CAACC,mBAAc,CAACC,cAAc,EAAEA,0BAAc,CAAC;IACpE,IAAI,CAACC,aAAa,GAAGL,UAAU;IAC/B,IAAI,CAACM,kBAAkB,GAAG,IAAIC,2BAAkB,CAACR,OAAO,CAAC;EAC3D;EAEA,OAAcS,WAAWA,CAAA,EAAwB;IAC/C,IAAI,CAACf,mBAAmB,CAACgB,QAAQ,EAAE;MACjChB,mBAAmB,CAACgB,QAAQ,GAAG,IAAIhB,mBAAmB,CAAC,CAAC;IAC1D;IACA,OAAOA,mBAAmB,CAACgB,QAAQ;EACrC;EAEA,MAAaC,iBAAiBA,CAAA,EAAkB;IAC9C,IAAI,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAAChB,QAAQ,GAAG,IAAI,CAACU,aAAa,EAAE;MAC1D,IAAI,CAACM,UAAU,GAAG,IAAI;MACtB,MAAMC,UAAU,GAAG,MAAMC,oBAAW,CAACC,gBAAgB,CAAC,CAAC;MACvD,IAAI;QACF,IAAI,CAACC,sBAAsB,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;UACpB,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;QACvD;QACA,IAAII,UAAU,EAAE;UACd,IAAIM,YAA2B,GAAG,MAAM,IAAI,CAACF,UAAU,CAACG,mBAAmB,CAAC,CAAC;UAC7E,IAAI,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,MAAM,IAAG,CAAC,EAAE;YAC5B,MAAM,IAAI,CAACC,iBAAiB,CAACH,YAAY,CAAC,CAAC,CAAC,CAAC;UAC/C,CAAC,MAAM;YACL,IAAII,GAAG,GAAG,0BAA0B;YACpC,IAAAC,6CAAuB,EAAC;cACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;cACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;cAC9CC,UAAU,EAAER,GAAG;cACfA,GAAG,EAAEA,GAAG;cACRS,WAAW,EAAE;gBACXC,GAAG,EAAE;cACP;YACF,CAAC,CAAC;YACFC,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAACZ,GAAG,EAAE,iBAAiB,EAAEa,gBAAQ,CAACC,SAAS,CAAC;UAC3E;QACF,CAAC,MAAM;UACL,IAAId,GAAG,GAAG,6BAA6B;UACvC,IAAAC,6CAAuB,EAAC;YACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;YACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;YAC9CC,UAAU,EAAER,GAAG;YACfA,GAAG,EAAEA,GAAG;YACRS,WAAW,EAAE;cACXC,GAAG,EAAE;YACP;UACF,CAAC,CAAC;UACFC,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,YAAY,EACZa,gBAAQ,CAACC,SACX,CAAC;QACH;MACF,CAAC,CAAC,OAAOC,KAAU,EAAE;QACnB,IAAIf,GAAG,GAAG,yBAAyB;QACnC,IAAAC,6CAAuB,EAAC;UACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;UACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;UAC9CC,UAAU,EAAER,GAAG;UACfA,GAAG,EAAEA,GAAG;UACRS,WAAW,EAAE;YACXC,GAAG,EAAE,IAAAM,oBAAa,EAACD,KAAK;UAC1B;QACF,CAAC,CAAC;QACFJ,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAACD,KAAK,CAAC,EACpBF,gBAAQ,CAACC,SACX,CAAC;MACH,CAAC,SAAS;QACR,IAAI,CAACzB,UAAU,GAAG,KAAK;QACvB,IAAI4B,WAAW,GAAG,MAAM,IAAI,CAACC,aAAa,CAAC,CAAC;QAC5C,IAAID,WAAW,IAAI3B,UAAU,EAAE;UAC7B,MAAM,IAAI,CAACF,iBAAiB,CAAC,CAAC;UAC9B,IAAIY,GAAG,GAAG,wCAAwC;UAClD,IAAImB,eAAe,GAAG;YACpB7B,UAAU,EAAEA,UAAU;YACtB8B,OAAO,EAAEH;UACX,CAAC;UACD,IAAAhB,6CAAuB,EAAC;YACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;YACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;YAC9CC,UAAU,EAAER,GAAG;YACfA,GAAG,EAAEA,GAAG;YACRS,WAAW,EAAE;cACXC,GAAG,EAAE,IAAAM,oBAAa,EAACG,eAAe;YACpC;UACF,CAAC,CAAC;UACFR,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAACG,eAAe,CAAC,EAC9BN,gBAAQ,CAACC,SACX,CAAC;QACH;MACF;IACF,CAAC,MAAM;MACL,IAAId,GAAG,GAAG,+CAA+C;MACzD,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXC,GAAG,EAAE;QACP;MACF,CAAC,CAAC;MACFC,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,+CAA+C,EAC/Ca,gBAAQ,CAACC,SACX,CAAC;IACH;EACF;EAEA,MAAaI,aAAaA,CAAA,EAAqB;IAC7C,IAAI,CAAC,IAAI,CAACxB,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,IAAImC,aAAa,GAAG,MAAM,IAAI,CAAC3B,UAAU,CAAC4B,kBAAkB,CAAC,CAAC;IAC9D,OAAO,CAAAD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEvB,MAAM,IAAG,CAAC,IAAI,IAAI,CAACzB,QAAQ,GAAG,IAAI,CAACU,aAAa;EACxE;EAEA,MAAawC,cAAcA,CACzBC,WAA0B,EAC1BC,IAAmB,EACnBC,MAAe,EACfC,IAAY,EACZC,KAAa,EACbC,QAAuB,EACvBC,QAAgB,EAChBC,QAAgB,EAChBC,YAAoB,EACpBC,iBAAyB,EACzBC,QAAgB,GAAG,CAAC,EACG;IACvB,IACE,IAAAvD,qBAAc,EAACgD,IAAI,CAAC,IACpB,IAAAhD,qBAAc,EAACiD,KAAK,CAAC,IACrB,IAAAjD,qBAAc,EAACmD,QAAQ,CAAC,IACxB,IAAAnD,qBAAc,EAACoD,QAAQ,CAAC,IACvBL,MAAM,IAAI,IAAA/C,qBAAc,EAAC8C,IAAI,CAAE,IAC/B,CAACC,MAAM,IAAI,IAAA/C,qBAAc,EAACkD,QAAQ,CAAE,EAErC,MAAM,IAAIjD,oBAAS,CAACC,mBAAc,CAACsD,oBAAoB,EAAEC,iCAAqB,CAAC,CAAC,KAC7E;MAAA,IAAAC,gBAAA;MACH,IAAI,CAAC,IAAI,CAAC3C,UAAU,EAAE;QACpB,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;MACvD;MACAoD,OAAO,CAACC,GAAG,CAAC,kBAAkB,EAAEf,WAAW,CAAC;MAC5C,IAAIgB,cAAc,GAAG,QAAAH,gBAAA,GAAM,IAAI,CAAC3C,UAAU,cAAA2C,gBAAA,uBAAfA,gBAAA,CAAiBd,cAAc,CACxDC,WAAW,EACXG,IAAI,EACJC,KAAK,EACLF,MAAM,EACNK,QAAQ,EACRD,QAAQ,EACRL,IAAI,EACJI,QAAQ,EACRG,YAAY,EACZC,iBAAiB,EACjBC,QACF,CAAC;MACD,IAAIlC,GAAG,GAAG,gBAAgB;MAC1B,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXC,GAAG,EAAE,iBAAiB,GAAG,IAAAM,oBAAa,EAACwB,cAAc;QACvD;MACF,CAAC,CAAC;MACF7B,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,iBAAiB,GAAG,IAAAgB,oBAAa,EAACwB,cAAc,CAAC,EACjD3B,gBAAQ,CAACC,SACX,CAAC;MACD,OAAO0B,cAAc;IACvB;EACF;EAEA,MAAaC,iBAAiBA,CAAA,EAAG;IAC/B,IAAI,CAAC,IAAI,CAAC/C,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,IAAI,CAACb,QAAQ,GAAG,CAAC;IACjB,MAAM,IAAI,CAACe,iBAAiB,CAAC,CAAC;EAChC;;EAEA;EACA,MAAcsD,yBAAyBA,CACrCC,WAAwB,EACxBC,KAAa,EACbC,OAAe,EACfC,IAAY,EACZ;IACA,IAAI,CAAC,IAAI,CAACpD,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,IAAI;MACF;MACA,MAAM,IAAI,CAACQ,UAAU,CAACqD,6BAA6B,CACjDJ,WAAW,CAACK,EAAE,EACdJ,KAAK,EACLC,OAAO,EACPC,IACF,CAAC;MACD,IAAIG,aAAa,GAAG,MAAMC,wBAAe,CAAChE,WAAW,CAAC,CAAC;MACvD,IAAIiE,KAAK,GAAGC,kBAAO,GAAG,GAAG,GAAGT,WAAW,CAACK,EAAE;MAG1C,IAAI7B,eAAe,GAAG;QACpBgC,KAAK,EAAEA;MACT,CAAC;MACD,IAAInD,GAAG,GAAG,mCAAmC;MAC7C,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXC,GAAG,EAAE,IAAAM,oBAAa,EAACG,eAAe;QACpC;MACF,CAAC,CAAC;MACFR,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAACG,eAAe,CAAC,EAC9BN,gBAAQ,CAACC,SACX,CAAC;MACD;MACA,MAAMmC,aAAa,CAACI,qBAAqB,CAACP,IAAI,EAAED,OAAO,EAAEM,KAAK,CAAC;MAC/D,IAAIL,IAAI,IAAI,CAAC,EAAE;QACb,MAAMQ,iBAAiB,GAAG,MAAMC,gBAAO,CAACrE,WAAW,CAAC,CAAC,CAACsE,aAAa,CACjEC,+BACF,CAAC;QACD,MAAMC,WAAW,GAAGC,QAAQ,CAACL,iBAAiB,CAAC,GAAG,CAAC;QACnD,MAAMC,gBAAO,CAACrE,WAAW,CAAC,CAAC,CAAC0E,aAAa,CACvCH,+BAAoB,EACpB,GAAGC,WAAW,EAChB,CAAC;MACH;MACAG,0BAAiB,CAAC3E,WAAW,CAAC,CAAC,CAAC4E,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjB,IAAI/D,GAAG,GAAG,2BAA2B;MACrC,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXC,GAAG,EAAE,IAAAM,oBAAa,EAAC+C,GAAG;QACxB;MACF,CAAC,CAAC;MACFpD,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC+C,GAAG,CAAC,EAClBlD,gBAAQ,CAACC,SACX,CAAC;IACH;EACF;;EAEA;EACA,MAAckD,2BAA2BA,CACvCrB,WAAwB,EACxBsB,eAAuB,EACvBC,aAAqB,EACrB;IACA,IAAI,CAAC,IAAI,CAACxE,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAI,CAACQ,UAAU,CAACyE,sBAAsB,CAC1CxB,WAAW,CAACK,EAAE,EACdiB,eAAe,EACfC,aACF,CAAC;IACH,CAAC,CAAC,OAAOH,GAAQ,EAAE;MACjB,IAAI/D,GAAG,GAAG,4CAA4C;MACtD,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACiE,KAAK;QACvC/D,SAAS,EAAEC,+CAA2B,CAAC+D,SAAS;QAChD7D,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXC,GAAG,EAAE,IAAAM,oBAAa,EAAC+C,GAAG;QACxB;MACF,CAAC,CAAC;MACFpD,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC+C,GAAG,CAAC,EAClBlD,gBAAQ,CAACyD,WACX,CAAC;IACH;EACF;EAEA,MAAcC,cAAcA,CAAC5B,WAAwB,EAAE6B,WAAmB,EAAE;IAC1E,IAAI,CAAC,IAAI,CAAC9E,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAI,CAACQ,UAAU,CAAC+E,kBAAkB,CAAC9B,WAAW,CAACK,EAAE,EAAEwB,WAAW,CAAC;IACvE,CAAC,CAAC,OAAOT,GAAQ,EAAE;MACjB,IAAI/D,GAAG,GAAG,gBAAgB;MAC1B,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACiE,KAAK;QACvC/D,SAAS,EAAEC,+CAA2B,CAAC+D,SAAS;QAChD7D,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXC,GAAG,EAAE,IAAAM,oBAAa,EAAC+C,GAAG;QACxB;MACF,CAAC,CAAC;MACFpD,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC+C,GAAG,CAAC,EAClBlD,gBAAQ,CAACyD,WACX,CAAC;IACH;EACF;EACQ7E,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,CAAC,IAAI,CAACT,kBAAkB,EAAE;MAC5B,MAAM,IAAIJ,oBAAS,CACjBC,mBAAc,CAAC6F,yBAAyB,EACxCA,qCACF,CAAC;IACH;EACF;;EAEA;EACA,MAAcC,gBAAgBA,CAAChC,WAAwB,EAAE;IACvD;IACA,IACEA,WAAW,CAACiC,mBAAmB,KAAK,IAAI,IACxCjC,WAAW,CAACiC,mBAAmB,KAAK,EAAE,EACtC;MACA,IAAI5E,GAAG,GAAG,0BAA0B;MACpC,IAAI6E,KAAK,GAAG;QACVnE,GAAG,EAAE,0BAA0B;QAC/BoE,KAAK,EAAEnC,WAAW,CAACoC,SAAS,IAAIpC,WAAW,CAACoC,SAAS,CAACjF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACoC,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QAC3GC,KAAK,EAAEtC,WAAW,CAACuC,aAAa,IAAIvC,WAAW,CAACuC,aAAa,CAACpF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACuC,aAAa,CAACF,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QACvHG,MAAM,EAAExC,WAAW,CAACyC,WAAW,IAAIzC,WAAW,CAACyC,WAAW,CAACtF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACyC,WAAW,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAG;MAClH,CAAC;MACD,IAAA/E,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAEoE;MACf,CAAC,CAAC;MACFlE,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC6D,KAAK,CAAC,EACpBhE,gBAAQ,CAACC,SACX,CAAC;MACD,IAAIuE,SAAS,GAAG,YAAY,GAAG1C,WAAW,CAACoC,SAAS,CAAC,CAAC;MACtD,IAAIO,WAAW,GAAG3C,WAAW,CAAC4C,aAAa,CAAC,CAAC;MAC7C,IAAIC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,CAAC,CAAC;MAC3C,IAAIK,QAAQ,GAAGH,WAAW,CAACG,QAAQ,CAAC,CAAC;MACrC,IAAIC,GAAG,GAAGJ,WAAW,CAACI,GAAG,CAAC,CAAC;MAC3B,IAAIC,GAAG,GAAGL,WAAW,CAACK,GAAG,CAAC,CAAC;MAC3B,IAAIC,QAAQ,GAAGN,WAAW,CAACM,QAAQ,CAAC,CAAC;MACrC,IAAIC,MAAM,GAAG7H,WAAW,CAAC,GAAG0H,GAAG,KAAKC,GAAG,EAAE,CAAC,CAAC,CAAC;MAC5C,IAAIG,kBAAkB,GAAGD,MAAM;MAC/B,IAAID,QAAQ,KAAK,EAAE,EAAE;QACnBE,kBAAkB,GAAGD,MAAM,GAAG,cAAc,GAAGD,QAAQ,GAAG,IAAI,CAAC,CAAC;MAClE;MACA,IAAIG,QAAQ,GAAG,EAAE;MACjB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7BF,QAAQ,GAAG,EAAE;MACf;MACA,MAAMG,OAAO,GAAG;QACdC,eAAe,EAAE;UAAE;UACjBC,GAAG,EAAE3D,WAAW,CAAC4D,SAAS;UAC1BC,KAAK,EAAE;QACT,CAAC;QACDC,cAAc,EAAE,CACd;UACEC,IAAI,EAAE,GAAGf,QAAQ,KAAKK,kBAAkB,EAAE;UAAG;UAC7CW,QAAQ,EAAE;YACRA,QAAQ,EAAEC,gCAAQ,CAACC,OAAO,CAAE;UAC9B,CAAC;UACDC,KAAK,EAAE;YAAE;YACPC,KAAK,EAAE,SAAS;YAChBd,QAAQ,EAAEA,QAAQ;YAClBe,QAAQ,EAAE,OAAO;YACjBC,mBAAmB,EAAE;cACnBC,OAAO,EAAE,OAAO;cAChBC,IAAI,EAAEC,0CAAkB,CAACC,IAAI;cAC7BN,KAAK,EAAE;YACT;UACF;QACF,CAAC,CACF;QACDP,KAAK,EAAE,CAAC;QACRc,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAElC,SAAS;QACnBmC,UAAU,EAAEC,mCAAW,CAACC,GAAG,CAAE;MAC/B,CAAC;MACD,IAAIzF,iBAAiB,GAAG,MAAM0F,+BAAM,CAACC,QAAQ,CAACxB,OAAO,CAAC,CAAC,CAAC;MACxD,IAAInE,iBAAiB,KAAK,IAAI,IAAIA,iBAAiB,KAAK,EAAE,EAAE;QAC1D,IAAI4F,gBAAgB,GAAG5F,iBAAiB;QACxC;QACA,IAAI,CAACA,iBAAiB,CAAC6F,QAAQ,CAAC,MAAM,CAAC,EAAE;UACvCD,gBAAgB,GAAG,SAAS,GAAG5F,iBAAiB;QAClD;QACA;QACA,IAAI,CAAC+B,2BAA2B,CAC9BrB,WAAW,EACXA,WAAW,CAAC4D,SAAS;QAAE;QACvBsB,gBAAgB,CAAC;QACnB,CAAC;QACDlF,WAAW,CAACiC,mBAAmB,GAAGiD,gBAAgB;MACpD;IACF;IACA,IAAI7H,GAAG,GAAG,4BAA4B;IACtC,IAAI6E,KAAK,GAAG;MACVnE,GAAG,EAAE,4BAA4B;MACjCoE,KAAK,EAAEnC,WAAW,CAACoC,SAAS,IAAIpC,WAAW,CAACoC,SAAS,CAACjF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACoC,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;MAC3GC,KAAK,EAAEtC,WAAW,CAACuC,aAAa,IAAIvC,WAAW,CAACuC,aAAa,CAACpF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACuC,aAAa,CAACF,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;MACvHG,MAAM,EAAExC,WAAW,CAACyC,WAAW,IAAIzC,WAAW,CAACyC,WAAW,CAACtF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACyC,WAAW,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAG;IAClH,CAAC;IACD,IAAA/E,6CAAuB,EAAC;MACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;MACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;MAC9CC,UAAU,EAAER,GAAG;MACfA,GAAG,EAAEA,GAAG;MACRS,WAAW,EAAEoE;IACf,CAAC,CAAC;IACFlE,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC6D,KAAK,CAAC,EACpBhE,gBAAQ,CAACC,SACX,CAAC;IACD,OAAO6B,WAAW;EACpB;;EAEA;EACA,MAAcoF,iBAAiBA,CAACpF,WAAwB,EAAE;IACxD,IACEA,WAAW,CAACiC,mBAAmB,KAAK,IAAI,IACxCjC,WAAW,CAACiC,mBAAmB,KAAK,EAAE,EACtC;MACA,IAAI5E,GAAG,GAAG,2BAA2B;MACrC,IAAI6E,KAAK,GAAG;QACVnE,GAAG,EAAE,2BAA2B;QAChCoE,KAAK,EAAEnC,WAAW,CAACoC,SAAS,IAAIpC,WAAW,CAACoC,SAAS,CAACjF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACoC,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QAC3GC,KAAK,EAAEtC,WAAW,CAACuC,aAAa,IAAIvC,WAAW,CAACuC,aAAa,CAACpF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACuC,aAAa,CAACF,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QACvHG,MAAM,EAAExC,WAAW,CAACyC,WAAW,IAAIzC,WAAW,CAACyC,WAAW,CAACtF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACyC,WAAW,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAG;MAClH,CAAC;MACD,IAAA/E,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAEoE;MACf,CAAC,CAAC;MACFlE,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC6D,KAAK,CAAC,EACpBhE,gBAAQ,CAACC,SACX,CAAC;MACD,IAAIe,QAAQ,GAAG,EAAE;MACjB;MACA,IAAIc,WAAW,CAAC4D,SAAS,KAAK,IAAI,IAAI5D,WAAW,CAAC4D,SAAS,KAAK,EAAE,EAAE;QAClE,MAAMyB,SAAS,GAAG,GAAGC,sBAAI,CAACC,sBAAsB,IAAIvF,WAAW,CAACoC,SAAS,EAAE;QAC3E,MAAMkD,sBAAI,CAACE,SAAS,CAACH,SAAS,EAAErF,WAAW,CAAClB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7DI,QAAQ,GAAGmG,SAAS;QACpB;QACA,IAAI,CAACA,SAAS,CAACF,QAAQ,CAAC,MAAM,CAAC,EAAE;UAC/BjG,QAAQ,GAAG,UAAUmG,SAAS,EAAE;QAClC;QACArF,WAAW,CAAC4D,SAAS,GAAG1E,QAAQ;MAClC,CAAC,MAAM;QACLA,QAAQ,GAAGc,WAAW,CAAC4D,SAAS;MAClC;MACA,IAAIlB,SAAS,GAAG,YAAY,GAAG1C,WAAW,CAACoC,SAAS,CAAC,CAAC;MACtD,IAAIO,WAAW,GAAG3C,WAAW,CAAC4C,aAAa,CAAC,CAAC;MAC7C,IAAIC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,CAAC,CAAC;MAC3C,IAAIK,QAAQ,GAAGH,WAAW,CAACG,QAAQ,CAAC,CAAC;MACrC,IAAIC,GAAG,GAAGJ,WAAW,CAACI,GAAG,CAAC,CAAC;MAC3B,IAAIC,GAAG,GAAGL,WAAW,CAACK,GAAG,CAAC,CAAC;MAC3B,IAAIC,QAAQ,GAAGN,WAAW,CAACM,QAAQ,CAAC,CAAC;MACrC,IAAIC,MAAM,GAAG7H,WAAW,CAAC,GAAG0H,GAAG,KAAKC,GAAG,EAAE,CAAC,CAAC,CAAC;MAC5C,IAAIG,kBAAkB,GAAGD,MAAM;MAC/B,IAAID,QAAQ,KAAK,EAAE,EAAE;QACnBE,kBAAkB,GAAGD,MAAM,GAAG,cAAc,GAAGD,QAAQ,GAAG,IAAI,CAAC,CAAC;MAClE;MACA,MAAMM,OAAO,GAAG;QACdC,eAAe,EAAE;UACfC,GAAG,EAAEzE,QAAQ;UAAE;UACf2E,KAAK,EAAE;QACT,CAAC;QACDC,cAAc,EAAE,CACd;UACEC,IAAI,EAAE,GAAGf,QAAQ,KAAKK,kBAAkB,EAAE;UAAE;UAC5CW,QAAQ,EAAE;YACRA,QAAQ,EAAEC,gCAAQ,CAACC,OAAO,CAAE;UAC9B,CAAC;UACDC,KAAK,EAAE;YAAE;YACPC,KAAK,EAAE,SAAS;YAChBd,QAAQ,EAAE,EAAE;YACZe,QAAQ,EAAE,OAAO;YACjBC,mBAAmB,EAAE;cACnBC,OAAO,EAAE,OAAO;cAChBC,IAAI,EAAEC,0CAAkB,CAACC,IAAI;cAC7BN,KAAK,EAAE;YACT;UACF;QACF,CAAC,CACF;QACDP,KAAK,EAAE,CAAC;QACRc,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAElC,SAAS;QACnBmC,UAAU,EAAEC,mCAAW,CAAC/F,MAAM,CAAE;MAClC,CAAC;MACD,IAAI0G,eAAe,GAAG,MAAMT,+BAAM,CAACC,QAAQ,CAACxB,OAAO,CAAC,CAAC,CAAC;MACtD,IAAIgC,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAK,EAAE,EAAE;QACtD;QACA,IAAIC,kBAAkB,GAAGD,eAAe,CAACE,KAAK,CAC5C,wBACF,CAAC;QACD;QACA,MAAM,IAAI,CAACtE,2BAA2B,CACpCrB,WAAW,EACXd,QAAQ,EACRwG,kBAAkB,CAAC,CAAC,CACtB,CAAC;QACD1F,WAAW,CAACiC,mBAAmB,GAAGyD,kBAAkB,CAAC,CAAC,CAAC;MACzD;IACF;IACA,IAAIrI,GAAG,GAAG,6BAA6B;IACvC,IAAI6E,KAAK,GAAG;MACVnE,GAAG,EAAE,6BAA6B;MAClCoE,KAAK,EAAEnC,WAAW,CAACoC,SAAS,IAAIpC,WAAW,CAACoC,SAAS,CAACjF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACoC,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;MAC3GC,KAAK,EAAEtC,WAAW,CAACuC,aAAa,IAAIvC,WAAW,CAACuC,aAAa,CAACpF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACuC,aAAa,CAACF,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;MACvHG,MAAM,EAAExC,WAAW,CAACyC,WAAW,IAAIzC,WAAW,CAACyC,WAAW,CAACtF,MAAM,IAAI,CAAC,GAAG6C,WAAW,CAACyC,WAAW,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAG;IAClH,CAAC;IACD,IAAA/E,6CAAuB,EAAC;MACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;MACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;MAC9CC,UAAU,EAAER,GAAG;MACfA,GAAG,EAAEA,GAAG;MACRS,WAAW,EAAEoE;IACf,CAAC,CAAC;IACFlE,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC6D,KAAK,CAAC,EACpBhE,gBAAQ,CAACC,SACX,CAAC;IACD,OAAO6B,WAAW;EACpB;;EAEA;EACA,MAAc4F,cAAcA,CAAC5F,WAAwB,EAAE;IACrD,IAAIA,WAAW,CAACjB,MAAM,IAAIiB,WAAW,CAAClB,IAAI,IAAI,IAAI,EAAE;MAClD,OAAO,MAAM,IAAI,CAACsG,iBAAiB,CAACpF,WAAW,CAAC;IAClD,CAAC,MAAM;MACL,OAAO,MAAM,IAAI,CAACgC,gBAAgB,CAAChC,WAAW,CAAC;IACjD;EACF;EAEA,MAAc5C,iBAAiBA,CAAC4C,WAAwB,EAAE;IACxD,IAAI;MAAA,IAAA6F,qBAAA;MACF,IAAIC,MAAM,GAAG9F,WAAW;MACxB,IAAI3C,GAAG,GAAG,4BAA4B;MACtC,IAAI0I,iBAAiB,GAAG,KAAK;MAC7B,IAAI/F,WAAW,CAAC4C,aAAa,IAAI5C,WAAW,CAAC4C,aAAa,CAACzF,MAAM,IAAI,CAAC,EAAE;QACtE4I,iBAAiB,GAAG,IAAI;QACxBD,MAAM,GAAG,MAAM,IAAI,CAACF,cAAc,CAAC5F,WAAW,CAAC;MACjD;MACA,IAAIkC,KAAK,GAAG;QACVnE,GAAG,EAAEgI,iBAAiB,GAAG,mBAAmB,GAAG,uBAAuB;QACtE5D,KAAK,EAAE2D,MAAM,CAAC1D,SAAS,IAAI0D,MAAM,CAAC1D,SAAS,CAACjF,MAAM,IAAI,CAAC,GAAG2I,MAAM,CAAC1D,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QAC5FC,KAAK,EAAEwD,MAAM,CAACvD,aAAa,IAAIuD,MAAM,CAACvD,aAAa,CAACpF,MAAM,IAAI,CAAC,GAAG2I,MAAM,CAACvD,aAAa,CAACF,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QACxGG,MAAM,EAAEsD,MAAM,CAACrD,WAAW,IAAIqD,MAAM,CAACrD,WAAW,CAACtF,MAAM,IAAI,CAAC,GAAG2I,MAAM,CAACrD,WAAW,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAG;MACnG,CAAC;MACD,IAAA/E,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAEoE;MACf,CAAC,CAAC;MACFlE,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAAC6D,KAAK,CAAC,EACpBhE,gBAAQ,CAACC,SACX,CAAC;MACD,IAAI8B,KAAK,GAAG,QAAA4F,qBAAA,GAAM,IAAI,CAACxJ,kBAAkB,cAAAwJ,qBAAA,uBAAvBA,qBAAA,CAAyBG,cAAc,CAACF,MAAM,CAAC;MAEjE,IAAItH,eAAe,GAAG;QACpByB,KAAK,EAAEA,KAAK,IAAI,EAAE;QAClBkC,KAAK,EAAE2D,MAAM,CAAC1D,SAAS,IAAI0D,MAAM,CAAC1D,SAAS,CAACjF,MAAM,IAAI,CAAC,GAAG2I,MAAM,CAAC1D,SAAS,CAACC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QAC5FC,KAAK,EAAEwD,MAAM,CAACvD,aAAa,IAAIuD,MAAM,CAACvD,aAAa,CAACpF,MAAM,IAAI,CAAC,GAAG2I,MAAM,CAACvD,aAAa,CAACF,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QACxGG,MAAM,EAAEsD,MAAM,CAACrD,WAAW,IAAIqD,MAAM,CAACrD,WAAW,CAACtF,MAAM,IAAI,CAAC,GAAG2I,MAAM,CAACrD,WAAW,CAACJ,SAAS,CAAC,CAAC,CAAC,GAAG;MACnG,CAAC;MACD;MACA,IAAIpC,KAAK,EAAE;QACT;QACA,MAAM,IAAI,CAACF,yBAAyB,CAClCC,WAAW,EACXC,KAAK,EACL,IAAI,CAACvE,QAAQ,GAAG,CAAC,EACjB,CACF,CAAC;QACD,IAAI,CAACA,QAAQ,GAAG,CAAC;QACjB;MACF,CAAC,MAAM;QACL;QACA,MAAM,IAAI,CAACqE,yBAAyB,CAClCC,WAAW,EACX,EAAE,EACF,IAAI,CAACtE,QAAQ,GAAG,CAAC,EACjB,CACF,CAAC;QACD,IAAI,CAACA,QAAQ,EAAE;QACf,IAAI2B,GAAG,GAAG,gCAAgC;QAC1C,IAAAC,6CAAuB,EAAC;UACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;UACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;UAC9CC,UAAU,EAAER,GAAG;UACfA,GAAG,EAAEA,GAAG;UACRS,WAAW,EAAEU;QACf,CAAC,CAAC;QACFR,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAACG,eAAe,CAAC,EAC9BN,gBAAQ,CAACC,SACX,CAAC;QACD,IAAI,CAAC8H,sBAAsB,CAACzH,eAAe,EAAE,IAAI,CAAC;QAClD,MAAM,IAAI,CAACoD,cAAc,CAACkE,MAAM,EAAE,kBAAkB,CAAC;MACvD;IACF,CAAC,CAAC,OAAO1H,KAAU,EAAE;MAAA,IAAA8H,eAAA,EAAAC,gBAAA;MACnB;MACA,MAAM,IAAI,CAACpG,yBAAyB,CAClCC,WAAW,EACX,EAAE,EACF,IAAI,CAACtE,QAAQ,GAAG,CAAC,EACjB,CACF,CAAC;MACD,MAAM2B,GAAG,GAAG,yBAAyB;MACrC,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACiE,KAAK;QACvC/D,SAAS,EAAEC,+CAA2B,CAACyI,SAAS;QAChDvI,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAE;UACXM,KAAK,EAAE,IAAAC,oBAAa,EAACD,KAAK;QAC5B;MACF,CAAC,CAAC;MACFJ,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACH,IAAAgB,oBAAa,EAACD,KAAK,CAAC,EACpBF,gBAAQ,CAACC,SACX,CAAC;MACD,IAAI,CAACzC,QAAQ,EAAE;MACf,IAAI,CAACuK,sBAAsB,CAAC,IAAI,EAAE7H,KAAK,CAAC;MACxC,MAAM,IAAI,CAACwD,cAAc,CACvB5B,WAAW,EACX8C,IAAI,CAACuD,SAAS,CAAC;QACbC,OAAO,EAAElI,KAAK,CAACkI,OAAO;QACtBlI,KAAK,EAAE0E,IAAI,CAACuD,SAAS,CAACjI,KAAK,aAALA,KAAK,gBAAA8H,eAAA,GAAL9H,KAAK,CAAEmI,QAAQ,cAAAL,eAAA,uBAAfA,eAAA,CAAiBpH,IAAI,CAAC;QAC5C0H,MAAM,EAAEpI,KAAK,aAALA,KAAK,gBAAA+H,gBAAA,GAAL/H,KAAK,CAAEmI,QAAQ,cAAAJ,gBAAA,uBAAfA,gBAAA,CAAiBK;MAC3B,CAAC,CACH,CAAC;IACH;EACF;EAEA,MAAcP,sBAAsBA,CAACzH,eAAoB,EAAEJ,KAAU,EAAE;IACrE,IAAI,IAAI,CAAC3C,OAAO,IAAI,IAAI,CAACW,aAAa,EAAE;MACtC,IAAIiB,GAAG,GAAG,0CAA0C;MACpD,IAAAC,6CAAuB,EAAC;QACtBC,aAAa,EAAEC,sCAAkB,CAACC,GAAG;QACrCC,SAAS,EAAEC,+CAA2B,CAACC,OAAO;QAC9CC,UAAU,EAAER,GAAG;QACfA,GAAG,EAAEA,GAAG;QACRS,WAAW,EAAEU,eAAe,GAAGA,eAAe,GAAGJ;MACnD,CAAC,CAAC;MACFJ,eAAM,CAACzB,WAAW,CAAC,CAAC,CAAC0B,QAAQ,CAC3BZ,GAAG,EACHmB,eAAe,GAAG,IAAAH,oBAAa,EAACG,eAAe,CAAC,GAAG,IAAAH,oBAAa,EAAED,KAAM,CAAC,EACzEF,gBAAQ,CAACC,SACX,CAAC;MACD,IAAI,CAAC,IAAI,CAACpB,UAAU,EAAE;QACpB,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;MACvD;MACA,IAAIU,YAA2B,GAC7B,MAAM,IAAI,CAACF,UAAU,CAACG,mBAAmB,CAAC,CAAC;MAC7C,IAAI,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,MAAM,IAAG,CAAC,EAAE;QAC5B,MAAM,IAAI,CAACJ,UAAU,CAAC0J,iBAAiB,CAACxJ,YAAY,CAAC,CAAC,CAAC,CAACoD,EAAE,EAAEpD,YAAY,CAAC,CAAC,CAAC,CAACsC,QAAQ,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC7D,QAAQ,GAAG,CAAC;QACjB,IAAI,CAACe,iBAAiB,CAAC,CAAC;MAC1B;IACF;EACF;EAEA,MAAaiK,eAAeA,CAACC,UAAmB,EAA0B;IACxE,IAAI,CAAC,IAAI,CAAC5J,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,OAAO,IAAI,CAACQ,UAAU,CAAC2J,eAAe,CAACC,UAAU,CAAC;EACpD;EAEA,MAAaC,eAAeA,CAAC3H,KAAa,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAClC,UAAU,EAAE,IAAI,CAACA,UAAU,GAAG,MAAMC,wBAAe,CAACT,WAAW,CAAC,CAAC;IAC3E,IAAI0C,KAAK,EAAE,MAAM,IAAI,CAAClC,UAAU,CAAC8J,wBAAwB,CAAC5H,KAAK,CAAC;EAClE;AACF;AAAC6H,OAAA,CAAAjN,OAAA,GAAA2B,mBAAA;AAAAlC,oBAAA,GA5sBoBkC,mBAAmB;AAAAb,eAAA,CAAnBa,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_DocumentManager","_interopRequireDefault","require","_DocumentHttpClient","_utils","_BaseError","_ErrorCodes","_interopRequireWildcard","_Logger","_NetworkUtil","_ETEventsManager","_constants","_EventsSyncManager","_reactNativeImageMarker","_reactNativeFs","_storage","_reactNative","_SentrySdkConstants","_SentryAnalyticsUtils","_DocumentSyncManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","latlngToDms","DocumentSyncManager","retries","_retries","constructor","MAX_RETRY_COUNT","init","baseURL","retryCount","isEmptyOrBlank","BaseError","BaseErrorCodes","InvalidBaseURL","maxRetryCount","documentHttpClient","DocumentHttpClient","getInstance","instance","startDocumentSync","inProgress","hasNetwork","NetworkUtil","isAvailableAsync","checkForInitialization","docManager","DocumentManager","documentRows","getUnsyncedDocument","length","uploadDocToServer","cta","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","APP_LOG","screenName","extraParams","msg","Logger","logEvent","LOG_TYPE","SDK_ERROR","error","flattenObject","syncPending","isSyncPending","extraParameters","pending","leftDocuments","getAllUnsyncedDocs","insertDocument","fmsFolderID","data","base64","desc","dspID","filePath","fileType","fileName","geoTimeStamp","processedFilePath","priority","InvalidArgumentError","InvalidArgumentsError","_this$docManager","console","log","insertResponse","forceDocumentSync","updateDocumentWithAttempt","documentRow","fmsID","attempt","sync","markDocumentSyncedWithAttempt","id","eventsManager","ETEventsManager","podId","POD_DOC","markPODDocEventSynced","lastSyncedEventId","Storage","getSharedItem","LAST_SYNCED_EVENT_ID","syncEventId","parseInt","setSharedItem","EventsSyncManager","startSync","err","updateDocumentProcessedPath","origialFilePath","processedPath","updateProcesedFilePath","ERROR","APP_ERROR","SDK_WARNING","updateDocError","uploadError","updateDocSyncError","SyncManagerNotInitialized","processImageData","extra","fName","file_name","substring","dName","fms_folder_id","dispId","dispatch_id","processed_file_path","pFilePath","strGeoStamp","geo_timestamp","objGeoStamp","JSON","parse","dateTime","lat","lng","accuracy","strDMS","strDMSWithAccuracy","fontSize","Platform","OS","options","backgroundImage","src","file_path","scale","watermarkTexts","text","position","Position","topLeft","style","color","fontName","textBackgroundStyle","padding","type","TextBackgroundType","none","quality","filename","saveFormat","ImageFormat","jpg","Marker","markText","completeFilePath","includes","processBase64Data","imagePath","RNFS","TemporaryDirectoryPath","writeFile","processedBase64","splittedDase64Data","split","processPODData","_this$documentHttpCli","docRow","geoStampAvailable","uploadDocument","startSyncAfterMaxRetry","_error$response","_error$response2","API_ERROR","stringify","message","response","status","updateDocPriority","getAllDocuments","dispatchID","clearSyncedDocs","deleteAllSyncedDocuments","exports"],"sources":["DocumentSyncManager.ts"],"sourcesContent":["import type { DocumentRow } from '../DBConfig';\nimport DocumentManager from './DocumentManager';\nimport DocumentHttpClient from './DocumentHttpClient';\nimport { isEmptyOrBlank, flattenObject } from '../../../utils/utils';\nimport { BaseError } from '../../../errors/BaseError';\nimport BaseErrorCodes, {\n InvalidArgumentsError,\n InvalidBaseURL,\n SyncManagerNotInitialized,\n} from '../../../errors/ErrorCodes';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport type { SQLResultSet } from 'expo-sqlite';\nimport NetworkUtil from '../../../utils/NetworkUtil';\nimport ETEventsManager from '../events/ETEventsManager';\nimport { LAST_SYNCED_EVENT_ID, MAX_RETRY_COUNT, POD_DOC } from '../../syncmanager/constants';\nimport EventsSyncManager from '../events/EventsSyncManager';\nimport Marker, { Position, TextBackgroundType, ImageFormat } from 'react-native-image-marker';\nimport RNFS from 'react-native-fs';\nimport Storage from '../../../utils/storage';\nimport { Platform } from 'react-native';\nimport { SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\nconst latlngToDms = require('latlng-to-dms');\n\n\nexport default class DocumentSyncManager {\n private documentHttpClient: DocumentHttpClient | undefined;\n private inProgress: boolean = false;\n private static instance: DocumentSyncManager;\n private docManager: DocumentManager | undefined;\n private maxRetryCount: number = MAX_RETRY_COUNT;\n private _retries = 0;\n get retries(): number {\n return this._retries;\n }\n\n set retries(value: number) {\n this._retries = value;\n }\n\n private constructor() { }\n\n public init(baseURL: string, retryCount: number) {\n if (isEmptyOrBlank(baseURL))\n throw new BaseError(BaseErrorCodes.InvalidBaseURL, InvalidBaseURL);\n this.maxRetryCount = retryCount;\n this.documentHttpClient = new DocumentHttpClient(baseURL);\n }\n\n public static getInstance(): DocumentSyncManager {\n if (!DocumentSyncManager.instance) {\n DocumentSyncManager.instance = new DocumentSyncManager();\n }\n return DocumentSyncManager.instance;\n }\n\n public async startDocumentSync(): Promise<void> {\n if (!this.inProgress && this._retries < this.maxRetryCount) {\n this.inProgress = true;\n const hasNetwork = await NetworkUtil.isAvailableAsync();\n try {\n this.checkForInitialization();\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n if (hasNetwork) {\n let documentRows: DocumentRow[] = await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.uploadDocToServer(documentRows[0]);\n } else {\n let cta = 'startDocumentSync-NoData'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No data to sync'\n },\n });\n Logger.getInstance().logEvent(cta, 'No data to sync', LOG_TYPE.SDK_ERROR);\n }\n } else {\n let cta = 'startDocumentSync-NoNetwork'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'No Network'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'No Network',\n LOG_TYPE.SDK_ERROR\n );\n }\n } catch (error: any) {\n let cta = 'startDocumentSync-error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(error)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n } finally {\n this.inProgress = false;\n let syncPending = await this.isSyncPending();\n if (syncPending && hasNetwork) {\n await this.startDocumentSync();\n let cta = 'startDocumentSync-finally-sync-pending'\n let extraParameters = {\n hasNetwork: hasNetwork,\n pending: syncPending,\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n } else {\n let cta = 'startDocumentSync-max-count-reach-in-progress'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'sync already in progress or max count reached'\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'sync already in progress or max count reached',\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n public async isSyncPending(): Promise<boolean> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n let leftDocuments = await this.docManager.getAllUnsyncedDocs();\n return leftDocuments?.length > 0 && this._retries < this.maxRetryCount;\n }\n\n public async insertDocument(\n fmsFolderID: string | null,\n data: string | null,\n base64: boolean,\n desc: string,\n dspID: string,\n filePath: string | null,\n fileType: string,\n fileName: string,\n geoTimeStamp: string,\n processedFilePath: string,\n priority: number = 1\n ): Promise<SQLResultSet> {\n if (\n isEmptyOrBlank(desc) ||\n isEmptyOrBlank(dspID) ||\n isEmptyOrBlank(fileType) ||\n isEmptyOrBlank(fileName) ||\n (base64 && isEmptyOrBlank(data)) ||\n (!base64 && isEmptyOrBlank(filePath))\n )\n throw new BaseError(BaseErrorCodes.InvalidArgumentError, InvalidArgumentsError);\n else {\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n console.log('insertDocument1:', fmsFolderID);\n let insertResponse = await this.docManager?.insertDocument(\n fmsFolderID,\n desc,\n dspID,\n base64,\n fileName,\n fileType,\n data,\n filePath,\n geoTimeStamp,\n processedFilePath,\n priority\n );\n let cta = 'insertDocument'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: 'insertResponse ' + flattenObject(insertResponse)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n 'insertResponse ' + flattenObject(insertResponse),\n LOG_TYPE.SDK_ERROR\n );\n return insertResponse;\n }\n }\n\n public async forceDocumentSync() {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n this._retries = 0;\n await this.startDocumentSync();\n }\n\n // This function will update document row with attempt count and sync status\n private async updateDocumentWithAttempt(\n documentRow: DocumentRow,\n fmsID: string,\n attempt: number,\n sync: number\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n // Calling document row update method for attempt count and sync.\n await this.docManager.markDocumentSyncedWithAttempt(\n documentRow.id,\n fmsID,\n attempt,\n sync\n );\n let eventsManager = await ETEventsManager.getInstance();\n let podId = POD_DOC + '_' + documentRow.id;\n\n\n let extraParameters = {\n podId: podId,\n };\n let cta = 'updateDocumentWithAttempt-success'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(extraParameters)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n // Calling update method for attempt count and sync to update event row of type POD_DOC\n await eventsManager.markPODDocEventSynced(sync, attempt, podId);\n if (sync == 1) {\n const lastSyncedEventId = await Storage.getInstance().getSharedItem(\n LAST_SYNCED_EVENT_ID\n );\n const syncEventId = parseInt(lastSyncedEventId) + 1;\n await Storage.getInstance().setSharedItem(\n LAST_SYNCED_EVENT_ID,\n `${syncEventId}`\n );\n }\n EventsSyncManager.getInstance().startSync();\n } catch (err: any) {\n let cta = 'updateDocumentWithAttempt'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n // This function is updating processed_file_path column for the base64 overlayed data and overlayed image file for POD. Also if it is base 64 then it is also storing temprary file path in file_path as original bae64 image.\n private async updateDocumentProcessedPath(\n documentRow: DocumentRow,\n origialFilePath: String,\n processedPath: String\n ) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateProcesedFilePath(\n documentRow.id,\n origialFilePath,\n processedPath\n );\n } catch (err: any) {\n let cta = 'updateDocument-updateDocumentProcessedPath-Error'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n\n private async updateDocError(documentRow: DocumentRow, uploadError: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n try {\n await this.docManager.updateDocSyncError(documentRow.id, uploadError);\n } catch (err: any) {\n let cta = 'updateDocError'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.APP_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n msg: flattenObject(err)\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(err),\n LOG_TYPE.SDK_WARNING\n );\n }\n }\n private checkForInitialization() {\n if (!this.documentHttpClient) {\n throw new BaseError(\n BaseErrorCodes.SyncManagerNotInitialized,\n SyncManagerNotInitialized\n );\n }\n }\n\n // This function will generate overlay image and update documents table for processed_file_path columns with overlayed image path.\n private async processImageData(documentRow: DocumentRow) {\n let extra = {\n msg: '',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n // If processed_file_path of overlayed image already existing then do not generate it again.\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n try {\n let cta = 'processImageData-started';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n let fontSize = 14;\n if (Platform.OS !== 'android') {\n fontSize = 28;\n }\n const options = {\n backgroundImage: { // Image for overlay\n src: documentRow.file_path,\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, //Overlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: fontSize,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 0,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.jpg, // Saving in jpeg format\n };\n let processedFilePath = await Marker.markText(options); // Generating overlay image\n if (processedFilePath !== null && processedFilePath !== '') {\n let completeFilePath = processedFilePath;\n // If processd image file path does not have prefix file:// then we are addding manually\n if (!processedFilePath.includes('file')) {\n completeFilePath = 'file://' + processedFilePath;\n }\n // Updating document document table with overlayed image path\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n completeFilePath // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = completeFilePath;\n }\n } catch (error: any) {\n this.updateDocumentProcessedPath(\n documentRow,\n documentRow.file_path, //original file path catprued from camera\n documentRow.file_path // completeFilePath is the path with file:// of processed file \n );\n documentRow.processed_file_path = \"\"\n }\n }\n let cta = 'processImageData-completed';\n extra.msg = cta;\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.\n private async processBase64Data(documentRow: DocumentRow) {\n if (\n documentRow.processed_file_path === null ||\n documentRow.processed_file_path === ''\n ) {\n let cta = 'processBase64Data-started';\n let extra = {\n msg: 'processBase64Data-started',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let filePath = '';\n // If templrary base 64 file already exist then do not create again\n if (documentRow.file_path === null || documentRow.file_path === '') {\n const imagePath = `${RNFS.TemporaryDirectoryPath}/${documentRow.file_name}`;\n await RNFS.writeFile(imagePath, documentRow.data, 'base64'); // Write file to temprary location\n filePath = imagePath;\n // If file generated frommbase64 data does not have file:// then we are adding manually.\n if (!imagePath.includes('file')) {\n filePath = `file://${imagePath}`;\n }\n documentRow.file_path = filePath;\n } else {\n filePath = documentRow.file_path;\n }\n let pFilePath = 'processed_' + documentRow.file_name; // File name for processed file.\n let strGeoStamp = documentRow.geo_timestamp; // Saved geostamp string\n let objGeoStamp = JSON.parse(strGeoStamp); // Conversion to geostamp object\n let dateTime = objGeoStamp.dateTime; // Date time stamp in UTC format\n let lat = objGeoStamp.lat; // Latitide\n let lng = objGeoStamp.lng; // Longitude\n let accuracy = objGeoStamp.accuracy; // Location accuracy\n let strDMS = latlngToDms(`${lat}, ${lng}`); // Location in degree format\n let strDMSWithAccuracy = strDMS;\n if (accuracy !== '') {\n strDMSWithAccuracy = strDMS + ' (Accuracy: ' + accuracy + 'm)'; // Appedning accuracy in location \n }\n const options = {\n backgroundImage: {\n src: filePath, // Image for overlay\n scale: 1,\n },\n watermarkTexts: [\n {\n text: `${dateTime}\\n${strDMSWithAccuracy}`, // Ooverlay text\n position: {\n position: Position.topLeft, // Overlay text position\n },\n style: { // Style for overlay\n color: '#ffffff',\n fontSize: 14,\n fontName: 'Arial',\n textBackgroundStyle: {\n padding: '1% 1%',\n type: TextBackgroundType.none,\n color: '#444444CC',\n },\n },\n },\n ],\n scale: 1,\n quality: 100,\n filename: pFilePath,\n saveFormat: ImageFormat.base64, // Saving in base6 format\n };\n let processedBase64 = await Marker.markText(options); // Generating overlay image\n if (processedBase64 !== null && processedBase64 !== '') {\n // Fetching base64 data from processed data.\n var splittedDase64Data = processedBase64.split(\n 'data:image/png;base64,'\n );\n // Updating document document table with overlayed base64 data\n await this.updateDocumentProcessedPath(\n documentRow,\n filePath,\n splittedDase64Data[1]\n );\n documentRow.processed_file_path = splittedDase64Data[1];\n }\n }\n let cta = 'processBase64Data-completed';\n let extra = {\n msg: 'processBase64Data-completed',\n fName: documentRow.file_name && documentRow.file_name.length != 0 ? documentRow.file_name.substring(4) : '',\n dName: documentRow.fms_folder_id && documentRow.fms_folder_id.length != 0 ? documentRow.fms_folder_id.substring(4) : '',\n dispId: documentRow.dispatch_id && documentRow.dispatch_id.length != 0 ? documentRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n return documentRow;\n }\n\n // This function will calling respective overlay method for base64 (for signature POD) or image (for image POD).\n private async processPODData(documentRow: DocumentRow) {\n if (documentRow.base64 && documentRow.data != null) {\n return await this.processBase64Data(documentRow);\n } else {\n return await this.processImageData(documentRow);\n }\n }\n\n private async uploadDocToServer(documentRow: DocumentRow) {\n try {\n let docRow = documentRow;\n let cta = 'uploadDocToServer-geoStamp';\n let geoStampAvailable = false\n if (documentRow.geo_timestamp && documentRow.geo_timestamp.length != 0) {\n geoStampAvailable = true;\n docRow = await this.processPODData(documentRow);\n }\n let extra = {\n msg: geoStampAvailable ? \"geoStamp availale\" : 'geoStamp not availale',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extra,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extra),\n LOG_TYPE.SDK_ERROR\n );\n let fmsID = await this.documentHttpClient?.uploadDocument(docRow);\n\n let extraParameters = {\n fmsID: fmsID ?? '',\n fName: docRow.file_name && docRow.file_name.length != 0 ? docRow.file_name.substring(4) : '',\n dName: docRow.fms_folder_id && docRow.fms_folder_id.length != 0 ? docRow.fms_folder_id.substring(4) : '',\n dispId: docRow.dispatch_id && docRow.dispatch_id.length != 0 ? docRow.dispatch_id.substring(9) : ''\n };\n // TODO: SOLELY DEPENDS ON FMS_ID WHICH IS WRONG => IT SHOULD BE Response.status = 202\n if (fmsID) {\n // Calling function updating document row along with attempt count and sync as true.\n await this.updateDocumentWithAttempt(\n documentRow,\n fmsID,\n this._retries + 1,\n 1\n );\n this._retries = 0;\n // await this.updateDocument(docRow, fmsID);\n } else {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n this._retries++;\n let cta = 'uploadDocToServer-empty-fms-id'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters,\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(extraParameters),\n LOG_TYPE.SDK_ERROR\n );\n this.startSyncAfterMaxRetry(extraParameters, null);\n await this.updateDocError(docRow, 'Unexpected Error');\n }\n } catch (error: any) {\n // Calling function updating document row withalong attempt count and sync as false.\n await this.updateDocumentWithAttempt(\n documentRow,\n '',\n this._retries + 1,\n 0\n );\n const cta = 'uploadDocToServer-error';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.ERROR,\n eventName: SentryEventNameSdkConstants.API_ERROR,\n screenName: cta,\n cta: cta,\n extraParams: {\n error: flattenObject(error),\n },\n });\n Logger.getInstance().logEvent(\n cta,\n flattenObject(error),\n LOG_TYPE.SDK_ERROR\n );\n this._retries++;\n this.startSyncAfterMaxRetry(null, error);\n await this.updateDocError(\n documentRow,\n JSON.stringify({\n message: error.message,\n error: JSON.stringify(error?.response?.data),\n status: error?.response?.status,\n })\n );\n }\n }\n\n private async startSyncAfterMaxRetry(extraParameters: any, error: any) {\n if (this.retries >= this.maxRetryCount) {\n let cta = 'startSyncAfterMaxRetry-max-retry-reached'\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.APP_LOG,\n screenName: cta,\n cta: cta,\n extraParams: extraParameters ? extraParameters : error,\n });\n Logger.getInstance().logEvent(\n cta,\n extraParameters ? flattenObject(extraParameters) : flattenObject((error)),\n LOG_TYPE.SDK_ERROR\n );\n if (!this.docManager) {\n this.docManager = await DocumentManager.getInstance();\n }\n let documentRows: DocumentRow[] =\n await this.docManager.getUnsyncedDocument();\n if (documentRows?.length > 0) {\n await this.docManager.updateDocPriority(documentRows[0].id, documentRows[0].priority + 1);\n this._retries = 0;\n this.startDocumentSync();\n }\n }\n }\n\n public async getAllDocuments(dispatchID?: string): Promise<DocumentRow[]> {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n return this.docManager.getAllDocuments(dispatchID);\n }\n\n public async clearSyncedDocs(dspID: string) {\n if (!this.docManager) this.docManager = await DocumentManager.getInstance();\n if (dspID) await this.docManager.deleteAllSyncedDocuments(dspID);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ENVIRONMENT = void 0;
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
7
8
|
let ENVIRONMENT = exports.ENVIRONMENT = /*#__PURE__*/function (ENVIRONMENT) {
|
|
8
9
|
ENVIRONMENT["DEV"] = "dev";
|
|
9
10
|
ENVIRONMENT["PRE_PROD"] = "preprod";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENVIRONMENT","exports"],"sources":["sdk.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":["ENVIRONMENT","exports"],"sources":["sdk.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { EmailAndPhoneResponse } from '../components/executiontasks/validateOTP/ValidateOTPSchema';\nimport type { EventCodes } from './ReasonCodes';\n\nexport interface DispatchSDKConfig {\n tenantID: string;\n userID: string;\n userName: string;\n tenantBaseURL: string;\n domain: string;\n validateOtpDomain: string;\n env: ENV;\n headers?: { [key: string]: any };\n enableLogging?: boolean;\n syncRetryCount?: number;\n accessToken: string;\n sentry?: {\n env: ENVIRONMENT;\n enabled: boolean;\n dsn?: string;\n };\n notificationConfig?: {\n title: string;\n description: string;\n interval: number;\n };\n paymentSuccessTimeout?: number;\n eventMapping?: EventCodes[];\n debugLevelLog?: Boolean;\n callbacks?: {\n fetchPhoneNumbersCallback?: (\n sdsIds: string[]\n ) => Promise<{ key: string; value: string[] }>;\n fetchDateTimeCallback?: () => Promise<string>;\n tokenRefreshCallback?: () => Promise<string>;\n fetchSDSEmailAndPhoneNumbersCallback: (\n sdsIds: string[]\n ) => Promise<Record<string, EmailAndPhoneResponse>>;\n };\n etConfig: {\n phoneCode: string;\n mobilePhoneRegex: string;\n currencySymbol: string;\n appAbbr: string;\n currencyCode: string;\n goBackDisableTimer?: number;\n };\n}\n\nexport enum ENVIRONMENT {\n DEV = 'dev',\n PRE_PROD = 'preprod',\n PROD = 'prod',\n}\n\nexport type ENV = 'DEV' | 'SANDBOX' | 'SHARED_P1' | 'DLV_INDIA_P2';\n"],"mappings":";;;;;;AAAA;AAAA,IAiDYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
|
|
@@ -5,61 +5,181 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
9
|
+
var _platformCoreosExecutionEngineSdk = require("@os1-platform/platform-coreos-execution-engine-sdk");
|
|
10
|
+
var _storage = _interopRequireDefault(require("../../utils/storage"));
|
|
11
|
+
var _callbacksHandler = _interopRequireDefault(require("../../manager/sdk/callbacksHandler"));
|
|
12
|
+
var _Logger = _interopRequireWildcard(require("../../utils/Logger"));
|
|
13
|
+
var _ExecTaskUtils = require("../../utils/ExecTaskUtils");
|
|
14
|
+
var _RouteParams = require("../uiConfig/RouteParams");
|
|
15
|
+
var _Constants = require("../../utils/Constants");
|
|
16
|
+
var _DispatchStateContainer = _interopRequireDefault(require("../../manager/dispatch/DispatchStateContainer"));
|
|
8
17
|
var _WithBaseDispatchScreen = _interopRequireDefault(require("./WithBaseDispatchScreen"));
|
|
18
|
+
var _DispatchSdkCache = _interopRequireDefault(require("../../manager/sdk/DispatchSdkCache"));
|
|
19
|
+
var _helper = _interopRequireDefault(require("../../utils/helper"));
|
|
20
|
+
var _NetworkClient = _interopRequireDefault(require("../../network/NetworkClient"));
|
|
9
21
|
var _ETConfig = require("../../models/execTasks/ETConfig");
|
|
10
|
-
var _DispatchStateContainer = _interopRequireDefault(require("../../manager/dispatch/DispatchStateContainer"));
|
|
11
|
-
var _RouteParams = require("../uiConfig/RouteParams");
|
|
12
22
|
var _ValidateOTPET = _interopRequireDefault(require("../../components/executiontasks/validateOTP/ValidateOTPET"));
|
|
13
|
-
var
|
|
23
|
+
var _utils = require("../../components/executiontasks/validateOTP/utils");
|
|
14
24
|
var _SentrySdkConstants = require("../../analytics/sentry/SentrySdkConstants");
|
|
15
25
|
var _SentryAnalyticsUtils = require("../../analytics/sentry/SentryAnalyticsUtils");
|
|
26
|
+
var _valdiateOTPContext = require("../../utils/context/valdiateOTPContext");
|
|
16
27
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
28
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
29
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
30
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } /* eslint-disable @typescript-eslint/no-unused-vars */ // External Libraries
|
|
31
|
+
// SDKs and Platform Libraries
|
|
32
|
+
// Utility and Manager Imports
|
|
33
|
+
// Network Client
|
|
34
|
+
// Models and Constants
|
|
35
|
+
// Components
|
|
36
|
+
// Analytics
|
|
37
|
+
// Storage
|
|
38
|
+
let storage = _storage.default.getInstance();
|
|
20
39
|
const ValidateOTPScreen = ({
|
|
21
40
|
route,
|
|
22
41
|
navigation,
|
|
23
42
|
baseETProps
|
|
24
43
|
}) => {
|
|
44
|
+
var _mergedObjectiveId$;
|
|
45
|
+
const helperInstance = _helper.default.getInstance();
|
|
25
46
|
const nextState = route.params[_RouteParams.RouteParams.NEXT_STATES];
|
|
26
47
|
const {
|
|
27
48
|
taskMeta,
|
|
28
49
|
mergedObjectiveId,
|
|
29
50
|
input,
|
|
30
|
-
wfMeta
|
|
51
|
+
wfMeta,
|
|
52
|
+
taskName
|
|
31
53
|
} = (0, _RouteParams.getDataFromNextState)(nextState);
|
|
32
54
|
const message = input === null || input === void 0 ? void 0 : input.message;
|
|
55
|
+
const workflowId = (_mergedObjectiveId$ = mergedObjectiveId[0]) === null || _mergedObjectiveId$ === void 0 || (_mergedObjectiveId$ = _mergedObjectiveId$.split('#')[1]) === null || _mergedObjectiveId$ === void 0 ? void 0 : _mergedObjectiveId$.toString();
|
|
56
|
+
let _route = JSON.parse(JSON.stringify(route));
|
|
33
57
|
const firstInput = input;
|
|
34
58
|
const [_input, setInputs] = (0, _react.useState)({
|
|
35
|
-
...firstInput
|
|
59
|
+
...firstInput,
|
|
60
|
+
wfMeta,
|
|
61
|
+
workflowId
|
|
36
62
|
});
|
|
63
|
+
const [contactList, setContactList] = (0, _react.useState)([]);
|
|
64
|
+
// state to store orders data
|
|
65
|
+
const [orderData, setOrderData] = (0, _react.useState)([]);
|
|
66
|
+
const [contextData, setContextData] = (0, _react.useState)();
|
|
67
|
+
const [isSelfLoopTrue, setSelfLoop] = (0, _react.useState)(false);
|
|
68
|
+
async function getSdkConfig() {
|
|
69
|
+
const cache = _DispatchSdkCache.default.getInstance();
|
|
70
|
+
const _sdkConfig = await cache.getObjectFromCache(_DispatchSdkCache.default.KEYS.SDK_CONFIG);
|
|
71
|
+
const networkInstance = new _NetworkClient.default(_sdkConfig.validateOtpDomain ?? '');
|
|
72
|
+
setContextData({
|
|
73
|
+
_sdkConfig,
|
|
74
|
+
networkInstance
|
|
75
|
+
});
|
|
76
|
+
return {
|
|
77
|
+
_sdkConfig,
|
|
78
|
+
networkInstance
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const getSelfLoopBool = async () => {
|
|
82
|
+
try {
|
|
83
|
+
var _mergedObjectiveId$2;
|
|
84
|
+
const splitArr = (_mergedObjectiveId$2 = mergedObjectiveId[0]) === null || _mergedObjectiveId$2 === void 0 ? void 0 : _mergedObjectiveId$2.split('#');
|
|
85
|
+
const isSelfLoopTrue = await helperInstance.isSelfLoopExistOnET(splitArr[1], taskName);
|
|
86
|
+
setSelfLoop(isSelfLoopTrue);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.log('isSelfLoopTrue code execution error', error);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
37
91
|
(0, _react.useEffect)(() => {
|
|
92
|
+
// fetch Contact details & mapped contact list
|
|
93
|
+
const fetchContactDetails = async () => {
|
|
94
|
+
const rootMetaData = route.params[_RouteParams.RouteParams.ROOT_META_DATA];
|
|
95
|
+
if (!rootMetaData) return; // Exit early if ROOT_META_DATA is not available
|
|
96
|
+
|
|
97
|
+
let progressGroup = null;
|
|
98
|
+
let reattemptId = null;
|
|
99
|
+
|
|
100
|
+
// Fetch the progress group with error handling
|
|
101
|
+
try {
|
|
102
|
+
progressGroup = await storage.getSharedItem(_Constants.PROGRESS_GROUP, false);
|
|
103
|
+
reattemptId = await _platformCoreosExecutionEngineSdk.DispatchExecutor.getAttemptCountByMoId(mergedObjectiveId[0]);
|
|
104
|
+
const refId = (0, _utils.getUniqueRefId)(mergedObjectiveId[0], progressGroup, Number(reattemptId));
|
|
105
|
+
setInputs({
|
|
106
|
+
..._input,
|
|
107
|
+
progressGroup,
|
|
108
|
+
reattemptId,
|
|
109
|
+
refId
|
|
110
|
+
});
|
|
111
|
+
} catch (error) {
|
|
112
|
+
var _error$response;
|
|
113
|
+
_Logger.default.getInstance().logEvent('~ getPaymentStatus triggered ', JSON.stringify((error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || error), _Logger.LOG_TYPE.SDK_ERROR);
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
// Get objective task details
|
|
117
|
+
const {
|
|
118
|
+
contact
|
|
119
|
+
} = await _platformCoreosExecutionEngineSdk.DispatchExecutor.getObjectiveTaskDetails(mergedObjectiveId[0], progressGroup, rootMetaData.statusFilter);
|
|
120
|
+
|
|
121
|
+
// Fetch contact details and generate contact list
|
|
122
|
+
const contactDetails = await _callbacksHandler.default.getEmailAndPhoneNumbers(contact);
|
|
123
|
+
|
|
124
|
+
// Fetch and set order data
|
|
125
|
+
const data = await _platformCoreosExecutionEngineSdk.DispatchExecutor.filterWFIData(taskName, mergedObjectiveId, 100, 0);
|
|
126
|
+
if (data !== null && data !== void 0 && data.data) {
|
|
127
|
+
setOrderData(data.data);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// If valid contact details, generate and set contact list
|
|
131
|
+
if (contactDetails !== null && contactDetails !== void 0 && contactDetails[contact[0]]) {
|
|
132
|
+
var _data$data$;
|
|
133
|
+
const mappedContacts = (0, _utils.generateContactList)(contactDetails[contact[0]], (data === null || data === void 0 || (_data$data$ = data.data[0]) === null || _data$data$ === void 0 || (_data$data$ = _data$data$.displayInfo) === null || _data$data$ === void 0 ? void 0 : _data$data$.orderId) ?? null);
|
|
134
|
+
setContactList(mappedContacts);
|
|
135
|
+
}
|
|
136
|
+
} catch (error) {
|
|
137
|
+
// Handle any unexpected errors in the process
|
|
138
|
+
console.error('Error fetching contact details:', error);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// fetch & update dynamic inputs
|
|
38
143
|
(0, _ExecTaskUtils.onTaskStart)(route.params[_RouteParams.RouteParams.NEXT_STATES], route.params[_RouteParams.RouteParams.ROOT_META_DATA].customEventsData);
|
|
39
144
|
if (route.params[_RouteParams.RouteParams.ROOT_META_DATA]) {
|
|
40
145
|
const updatedInput = (0, _ExecTaskUtils.handleDynamicValues)(route === null || route === void 0 ? void 0 : route.params[_RouteParams.RouteParams.NEXT_STATES].input, route.params[_RouteParams.RouteParams.ROOT_META_DATA]);
|
|
41
146
|
setInputs(updatedInput);
|
|
42
147
|
}
|
|
43
|
-
|
|
44
|
-
(0, _react.useEffect)(() => {
|
|
148
|
+
//fire sentry event
|
|
45
149
|
(async () => {
|
|
46
|
-
//fire sentry event
|
|
47
150
|
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
48
151
|
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
49
152
|
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.VERIFY_OTP_ET_OPENED,
|
|
50
153
|
screenName: _SentrySdkConstants.ScreenNameSdkConstants.VERIFY_OTP_ET_SCREEN
|
|
51
154
|
});
|
|
155
|
+
//get SDK config
|
|
156
|
+
await getSdkConfig();
|
|
157
|
+
//get self loop boolean
|
|
158
|
+
await getSelfLoopBool();
|
|
52
159
|
})();
|
|
160
|
+
fetchContactDetails();
|
|
161
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
53
162
|
}, []);
|
|
54
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
163
|
+
return /*#__PURE__*/_react.default.createElement(_reactNativeSafeAreaContext.SafeAreaProvider, null, /*#__PURE__*/_react.default.createElement(_valdiateOTPContext.ValidateOTPContext.Provider, {
|
|
164
|
+
value: {
|
|
165
|
+
sdkConfig: contextData === null || contextData === void 0 ? void 0 : contextData._sdkConfig,
|
|
166
|
+
networkInstance: contextData === null || contextData === void 0 ? void 0 : contextData.networkInstance
|
|
167
|
+
}
|
|
168
|
+
}, /*#__PURE__*/_react.default.createElement(_ValidateOTPET.default, _extends({}, _input, {
|
|
169
|
+
route: route,
|
|
170
|
+
isSelfLoop: isSelfLoopTrue,
|
|
55
171
|
mergedObjectiveId: mergedObjectiveId,
|
|
172
|
+
workflowId: workflowId,
|
|
56
173
|
taskMeta: taskMeta,
|
|
57
174
|
message: message,
|
|
175
|
+
contacts: contactList || [],
|
|
176
|
+
orderData: orderData,
|
|
58
177
|
navigation: navigation,
|
|
59
178
|
onSubmitET: async validateOtpOutput => {
|
|
60
|
-
await _DispatchStateContainer.default.getInstance().navigateToNextTask(navigation,
|
|
179
|
+
await _DispatchStateContainer.default.getInstance().navigateToNextTask(navigation, _route, validateOtpOutput, validateOtpOutput.success, _ETConfig.EntityCode.VALIDATE_OTP_ET, _ETConfig.ExecutionTaskID.VALIDATE_OTP_ET, baseETProps, false);
|
|
180
|
+
await (0, _utils.resetCount)();
|
|
61
181
|
}
|
|
62
|
-
}));
|
|
182
|
+
}))));
|
|
63
183
|
};
|
|
64
184
|
var _default = exports.default = (0, _WithBaseDispatchScreen.default)(ValidateOTPScreen);
|
|
65
185
|
//# sourceMappingURL=ValidateOTPScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WithBaseDispatchScreen","_interopRequireDefault","_ETConfig","_DispatchStateContainer","_RouteParams","_ValidateOTPET","_ExecTaskUtils","_SentrySdkConstants","_SentryAnalyticsUtils","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ValidateOTPScreen","route","navigation","baseETProps","nextState","params","RouteParams","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","getDataFromNextState","message","firstInput","_input","setInputs","useState","useEffect","onTaskStart","ROOT_META_DATA","customEventsData","updatedInput","handleDynamicValues","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","VERIFY_OTP_ET_OPENED","screenName","ScreenNameSdkConstants","VERIFY_OTP_ET_SCREEN","createElement","onSubmitET","validateOtpOutput","DispatchStateContainer","getInstance","navigateToNextTask","success","EntityCode","VALIDATE_OTP_ET","ExecutionTaskID","_default","exports","withBaseDispatchScreen"],"sources":["ValidateOTPScreen.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport ValidateOTPET from '../../components/executiontasks/validateOTP/ValidateOTPET';\nimport { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\n\nconst ValidateOTPScreen = ({\n route,\n navigation,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, wfMeta } =\n getDataFromNextState(nextState);\n const message = input?.message;\n const firstInput = input;\n const [_input, setInputs] = useState({ ...firstInput });\n\n useEffect(() => {\n onTaskStart(\n route.params[RouteParams.NEXT_STATES],\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n if (route.params[RouteParams.ROOT_META_DATA]) {\n const updatedInput = handleDynamicValues(\n route?.params[RouteParams.NEXT_STATES].input,\n route.params[RouteParams.ROOT_META_DATA]\n );\n setInputs(updatedInput);\n }\n }, []);\n\n useEffect(() => {\n (async () => {\n //fire sentry event\n fireEventWithScreenName({severityLevel:SeverityLevelValue.LOG, eventName:SentryEventNameSdkConstants.VERIFY_OTP_ET_OPENED, screenName:ScreenNameSdkConstants.VERIFY_OTP_ET_SCREEN});\n })();\n }, []);\n\n\n return (\n <ValidateOTPET\n {..._input}\n mergedObjectiveId={mergedObjectiveId}\n taskMeta={taskMeta}\n message={message}\n navigation={navigation}\n onSubmitET={async (validateOtpOutput) => {\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n route,\n validateOtpOutput,\n validateOtpOutput.success,\n EntityCode.VALIDATE_OTP_ET,\n ExecutionTaskID.VALIDATE_OTP_ET,\n baseETProps,\n false\n );\n }}\n />\n );\n};\nexport default withBaseDispatchScreen(ValidateOTPScreen);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeSafeAreaContext","_platformCoreosExecutionEngineSdk","_storage","_interopRequireDefault","_callbacksHandler","_Logger","_ExecTaskUtils","_RouteParams","_Constants","_DispatchStateContainer","_WithBaseDispatchScreen","_DispatchSdkCache","_helper","_NetworkClient","_ETConfig","_ValidateOTPET","_utils","_SentrySdkConstants","_SentryAnalyticsUtils","_valdiateOTPContext","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","storage","Storage","getInstance","ValidateOTPScreen","route","navigation","baseETProps","_mergedObjectiveId$","helperInstance","Helper","nextState","params","RouteParams","NEXT_STATES","taskMeta","mergedObjectiveId","input","wfMeta","taskName","getDataFromNextState","message","workflowId","split","toString","_route","JSON","parse","stringify","firstInput","_input","setInputs","useState","contactList","setContactList","orderData","setOrderData","contextData","setContextData","isSelfLoopTrue","setSelfLoop","getSdkConfig","cache","DispatchSdkCache","_sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","networkInstance","NetworkClient","validateOtpDomain","getSelfLoopBool","_mergedObjectiveId$2","splitArr","isSelfLoopExistOnET","error","console","log","useEffect","fetchContactDetails","rootMetaData","ROOT_META_DATA","progressGroup","reattemptId","getSharedItem","PROGRESS_GROUP","DispatchExecutor","getAttemptCountByMoId","refId","getUniqueRefId","Number","_error$response","Logger","logEvent","response","data","LOG_TYPE","SDK_ERROR","contact","getObjectiveTaskDetails","statusFilter","contactDetails","callbackHandler","getEmailAndPhoneNumbers","filterWFIData","_data$data$","mappedContacts","generateContactList","displayInfo","orderId","onTaskStart","customEventsData","updatedInput","handleDynamicValues","fireEventWithScreenName","severityLevel","SeverityLevelValue","LOG","eventName","SentryEventNameSdkConstants","VERIFY_OTP_ET_OPENED","screenName","ScreenNameSdkConstants","VERIFY_OTP_ET_SCREEN","createElement","SafeAreaProvider","ValidateOTPContext","Provider","value","sdkConfig","isSelfLoop","contacts","onSubmitET","validateOtpOutput","DispatchStateContainer","navigateToNextTask","success","EntityCode","VALIDATE_OTP_ET","ExecutionTaskID","resetCount","_default","exports","withBaseDispatchScreen"],"sources":["ValidateOTPScreen.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n// External Libraries\nimport React, { useEffect, useState } from 'react';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\n// SDKs and Platform Libraries\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n// Utility and Manager Imports\nimport Storage from '../../utils/storage';\nimport callbackHandler from '../../manager/sdk/callbacksHandler';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport { PROGRESS_GROUP } from '../../utils/Constants';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport { BaseETProps } from '../../models/DispatchModels';\nimport DispatchSdkCache from '../../manager/sdk/DispatchSdkCache';\nimport { DispatchSDKConfig } from '../../models/sdk';\nimport Helper from '../../utils/helper';\n\n// Network Client\nimport NetworkClient from '../../network/NetworkClient';\n\n// Models and Constants\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\n\n// Components\nimport ValidateOTPET from '../../components/executiontasks/validateOTP/ValidateOTPET';\nimport {\n generateContactList,\n getUniqueRefId,\n resetCount,\n} from '../../components/executiontasks/validateOTP/utils';\nimport { ContactType } from '../../components/executiontasks/validateOTP/ValidateOTPSchema';\n\n// Analytics\nimport {\n ScreenNameSdkConstants,\n SentryEventNameSdkConstants,\n SeverityLevelValue,\n} from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\nimport { ValidateOTPContext } from '../../utils/context/valdiateOTPContext';\n\n// Storage\nlet storage = Storage.getInstance();\n\nconst ValidateOTPScreen = ({\n route,\n navigation,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const helperInstance = Helper.getInstance();\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, wfMeta, taskName } =\n getDataFromNextState(nextState);\n const message = input?.message;\n const workflowId = mergedObjectiveId[0]?.split('#')[1]?.toString();\n let _route = JSON.parse(JSON.stringify(route));\n const firstInput = input;\n const [_input, setInputs] = useState({\n ...firstInput,\n wfMeta,\n workflowId,\n });\n const [contactList, setContactList] = useState<ContactType[] | any[]>([]);\n // state to store orders data\n const [orderData, setOrderData] = useState<any>([]);\n const [contextData, setContextData] = useState<any>();\n const [isSelfLoopTrue, setSelfLoop] = useState(false);\n\n async function getSdkConfig() {\n const cache = DispatchSdkCache.getInstance();\n const _sdkConfig: DispatchSDKConfig = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n );\n\n const networkInstance = new NetworkClient(\n _sdkConfig.validateOtpDomain ?? ''\n );\n setContextData({ _sdkConfig, networkInstance });\n return { _sdkConfig, networkInstance };\n }\n\n const getSelfLoopBool = async () => {\n try {\n const splitArr = mergedObjectiveId[0]?.split('#');\n const isSelfLoopTrue: boolean = await helperInstance.isSelfLoopExistOnET(splitArr[1], taskName)\n setSelfLoop(isSelfLoopTrue);\n } catch (error) {\n console.log('isSelfLoopTrue code execution error', error);\n }\n };\n\n useEffect(() => {\n // fetch Contact details & mapped contact list\n const fetchContactDetails = async () => {\n const rootMetaData = route.params[RouteParams.ROOT_META_DATA];\n if (!rootMetaData) return; // Exit early if ROOT_META_DATA is not available\n\n let progressGroup: string | null = null;\n let reattemptId: number | string | null = null;\n\n // Fetch the progress group with error handling\n try {\n progressGroup = await storage.getSharedItem(PROGRESS_GROUP, false);\n reattemptId = await DispatchExecutor.getAttemptCountByMoId(\n mergedObjectiveId[0]\n );\n const refId = getUniqueRefId(\n mergedObjectiveId[0],\n progressGroup,\n Number(reattemptId)\n );\n setInputs({ ..._input, progressGroup, reattemptId, refId });\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ getPaymentStatus triggered ',\n JSON.stringify(error?.response?.data || error),\n LOG_TYPE.SDK_ERROR\n );\n }\n\n try {\n // Get objective task details\n const { contact } = await DispatchExecutor.getObjectiveTaskDetails(\n mergedObjectiveId[0],\n progressGroup,\n rootMetaData.statusFilter\n );\n\n // Fetch contact details and generate contact list\n const contactDetails = await callbackHandler.getEmailAndPhoneNumbers(\n contact\n );\n\n // Fetch and set order data\n const data = await DispatchExecutor.filterWFIData(\n taskName,\n mergedObjectiveId,\n 100,\n 0\n );\n if (data?.data) {\n setOrderData(data.data);\n }\n\n // If valid contact details, generate and set contact list\n if (contactDetails?.[contact[0]]) {\n const mappedContacts = generateContactList(\n contactDetails[contact[0]],\n data?.data[0]?.displayInfo?.orderId ?? null\n );\n setContactList(mappedContacts);\n }\n } catch (error) {\n // Handle any unexpected errors in the process\n console.error('Error fetching contact details:', error);\n }\n };\n\n // fetch & update dynamic inputs\n onTaskStart(\n route.params[RouteParams.NEXT_STATES],\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n if (route.params[RouteParams.ROOT_META_DATA]) {\n const updatedInput = handleDynamicValues(\n route?.params[RouteParams.NEXT_STATES].input,\n route.params[RouteParams.ROOT_META_DATA]\n );\n setInputs(updatedInput);\n }\n //fire sentry event\n (async () => {\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.VERIFY_OTP_ET_OPENED,\n screenName: ScreenNameSdkConstants.VERIFY_OTP_ET_SCREEN,\n });\n //get SDK config\n await getSdkConfig();\n //get self loop boolean\n await getSelfLoopBool();\n })();\n\n fetchContactDetails();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <SafeAreaProvider>\n <ValidateOTPContext.Provider\n value={{\n sdkConfig: contextData?._sdkConfig,\n networkInstance: contextData?.networkInstance,\n }}\n >\n <ValidateOTPET\n {..._input}\n route={route}\n isSelfLoop={isSelfLoopTrue}\n mergedObjectiveId={mergedObjectiveId}\n workflowId={workflowId}\n taskMeta={taskMeta}\n message={message}\n contacts={contactList || []}\n orderData={orderData}\n navigation={navigation}\n onSubmitET={async (validateOtpOutput) => {\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n _route,\n validateOtpOutput,\n validateOtpOutput.success,\n EntityCode.VALIDATE_OTP_ET,\n ExecutionTaskID.VALIDATE_OTP_ET,\n baseETProps,\n false\n );\n await resetCount();\n }}\n />\n </ValidateOTPContext.Provider>\n </SafeAreaProvider>\n );\n};\nexport default withBaseDispatchScreen(ValidateOTPScreen);\n"],"mappings":"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","ignoreList":[]}
|