@webex/calling 3.12.0-mobius-socket.16 → 3.12.0-mobius-socket.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","submitClientMetricSpy","jest","spyOn","internal","metrics","MOCK_VERSION_NUMBER","originalEnv","process","env","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","reg_source","REGISTRATION_UTIL","server_type","trackingId","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","NOT_FOUND","KEEPALIVE_FAILURE","keepalive_count","KEEPALIVE_ERROR","toHaveBeenCalledWith","logSpy","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION","feedbackId","correlationId","callId","broadworksCorrelationInfo","UPLOAD_LOGS_ACTION","tracking_id","feedback_id","submitUploadLogsMetric","UPLOAD_LOGS_SUCCESS","errorStack","UPLOAD_LOGS_FAILED"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {METRIC_TYPE, METRIC_EVENT, REG_ACTION, VOICEMAIL_ACTION, UPLOAD_LOGS_ACTION} from './types';\nimport {REGISTRATION_UTIL, VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const submitClientMetricSpy = jest.spyOn(webex.internal.metrics, 'submitClientMetrics');\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n submitClientMetricSpy.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'PRIMARY',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n undefined\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n clientError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit keepalive failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.NOT_FOUND;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.KEEPALIVE_FAILURE,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n keepalive_count: 1,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.KEEPALIVE_ERROR,\n REG_ACTION.KEEPALIVE_FAILURE,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n 1,\n clientError\n );\n expect(submitClientMetricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.KEEPALIVE_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n undefined,\n undefined,\n undefined\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n\n describe('Upload Logs metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit upload logs success metric includes broadworksCorrelationInfo', () => {\n const trackingId = 'track-123';\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n trackingId,\n feedbackId,\n correlationId,\n undefined,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n expectedData\n );\n });\n\n it('submit upload logs failure metric includes error and broadworksCorrelationInfo', () => {\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n const errorStack = 'some error stack';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: undefined,\n feedback_id: feedbackId,\n call_id: callId,\n error: errorStack,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n feedbackId,\n correlationId,\n errorStack,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n expectedData\n );\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_testUtil","require","_index","_types","_constants","_CallingDeviceError","_types2","_types3","_Logger","_interopRequireDefault","_CallError","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","webex","getTestUtilsWebex","describe","metricManager","getMetricManager","ServiceIndicator","CALLING","mockDeviceInfo","getMockDeviceInfo","submitClientMetricSpy","jest","spyOn","internal","metrics","MOCK_VERSION_NUMBER","originalEnv","process","env","mockCallId","mockCorrelationId","mockCallAction","mockMediaAction","beforeEach","mockClear","CALLING_SDK_VERSION","it","expect","not","toBeNull","toBeUndefined","setDeviceInfo","toEqual","expectedData","tags","action","REG_ACTION","REGISTER","device_id","device","deviceId","service_indicator","fields","device_url","clientDeviceUri","mobius_url","uri","calling_sdk_version","reg_source","REGISTRATION_UTIL","server_type","trackingId","type","METRIC_TYPE","BEHAVIORAL","submitRegistrationMetric","METRIC_EVENT","REGISTRATION","undefined","toBeCalledOnceWith","clientError","createClientError","ERROR_TYPE","DEFAULT","RegistrationStatus","INACTIVE","err","context","message","SERVICE_UNAVAILABLE","setError","error","getError","error_type","REGISTRATION_ERROR","NOT_FOUND","KEEPALIVE_FAILURE","keepalive_count","KEEPALIVE_ERROR","toHaveBeenCalledWith","logSpy","log","OPERATIONAL","toBeCalled","file","method","beforeAll","call_id","correlation_id","submitCallMetric","CALL","callError","createCallError","ERROR_LAYER","CALL_CONTROL","FORBIDDEN_ERROR","setCallError","getCallError","CALL_ERROR","mockSdp","local_media_details","remote_media_details","submitMediaMetric","MEDIA","MEDIA_ERROR","submitBNRMetric","BNR_ENABLED","BNR_DISABLED","originalProcess","global","afterEach","expectedData1","VOICEMAIL_ACTION","GET_VOICEMAILS","submitVoicemailMetric","VOICEMAIL","expectedData2","message_id","DELETE","errorMessage","status_code","VOICEMAIL_ERROR","VERSION","MARK_READ","downTimestamp","upTimestamp","metricAction","submitConnectionMetrics","CONNECTION_ERROR","CONNECTION_ACTION","NETWORK_FLAP","MERCURY_DOWN","mobiusHost","clientRegion","countryCode","mobius_host","client_region","country_code","tracking_id","submitRegionInfoMetric","MOBIUS_DISCOVERY","mobiusServers","primary","region","uris","backup","primary_mobius_servers_region","primary_mobius_servers_uris","backup_mobius_servers_region","backup_mobius_servers_uris","submitMobiusServersMetric","wssUrl","wss_url","event_type","submitMobiusSocketMetric","MOBIUS_SOCKET","MOBIUS_SOCKET_ACTION","CONNECT","DISCONNECT","LISTENER_REGISTERED","LISTENER_UNREGISTERED","MOBIUS_SOCKET_ERROR","eventType","REGISTRATION_DOWN","feedbackId","correlationId","callId","broadworksCorrelationInfo","UPLOAD_LOGS_ACTION","feedback_id","submitUploadLogsMetric","UPLOAD_LOGS_SUCCESS","errorStack","UPLOAD_LOGS_FAILED"],"sources":["index.test.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {getMockDeviceInfo, getTestUtilsWebex} from '../common/testUtil';\nimport {getMetricManager} from './index';\nimport {\n METRIC_TYPE,\n METRIC_EVENT,\n REG_ACTION,\n VOICEMAIL_ACTION,\n UPLOAD_LOGS_ACTION,\n CONNECTION_ACTION,\n MOBIUS_SOCKET_ACTION,\n} from './types';\nimport {REGISTRATION_UTIL, VERSION} from '../CallingClient/constants';\nimport {createClientError} from '../Errors/catalog/CallingDeviceError';\nimport {CallErrorObject, ErrorObject, ERROR_LAYER, ERROR_TYPE} from '../Errors/types';\nimport {RegistrationStatus, ServiceIndicator} from '../common/types';\nimport log from '../Logger';\nimport {createCallError} from '../Errors/catalog/CallError';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('CALLING: Metric tests', () => {\n const metricManager = getMetricManager(webex, ServiceIndicator.CALLING);\n const mockDeviceInfo = getMockDeviceInfo();\n const submitClientMetricSpy = jest.spyOn(webex.internal.metrics, 'submitClientMetrics');\n const MOCK_VERSION_NUMBER = '1.0.0';\n const originalEnv = process.env;\n\n const mockCallId = '123456';\n const mockCorrelationId = '0931237';\n const mockCallAction = 'S_SEND_CALL_SETUP';\n const mockMediaAction = 'S_SEND_ROAP_OFFER';\n\n beforeEach(() => {\n submitClientMetricSpy.mockClear();\n process.env = {\n ...originalEnv,\n CALLING_SDK_VERSION: MOCK_VERSION_NUMBER,\n };\n });\n\n it('initialize metric manager', () => {\n expect(metricManager).not.toBeNull();\n expect(metricManager['deviceInfo']).toBeUndefined();\n });\n\n it('update deviceInfo in metric manager', () => {\n expect(metricManager['deviceInfo']).toBeUndefined();\n metricManager.setDeviceInfo(mockDeviceInfo);\n expect(metricManager['deviceInfo']).toEqual(mockDeviceInfo);\n });\n\n describe('CallingClient metric tests', () => {\n it('submit registration success metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'PRIMARY',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n undefined\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.REGISTRATION, expectedData);\n });\n\n it('submit registration failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.REGISTER,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.REGISTRATION_ERROR,\n REG_ACTION.REGISTER,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n undefined,\n clientError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.REGISTRATION_ERROR,\n expectedData\n );\n });\n\n it('submit keepalive failure metric', () => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n\n const clientError = createClientError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n RegistrationStatus.INACTIVE\n );\n const err = <ErrorObject>{};\n\n err.context = {};\n err.message = 'Unknown Error';\n err.type = ERROR_TYPE.NOT_FOUND;\n\n clientError.setError(err);\n\n const expectedData = {\n tags: {\n action: REG_ACTION.KEEPALIVE_FAILURE,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n reg_source: REGISTRATION_UTIL,\n server_type: 'BACKUP',\n trackingId: 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n keepalive_count: 1,\n error: clientError.getError().message,\n error_type: clientError.getError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegistrationMetric(\n METRIC_EVENT.KEEPALIVE_ERROR,\n REG_ACTION.KEEPALIVE_FAILURE,\n METRIC_TYPE.BEHAVIORAL,\n REGISTRATION_UTIL,\n 'BACKUP',\n 'webex-js-sdk_06bafdd0-2f9b-4cd7-b438-9c0d95ecec9b_15',\n 1,\n clientError\n );\n expect(submitClientMetricSpy).toHaveBeenCalledWith(\n METRIC_EVENT.KEEPALIVE_ERROR,\n expectedData\n );\n });\n\n it('submit unknown registration metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitRegistrationMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n REG_ACTION.REGISTER,\n METRIC_TYPE.OPERATIONAL,\n REGISTRATION_UTIL,\n 'PRIMARY',\n undefined,\n undefined,\n undefined\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitRegistrationMetric',\n }\n );\n });\n });\n\n describe('Call Metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit call success metric', () => {\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL, expectedData);\n });\n\n it('submit call failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.CALL_CONTROL\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An invalid status update has been received for the call. Wait a moment and try again.';\n err.type = ERROR_TYPE.FORBIDDEN_ERROR;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockCallAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitCallMetric(\n METRIC_EVENT.CALL_ERROR,\n mockCallAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CALL_ERROR, expectedData);\n });\n\n it('submit unknown call metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitCallMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockCallAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitCallMetric',\n }\n );\n });\n });\n\n describe('Media Metric tests', () => {\n const mockSdp = 'sdpInformation';\n\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit media success metric', () => {\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA, expectedData);\n });\n\n it('submit media failure metric', () => {\n const callError = createCallError(\n '',\n {},\n ERROR_TYPE.DEFAULT,\n mockCorrelationId,\n ERROR_LAYER.MEDIA\n );\n\n const err = <CallErrorObject>{};\n\n err.context = {};\n err.message =\n 'An error occurred while parsing the provided information. Wait a moment and try again.';\n err.type = ERROR_TYPE.SERVICE_UNAVAILABLE;\n\n callError.setCallError(err);\n\n const expectedData = {\n tags: {\n action: mockMediaAction,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n local_media_details: mockSdp,\n remote_media_details: mockSdp,\n error: callError.getCallError().message,\n error_type: callError.getCallError().type,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMediaMetric(\n METRIC_EVENT.MEDIA_ERROR,\n mockMediaAction,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp,\n callError\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MEDIA_ERROR, expectedData);\n });\n\n it('submit unknown media metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMediaMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n mockMediaAction,\n METRIC_TYPE.OPERATIONAL,\n mockCallId,\n mockCorrelationId,\n mockSdp,\n mockSdp\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMediaMetric',\n }\n );\n });\n });\n\n describe('BNR metric tests', () => {\n beforeAll(() => {\n metricManager.setDeviceInfo(mockDeviceInfo);\n });\n\n it('submit bnr enabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n\n it('submit bnr disabled metric', () => {\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_DISABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_DISABLED, expectedData);\n });\n\n it('submit unknown bnr metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitBNRMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitBNRMetric',\n }\n );\n });\n });\n\n describe('Voicemail metric tests', () => {\n const originalProcess: NodeJS.Process = global.process;\n\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n afterEach(() => {\n global.process = originalProcess;\n });\n\n it('submit voicemail success metric', () => {\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId'\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData2);\n });\n\n it('submit voicemail failure metric', () => {\n const errorMessage = 'User is not authenticated';\n const expectedData1 = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: undefined,\n error: errorMessage,\n status_code: 401,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n errorMessage,\n 401\n );\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData1);\n\n submitClientMetricSpy.mockClear();\n\n const expectedData2 = {\n ...expectedData1,\n tags: {...expectedData1.tags, message_id: 'messageId', action: VOICEMAIL_ACTION.DELETE},\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.DELETE,\n METRIC_TYPE.BEHAVIORAL,\n 'messageId',\n errorMessage,\n 401\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData2);\n });\n\n it('submit voicemail metric with undefined process object', () => {\n // Mock process as undefined (browser environment)\n (global as any).process = undefined;\n\n const expectedData = {\n tags: {\n action: VOICEMAIL_ACTION.GET_VOICEMAILS,\n device_id: mockDeviceInfo.device.deviceId,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL, expectedData);\n });\n\n it('submit voicemail error metric with undefined process object', () => {\n // Mock process as undefined (browser environment)\n (global as any).process = undefined;\n\n const errorMessage = 'Network error';\n const expectedData = {\n tags: {\n action: VOICEMAIL_ACTION.MARK_READ,\n device_id: mockDeviceInfo.device.deviceId,\n message_id: 'msg-123',\n error: errorMessage,\n status_code: 500,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n calling_sdk_version: VERSION,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitVoicemailMetric(\n METRIC_EVENT.VOICEMAIL_ERROR,\n VOICEMAIL_ACTION.MARK_READ,\n METRIC_TYPE.BEHAVIORAL,\n 'msg-123',\n errorMessage,\n 500\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.VOICEMAIL_ERROR, expectedData);\n });\n\n it('submit unknown voicemail metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitVoicemailMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n VOICEMAIL_ACTION.GET_VOICEMAILS,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitVoicemailMetric',\n }\n );\n });\n });\n\n describe('Calling_Sdk_Version fallback test', () => {\n it('submit metric with fallback version', () => {\n process.env = {};\n metricManager.setDeviceInfo(mockDeviceInfo);\n const expectedData = {\n tags: {\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: VERSION,\n call_id: mockCallId,\n correlation_id: mockCorrelationId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitBNRMetric(\n METRIC_EVENT.BNR_ENABLED,\n METRIC_TYPE.BEHAVIORAL,\n mockCallId,\n mockCorrelationId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.BNR_ENABLED, expectedData);\n });\n });\n\n describe('Connection metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit connection metric for network flap', () => {\n const downTimestamp = '2026-05-04T10:00:00.000Z';\n const upTimestamp = '2026-05-04T10:05:00.000Z';\n\n const expectedData = {\n tags: {\n metricAction: 'network_flap',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n downTimestamp,\n upTimestamp,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitConnectionMetrics(\n METRIC_EVENT.CONNECTION_ERROR,\n CONNECTION_ACTION.NETWORK_FLAP,\n METRIC_TYPE.BEHAVIORAL,\n downTimestamp,\n upTimestamp\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CONNECTION_ERROR, expectedData);\n });\n\n it('submit connection metric for mercury down', () => {\n const downTimestamp = '2026-05-04T10:10:00.000Z';\n const upTimestamp = '2026-05-04T10:15:00.000Z';\n\n const expectedData = {\n tags: {\n metricAction: 'mercury_down',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n downTimestamp,\n upTimestamp,\n },\n type: METRIC_TYPE.OPERATIONAL,\n };\n\n metricManager.submitConnectionMetrics(\n METRIC_EVENT.CONNECTION_ERROR,\n CONNECTION_ACTION.MERCURY_DOWN,\n METRIC_TYPE.OPERATIONAL,\n downTimestamp,\n upTimestamp\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.CONNECTION_ERROR, expectedData);\n });\n });\n\n describe('Region Info metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit region info metric with all parameters', () => {\n const trackingId = 'track-region-123';\n const mobiusHost = 'mobius-us-east.webex.com';\n const clientRegion = 'US-EAST';\n const countryCode = 'US';\n\n const expectedData = {\n tags: {\n action: 'region-info',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n mobius_host: mobiusHost,\n client_region: clientRegion,\n country_code: countryCode,\n tracking_id: trackingId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitRegionInfoMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'region-info',\n METRIC_TYPE.BEHAVIORAL,\n mobiusHost,\n clientRegion,\n countryCode,\n trackingId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n\n it('submit region info metric without tracking ID', () => {\n const mobiusHost = 'mobius-eu-west.webex.com';\n const clientRegion = 'EU-WEST';\n const countryCode = 'GB';\n\n const expectedData = {\n tags: {\n action: 'region-info',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n mobius_host: mobiusHost,\n client_region: clientRegion,\n country_code: countryCode,\n tracking_id: undefined,\n },\n type: METRIC_TYPE.OPERATIONAL,\n };\n\n metricManager.submitRegionInfoMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'region-info',\n METRIC_TYPE.OPERATIONAL,\n mobiusHost,\n clientRegion,\n countryCode,\n undefined\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n });\n\n describe('Mobius Servers metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit mobius servers metric with primary and backup servers', () => {\n const trackingId = 'track-servers-456';\n const mobiusServers = {\n primary: {\n region: 'US-EAST',\n uris: [\n 'wss://mobius-us-east-1.webex.com/api/v1',\n 'wss://mobius-us-east-2.webex.com/api/v1',\n ],\n },\n backup: {\n region: 'US-WEST',\n uris: ['wss://mobius-us-west-1.webex.com/api/v1'],\n },\n };\n\n const expectedData = {\n tags: {\n action: 'mobius-servers',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n primary_mobius_servers_region: 'US-EAST',\n primary_mobius_servers_uris:\n 'wss://mobius-us-east-1.webex.com/api/v1,wss://mobius-us-east-2.webex.com/api/v1',\n backup_mobius_servers_region: 'US-WEST',\n backup_mobius_servers_uris: 'wss://mobius-us-west-1.webex.com/api/v1',\n tracking_id: trackingId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusServersMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'mobius-servers',\n METRIC_TYPE.BEHAVIORAL,\n mobiusServers,\n trackingId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n\n it('submit mobius servers metric without tracking ID', () => {\n const mobiusServers = {\n primary: {\n region: 'EU-CENTRAL',\n uris: ['wss://mobius-eu-central.webex.com/api/v1'],\n },\n backup: {\n region: 'EU-WEST',\n uris: [\n 'wss://mobius-eu-west.webex.com/api/v1',\n 'wss://mobius-eu-west-2.webex.com/api/v1',\n ],\n },\n };\n\n const expectedData = {\n tags: {\n action: 'mobius-servers',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n primary_mobius_servers_region: 'EU-CENTRAL',\n primary_mobius_servers_uris: 'wss://mobius-eu-central.webex.com/api/v1',\n backup_mobius_servers_region: 'EU-WEST',\n backup_mobius_servers_uris:\n 'wss://mobius-eu-west.webex.com/api/v1,wss://mobius-eu-west-2.webex.com/api/v1',\n tracking_id: undefined,\n },\n type: METRIC_TYPE.OPERATIONAL,\n };\n\n metricManager.submitMobiusServersMetric(\n METRIC_EVENT.MOBIUS_DISCOVERY,\n 'mobius-servers',\n METRIC_TYPE.OPERATIONAL,\n mobiusServers,\n undefined\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_DISCOVERY, expectedData);\n });\n });\n\n describe('Mobius Socket metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit mobius socket connect success metric', () => {\n const wssUrl = 'wss://mobius.webex.com/api/v1';\n const trackingId = 'track-socket-123';\n\n const expectedData = {\n tags: {\n action: 'connect',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: wssUrl,\n tracking_id: trackingId,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.CONNECT,\n METRIC_TYPE.BEHAVIORAL,\n wssUrl,\n trackingId\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket disconnect success metric', () => {\n const expectedData = {\n tags: {\n action: 'disconnect',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: undefined,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.DISCONNECT,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket listener registered metric', () => {\n const expectedData = {\n tags: {\n action: 'listener_registered',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: undefined,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.LISTENER_REGISTERED,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket listener unregistered metric', () => {\n const expectedData = {\n tags: {\n action: 'listener_unregistered',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: undefined,\n event_type: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET,\n MOBIUS_SOCKET_ACTION.LISTENER_UNREGISTERED,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(METRIC_EVENT.MOBIUS_SOCKET, expectedData);\n });\n\n it('submit mobius socket error metric with connection failure', () => {\n const wssUrl = 'wss://mobius.webex.com/api/v1';\n const trackingId = 'track-error-456';\n const error = 'WebSocket connection failed: timeout';\n\n const expectedData = {\n tags: {\n action: 'connect',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: wssUrl,\n tracking_id: trackingId,\n event_type: undefined,\n error,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n MOBIUS_SOCKET_ACTION.CONNECT,\n METRIC_TYPE.BEHAVIORAL,\n wssUrl,\n trackingId,\n error\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n expectedData\n );\n });\n\n it('submit mobius socket error metric with registration down event', () => {\n const trackingId = 'track-regdown-789';\n const eventType = 'registration.down';\n\n const expectedData = {\n tags: {\n action: 'registration_down',\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n wss_url: undefined,\n tracking_id: trackingId,\n event_type: eventType,\n error: undefined,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitMobiusSocketMetric(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n MOBIUS_SOCKET_ACTION.REGISTRATION_DOWN,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n trackingId,\n undefined,\n eventType\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.MOBIUS_SOCKET_ERROR,\n expectedData\n );\n });\n\n it('submit unknown mobius socket metric', () => {\n const logSpy = jest.spyOn(log, 'warn');\n\n metricManager.submitMobiusSocketMetric(\n 'invalidMetricName' as unknown as METRIC_EVENT,\n MOBIUS_SOCKET_ACTION.CONNECT,\n METRIC_TYPE.BEHAVIORAL\n );\n\n expect(submitClientMetricSpy).not.toBeCalled();\n expect(logSpy).toBeCalledOnceWith(\n 'Invalid metric name received. Rejecting request to submit metric.',\n {\n file: 'metric',\n method: 'submitMobiusSocketMetric',\n }\n );\n });\n });\n\n describe('Upload Logs metric tests', () => {\n beforeAll(() => metricManager.setDeviceInfo(mockDeviceInfo));\n\n it('submit upload logs success metric includes broadworksCorrelationInfo', () => {\n const trackingId = 'track-123';\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: trackingId,\n feedback_id: feedbackId,\n call_id: callId,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n trackingId,\n feedbackId,\n correlationId,\n undefined,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_SUCCESS,\n expectedData\n );\n });\n\n it('submit upload logs failure metric includes error and broadworksCorrelationInfo', () => {\n const feedbackId = 'feed-456';\n const correlationId = 'corr-789';\n const callId = 'call-123';\n const broadworksCorrelationInfo = 'bw-corr-abc';\n const errorStack = 'some error stack';\n\n const expectedData = {\n tags: {\n action: UPLOAD_LOGS_ACTION,\n device_id: mockDeviceInfo.device.deviceId,\n service_indicator: ServiceIndicator.CALLING,\n },\n fields: {\n device_url: mockDeviceInfo.device.clientDeviceUri,\n mobius_url: mockDeviceInfo.device.uri,\n calling_sdk_version: MOCK_VERSION_NUMBER,\n correlation_id: correlationId,\n broadworksCorrelationInfo,\n tracking_id: undefined,\n feedback_id: feedbackId,\n call_id: callId,\n error: errorStack,\n },\n type: METRIC_TYPE.BEHAVIORAL,\n };\n\n metricManager.submitUploadLogsMetric(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n UPLOAD_LOGS_ACTION,\n METRIC_TYPE.BEHAVIORAL,\n undefined,\n feedbackId,\n correlationId,\n errorStack,\n callId,\n broadworksCorrelationInfo\n );\n\n expect(submitClientMetricSpy).toBeCalledOnceWith(\n METRIC_EVENT.UPLOAD_LOGS_FAILED,\n expectedData\n );\n });\n });\n});\n"],"mappings":";;;;;;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AASA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAA4D,SAAAU,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAjB5D;AAmBA,IAAMqB,KAAK,GAAG,IAAAC,2BAAiB,EAAC,CAAC;AAEjCC,QAAQ,CAAC,uBAAuB,EAAE,YAAM;EACtC,IAAMC,aAAa,GAAG,IAAAC,uBAAgB,EAACJ,KAAK,EAAEK,wBAAgB,CAACC,OAAO,CAAC;EACvE,IAAMC,cAAc,GAAG,IAAAC,2BAAiB,EAAC,CAAC;EAC1C,IAAMC,qBAAqB,GAAGC,IAAI,CAACC,KAAK,CAACX,KAAK,CAACY,QAAQ,CAACC,OAAO,EAAE,qBAAqB,CAAC;EACvF,IAAMC,mBAAmB,GAAG,OAAO;EACnC,IAAMC,WAAW,GAAGC,OAAO,CAACC,GAAG;EAE/B,IAAMC,UAAU,GAAG,QAAQ;EAC3B,IAAMC,iBAAiB,GAAG,SAAS;EACnC,IAAMC,cAAc,GAAG,mBAAmB;EAC1C,IAAMC,eAAe,GAAG,mBAAmB;EAE3CC,UAAU,CAAC,YAAM;IACfb,qBAAqB,CAACc,SAAS,CAAC,CAAC;IACjCP,OAAO,CAACC,GAAG,GAAA3B,aAAA,CAAAA,aAAA,KACNyB,WAAW;MACdS,mBAAmB,EAAEV;IAAmB,EACzC;EACH,CAAC,CAAC;EAEFW,EAAE,CAAC,2BAA2B,EAAE,YAAM;IACpCC,MAAM,CAACvB,aAAa,CAAC,CAACwB,GAAG,CAACC,QAAQ,CAAC,CAAC;IACpCF,MAAM,CAACvB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC0B,aAAa,CAAC,CAAC;EACrD,CAAC,CAAC;EAEFJ,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC9CC,MAAM,CAACvB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC0B,aAAa,CAAC,CAAC;IACnD1B,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC3CmB,MAAM,CAACvB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC4B,OAAO,CAACxB,cAAc,CAAC;EAC7D,CAAC,CAAC;EAEFL,QAAQ,CAAC,4BAA4B,EAAE,YAAM;IAC3CuB,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7CtB,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAE3C,IAAMyB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCiC,UAAU,EAAEC,4BAAiB;UAC7BC,WAAW,EAAE,SAAS;UACtBC,UAAU,EAAE;QACd,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACmD,wBAAwB,CACpCC,mBAAY,CAACC,YAAY,EACzBrB,iBAAU,CAACC,QAAQ,EACnBgB,kBAAW,CAACC,UAAU,EACtBL,4BAAiB,EACjB,SAAS,EACT,sDAAsD,EACtDS,SAAS,EACTA,SACF,CAAC;MACD/B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACC,YAAY,EAAExB,YAAY,CAAC;IAC3F,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7CtB,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAE3C,IAAMoD,WAAW,GAAG,IAAAC,qCAAiB,EACnC,EAAE,EACF,CAAC,CAAC,EACFC,kBAAU,CAACC,OAAO,EAClBC,0BAAkB,CAACC,QACrB,CAAC;MACD,IAAMC,GAAG,GAAgB,CAAC,CAAC;MAE3BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GAAG,eAAe;MAC7BF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACO,mBAAmB;MAEzCT,WAAW,CAACU,QAAQ,CAACJ,GAAG,CAAC;MAEzB,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACC,QAAQ;UAC3BC,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCiC,UAAU,EAAEC,4BAAiB;UAC7BC,WAAW,EAAE,QAAQ;UACrBC,UAAU,EAAE,sDAAsD;UAClEoB,KAAK,EAAEX,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACJ,OAAO;UACrCK,UAAU,EAAEb,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACpB;QACrC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACmD,wBAAwB,CACpCC,mBAAY,CAACkB,kBAAkB,EAC/BtC,iBAAU,CAACC,QAAQ,EACnBgB,kBAAW,CAACC,UAAU,EACtBL,4BAAiB,EACjB,QAAQ,EACR,sDAAsD,EACtDS,SAAS,EACTE,WACF,CAAC;MACDjC,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACkB,kBAAkB,EAC/BzC,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1CtB,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAE3C,IAAMoD,WAAW,GAAG,IAAAC,qCAAiB,EACnC,EAAE,EACF,CAAC,CAAC,EACFC,kBAAU,CAACC,OAAO,EAClBC,0BAAkB,CAACC,QACrB,CAAC;MACD,IAAMC,GAAG,GAAgB,CAAC,CAAC;MAE3BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GAAG,eAAe;MAC7BF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACa,SAAS;MAE/Bf,WAAW,CAACU,QAAQ,CAACJ,GAAG,CAAC;MAEzB,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEC,iBAAU,CAACwC,iBAAiB;UACpCtC,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCiC,UAAU,EAAEC,4BAAiB;UAC7BC,WAAW,EAAE,QAAQ;UACrBC,UAAU,EAAE,sDAAsD;UAClE0B,eAAe,EAAE,CAAC;UAClBN,KAAK,EAAEX,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACJ,OAAO;UACrCK,UAAU,EAAEb,WAAW,CAACY,QAAQ,CAAC,CAAC,CAACpB;QACrC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACmD,wBAAwB,CACpCC,mBAAY,CAACsB,eAAe,EAC5B1C,iBAAU,CAACwC,iBAAiB,EAC5BvB,kBAAW,CAACC,UAAU,EACtBL,4BAAiB,EACjB,QAAQ,EACR,sDAAsD,EACtD,CAAC,EACDW,WACF,CAAC;MACDjC,MAAM,CAACjB,qBAAqB,CAAC,CAACqE,oBAAoB,CAChDvB,mBAAY,CAACsB,eAAe,EAC5B7C,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,oCAAoC,EAAE,YAAM;MAC7C,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACmD,wBAAwB,CACpC,mBAAmB,EACnBnB,iBAAU,CAACC,QAAQ,EACnBgB,kBAAW,CAAC6B,WAAW,EACvBjC,4BAAiB,EACjB,SAAS,EACTS,SAAS,EACTA,SAAS,EACTA,SACF,CAAC;MAED/B,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,mBAAmB,EAAE,YAAM;IAClCmF,SAAS,CAAC,YAAM;MACdlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFkB,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEd,cAAc;UACtBiB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqF,gBAAgB,CAC5BjC,mBAAY,CAACkC,IAAI,EACjBrE,cAAc,EACdgC,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MACDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACkC,IAAI,EAAEzD,YAAY,CAAC;IACnF,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMiE,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACF9B,kBAAU,CAACC,OAAO,EAClB3C,iBAAiB,EACjByE,mBAAW,CAACC,YACd,CAAC;MAED,IAAM5B,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,uFAAuF;MACzFF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACiC,eAAe;MAErCJ,SAAS,CAACK,YAAY,CAAC9B,GAAG,CAAC;MAE3B,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEd,cAAc;UACtBiB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE,iBAAiB;UACjCmD,KAAK,EAAEoB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7B,OAAO;UACvCK,UAAU,EAAEkB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7C;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqF,gBAAgB,CAC5BjC,mBAAY,CAAC0C,UAAU,EACvB7E,cAAc,EACdgC,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBAAiB,EACjBuE,SACF,CAAC;MACDhE,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC0C,UAAU,EAAEjE,YAAY,CAAC;IACzF,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACqF,gBAAgB,CAC5B,mBAAmB,EACnBpE,cAAc,EACdgC,kBAAW,CAAC6B,WAAW,EACvB/D,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,oBAAoB,EAAE,YAAM;IACnC,IAAMgG,OAAO,GAAG,gBAAgB;IAEhCb,SAAS,CAAC,YAAM;MACdlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFkB,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,eAAe;UACvBgB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE,iBAAiB;UACjCgF,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF;QACxB,CAAC;QACD/C,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACkG,iBAAiB,CAC7B9C,mBAAY,CAAC+C,KAAK,EAClBjF,eAAe,EACf+B,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBAAiB,EACjB+E,OAAO,EACPA,OACF,CAAC;MACDxE,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC+C,KAAK,EAAEtE,YAAY,CAAC;IACpF,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMiE,SAAS,GAAG,IAAAC,0BAAe,EAC/B,EAAE,EACF,CAAC,CAAC,EACF9B,kBAAU,CAACC,OAAO,EAClB3C,iBAAiB,EACjByE,mBAAW,CAACU,KACd,CAAC;MAED,IAAMrC,GAAG,GAAoB,CAAC,CAAC;MAE/BA,GAAG,CAACC,OAAO,GAAG,CAAC,CAAC;MAChBD,GAAG,CAACE,OAAO,GACT,wFAAwF;MAC1FF,GAAG,CAACd,IAAI,GAAGU,kBAAU,CAACO,mBAAmB;MAEzCsB,SAAS,CAACK,YAAY,CAAC9B,GAAG,CAAC;MAE3B,IAAMjC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEb,eAAe;UACvBgB,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE,iBAAiB;UACjCgF,mBAAmB,EAAED,OAAO;UAC5BE,oBAAoB,EAAEF,OAAO;UAC7B5B,KAAK,EAAEoB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7B,OAAO;UACvCK,UAAU,EAAEkB,SAAS,CAACM,YAAY,CAAC,CAAC,CAAC7C;QACvC,CAAC;QACDA,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACkG,iBAAiB,CAC7B9C,mBAAY,CAACgD,WAAW,EACxBlF,eAAe,EACf+B,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBAAiB,EACjB+E,OAAO,EACPA,OAAO,EACPR,SACF,CAAC;MACDhE,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACgD,WAAW,EAAEvE,YAAY,CAAC;IAC1F,CAAC,CAAC;IAEFP,EAAE,CAAC,6BAA6B,EAAE,YAAM;MACtC,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACkG,iBAAiB,CAC7B,mBAAmB,EACnBhF,eAAe,EACf+B,kBAAW,CAAC6B,WAAW,EACvB/D,UAAU,EACVC,iBAAiB,EACjB+E,OAAO,EACPA,OACF,CAAC;MAEDxE,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,kBAAkB,EAAE,YAAM;IACjCmF,SAAS,CAAC,YAAM;MACdlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAC7C,CAAC,CAAC;IAEFkB,EAAE,CAAC,2BAA2B,EAAE,YAAM;MACpC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqG,eAAe,CAC3BjD,mBAAY,CAACkD,WAAW,EACxBrD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACkD,WAAW,EAAEzE,YAAY,CAAC;IAC1F,CAAC,CAAC;IAEFP,EAAE,CAAC,4BAA4B,EAAE,YAAM;MACrC,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwE,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqG,eAAe,CAC3BjD,mBAAY,CAACmD,YAAY,EACzBtD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACmD,YAAY,EAAE1E,YAAY,CAAC;IAC3F,CAAC,CAAC;IAEFP,EAAE,CAAC,2BAA2B,EAAE,YAAM;MACpC,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACqG,eAAe,CAC3B,mBAAmB,EACnBpD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,wBAAwB,EAAE,YAAM;IACvC,IAAMyG,eAA+B,GAAGC,MAAM,CAAC5F,OAAO;IAEtDqE,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DsG,SAAS,CAAC,YAAM;MACdD,MAAM,CAAC5F,OAAO,GAAG2F,eAAe;IAClC,CAAC,CAAC;IAEFlF,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAMqF,aAAa,GAAG;QACpB7E,IAAI,EAAE;UACJC,MAAM,EAAE6E,uBAAgB,CAACC,cAAc;UACvC3E,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC;QACnC,CAAC;QACDE,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEhC;QACvB,CAAC;QACDqC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC8G,qBAAqB,CACjC1D,mBAAY,CAAC2D,SAAS,EACtBH,uBAAgB,CAACC,cAAc,EAC/B5D,kBAAW,CAACC,UACd,CAAC;MACD3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC2D,SAAS,EAAEJ,aAAa,CAAC;MAEvFrG,qBAAqB,CAACc,SAAS,CAAC,CAAC;MAEjC,IAAM4F,aAAa,GAAA7H,aAAA,CAAAA,aAAA,KACdwH,aAAa;QAChB7E,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMwH,aAAa,CAAC7E,IAAI;UAAEmF,UAAU,EAAE,WAAW;UAAElF,MAAM,EAAE6E,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAEDlH,aAAa,CAAC8G,qBAAqB,CACjC1D,mBAAY,CAAC2D,SAAS,EACtBH,uBAAgB,CAACM,MAAM,EACvBjE,kBAAW,CAACC,UAAU,EACtB,WACF,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC2D,SAAS,EAAEC,aAAa,CAAC;IACzF,CAAC,CAAC;IAEF1F,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAM6F,YAAY,GAAG,2BAA2B;MAChD,IAAMR,aAAa,GAAG;QACpB7E,IAAI,EAAE;UACJC,MAAM,EAAE6E,uBAAgB,CAACC,cAAc;UACvC3E,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzC6E,UAAU,EAAE3D,SAAS;UACrBa,KAAK,EAAEgD,YAAY;UACnBC,WAAW,EAAE;QACf,CAAC;QACD9E,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAEhC;QACvB,CAAC;QACDqC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC8G,qBAAqB,CACjC1D,mBAAY,CAACiE,eAAe,EAC5BT,uBAAgB,CAACC,cAAc,EAC/B5D,kBAAW,CAACC,UAAU,EACtBI,SAAS,EACT6D,YAAY,EACZ,GACF,CAAC;MACD5F,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACiE,eAAe,EAAEV,aAAa,CAAC;MAE7FrG,qBAAqB,CAACc,SAAS,CAAC,CAAC;MAEjC,IAAM4F,aAAa,GAAA7H,aAAA,CAAAA,aAAA,KACdwH,aAAa;QAChB7E,IAAI,EAAA3C,aAAA,CAAAA,aAAA,KAAMwH,aAAa,CAAC7E,IAAI;UAAEmF,UAAU,EAAE,WAAW;UAAElF,MAAM,EAAE6E,uBAAgB,CAACM;QAAM;MAAC,EACxF;MAEDlH,aAAa,CAAC8G,qBAAqB,CACjC1D,mBAAY,CAACiE,eAAe,EAC5BT,uBAAgB,CAACM,MAAM,EACvBjE,kBAAW,CAACC,UAAU,EACtB,WAAW,EACXiE,YAAY,EACZ,GACF,CAAC;MAED5F,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACiE,eAAe,EAAEL,aAAa,CAAC;IAC/F,CAAC,CAAC;IAEF1F,EAAE,CAAC,uDAAuD,EAAE,YAAM;MAChE;MACCmF,MAAM,CAAS5F,OAAO,GAAGyC,SAAS;MAEnC,IAAMzB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE6E,uBAAgB,CAACC,cAAc;UACvC3E,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC;QACnC,CAAC;QACDE,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAE2E;QACvB,CAAC;QACDtE,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC8G,qBAAqB,CACjC1D,mBAAY,CAAC2D,SAAS,EACtBH,uBAAgB,CAACC,cAAc,EAC/B5D,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAAC2D,SAAS,EAAElF,YAAY,CAAC;IACxF,CAAC,CAAC;IAEFP,EAAE,CAAC,6DAA6D,EAAE,YAAM;MACtE;MACCmF,MAAM,CAAS5F,OAAO,GAAGyC,SAAS;MAEnC,IAAM6D,YAAY,GAAG,eAAe;MACpC,IAAMtF,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE6E,uBAAgB,CAACW,SAAS;UAClCrF,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzC6E,UAAU,EAAE,SAAS;UACrB9C,KAAK,EAAEgD,YAAY;UACnBC,WAAW,EAAE;QACf,CAAC;QACD9E,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDG,mBAAmB,EAAE2E;QACvB,CAAC;QACDtE,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC8G,qBAAqB,CACjC1D,mBAAY,CAACiE,eAAe,EAC5BT,uBAAgB,CAACW,SAAS,EAC1BtE,kBAAW,CAACC,UAAU,EACtB,SAAS,EACTiE,YAAY,EACZ,GACF,CAAC;MAED5F,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACiE,eAAe,EAAExF,YAAY,CAAC;IAC9F,CAAC,CAAC;IAEFP,EAAE,CAAC,iCAAiC,EAAE,YAAM;MAC1C,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAAC8G,qBAAqB,CACjC,mBAAmB,EACnBF,uBAAgB,CAACC,cAAc,EAC/B5D,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,mCAAmC,EAAE,YAAM;IAClDuB,EAAE,CAAC,qCAAqC,EAAE,YAAM;MAC9CT,OAAO,CAACC,GAAG,GAAG,CAAC,CAAC;MAChBd,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;MAC3C,IAAMyB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAE2E,kBAAO;UAC5BnC,OAAO,EAAEpE,UAAU;UACnBqE,cAAc,EAAEpE;QAClB,CAAC;QACDgC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACqG,eAAe,CAC3BjD,mBAAY,CAACkD,WAAW,EACxBrD,kBAAW,CAACC,UAAU,EACtBnC,UAAU,EACVC,iBACF,CAAC;MAEDO,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACkD,WAAW,EAAEzE,YAAY,CAAC;IAC1F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9B,QAAQ,CAAC,yBAAyB,EAAE,YAAM;IACxCmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,2CAA2C,EAAE,YAAM;MACpD,IAAMkG,aAAa,GAAG,0BAA0B;MAChD,IAAMC,WAAW,GAAG,0BAA0B;MAE9C,IAAM5F,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJ4F,YAAY,EAAE,cAAc;UAC5BxF,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxC6G,aAAa,EAAbA,aAAa;UACbC,WAAW,EAAXA;QACF,CAAC;QACDzE,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAAC2H,uBAAuB,CACnCvE,mBAAY,CAACwE,gBAAgB,EAC7BC,wBAAiB,CAACC,YAAY,EAC9B7E,kBAAW,CAACC,UAAU,EACtBsE,aAAa,EACbC,WACF,CAAC;MAEDlG,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACwE,gBAAgB,EAAE/F,YAAY,CAAC;IAC/F,CAAC,CAAC;IAEFP,EAAE,CAAC,2CAA2C,EAAE,YAAM;MACpD,IAAMkG,aAAa,GAAG,0BAA0B;MAChD,IAAMC,WAAW,GAAG,0BAA0B;MAE9C,IAAM5F,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJ4F,YAAY,EAAE,cAAc;UAC5BxF,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxC6G,aAAa,EAAbA,aAAa;UACbC,WAAW,EAAXA;QACF,CAAC;QACDzE,IAAI,EAAEC,kBAAW,CAAC6B;MACpB,CAAC;MAED9E,aAAa,CAAC2H,uBAAuB,CACnCvE,mBAAY,CAACwE,gBAAgB,EAC7BC,wBAAiB,CAACE,YAAY,EAC9B9E,kBAAW,CAAC6B,WAAW,EACvB0C,aAAa,EACbC,WACF,CAAC;MAEDlG,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACwE,gBAAgB,EAAE/F,YAAY,CAAC;IAC/F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9B,QAAQ,CAAC,0BAA0B,EAAE,YAAM;IACzCmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,+CAA+C,EAAE,YAAM;MACxD,IAAMyB,UAAU,GAAG,kBAAkB;MACrC,IAAMiF,UAAU,GAAG,0BAA0B;MAC7C,IAAMC,YAAY,GAAG,SAAS;MAC9B,IAAMC,WAAW,GAAG,IAAI;MAExB,IAAMrG,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,aAAa;UACrBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwH,WAAW,EAAEH,UAAU;UACvBI,aAAa,EAAEH,YAAY;UAC3BI,YAAY,EAAEH,WAAW;UACzBI,WAAW,EAAEvF;QACf,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACuI,sBAAsB,CAClCnF,mBAAY,CAACoF,gBAAgB,EAC7B,aAAa,EACbvF,kBAAW,CAACC,UAAU,EACtB8E,UAAU,EACVC,YAAY,EACZC,WAAW,EACXnF,UACF,CAAC;MAEDxB,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACoF,gBAAgB,EAAE3G,YAAY,CAAC;IAC/F,CAAC,CAAC;IAEFP,EAAE,CAAC,+CAA+C,EAAE,YAAM;MACxD,IAAM0G,UAAU,GAAG,0BAA0B;MAC7C,IAAMC,YAAY,GAAG,SAAS;MAC9B,IAAMC,WAAW,GAAG,IAAI;MAExB,IAAMrG,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,aAAa;UACrBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCwH,WAAW,EAAEH,UAAU;UACvBI,aAAa,EAAEH,YAAY;UAC3BI,YAAY,EAAEH,WAAW;UACzBI,WAAW,EAAEhF;QACf,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAAC6B;MACpB,CAAC;MAED9E,aAAa,CAACuI,sBAAsB,CAClCnF,mBAAY,CAACoF,gBAAgB,EAC7B,aAAa,EACbvF,kBAAW,CAAC6B,WAAW,EACvBkD,UAAU,EACVC,YAAY,EACZC,WAAW,EACX5E,SACF,CAAC;MAED/B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACoF,gBAAgB,EAAE3G,YAAY,CAAC;IAC/F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9B,QAAQ,CAAC,6BAA6B,EAAE,YAAM;IAC5CmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,8DAA8D,EAAE,YAAM;MACvE,IAAMyB,UAAU,GAAG,mBAAmB;MACtC,IAAM0F,aAAa,GAAG;QACpBC,OAAO,EAAE;UACPC,MAAM,EAAE,SAAS;UACjBC,IAAI,EAAE,CACJ,yCAAyC,EACzC,yCAAyC;QAE7C,CAAC;QACDC,MAAM,EAAE;UACNF,MAAM,EAAE,SAAS;UACjBC,IAAI,EAAE,CAAC,yCAAyC;QAClD;MACF,CAAC;MAED,IAAM/G,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,gBAAgB;UACxBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCmI,6BAA6B,EAAE,SAAS;UACxCC,2BAA2B,EACzB,iFAAiF;UACnFC,4BAA4B,EAAE,SAAS;UACvCC,0BAA0B,EAAE,yCAAyC;UACrEX,WAAW,EAAEvF;QACf,CAAC;QACDC,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACkJ,yBAAyB,CACrC9F,mBAAY,CAACoF,gBAAgB,EAC7B,gBAAgB,EAChBvF,kBAAW,CAACC,UAAU,EACtBuF,aAAa,EACb1F,UACF,CAAC;MAEDxB,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACoF,gBAAgB,EAAE3G,YAAY,CAAC;IAC/F,CAAC,CAAC;IAEFP,EAAE,CAAC,kDAAkD,EAAE,YAAM;MAC3D,IAAMmH,aAAa,GAAG;QACpBC,OAAO,EAAE;UACPC,MAAM,EAAE,YAAY;UACpBC,IAAI,EAAE,CAAC,0CAA0C;QACnD,CAAC;QACDC,MAAM,EAAE;UACNF,MAAM,EAAE,SAAS;UACjBC,IAAI,EAAE,CACJ,uCAAuC,EACvC,yCAAyC;QAE7C;MACF,CAAC;MAED,IAAM/G,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,gBAAgB;UACxBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCmI,6BAA6B,EAAE,YAAY;UAC3CC,2BAA2B,EAAE,0CAA0C;UACvEC,4BAA4B,EAAE,SAAS;UACvCC,0BAA0B,EACxB,+EAA+E;UACjFX,WAAW,EAAEhF;QACf,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAAC6B;MACpB,CAAC;MAED9E,aAAa,CAACkJ,yBAAyB,CACrC9F,mBAAY,CAACoF,gBAAgB,EAC7B,gBAAgB,EAChBvF,kBAAW,CAAC6B,WAAW,EACvB2D,aAAa,EACbnF,SACF,CAAC;MAED/B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACoF,gBAAgB,EAAE3G,YAAY,CAAC;IAC/F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9B,QAAQ,CAAC,4BAA4B,EAAE,YAAM;IAC3CmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,6CAA6C,EAAE,YAAM;MACtD,IAAM6H,MAAM,GAAG,+BAA+B;MAC9C,IAAMpG,UAAU,GAAG,kBAAkB;MAErC,IAAMlB,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,SAAS;UACjBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyI,OAAO,EAAED,MAAM;UACfb,WAAW,EAAEvF,UAAU;UACvBsG,UAAU,EAAE/F;QACd,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsJ,wBAAwB,CACpClG,mBAAY,CAACmG,aAAa,EAC1BC,2BAAoB,CAACC,OAAO,EAC5BxG,kBAAW,CAACC,UAAU,EACtBiG,MAAM,EACNpG,UACF,CAAC;MAEDxB,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACmG,aAAa,EAAE1H,YAAY,CAAC;IAC5F,CAAC,CAAC;IAEFP,EAAE,CAAC,gDAAgD,EAAE,YAAM;MACzD,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,YAAY;UACpBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyI,OAAO,EAAE9F,SAAS;UAClBgF,WAAW,EAAEhF,SAAS;UACtB+F,UAAU,EAAE/F;QACd,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsJ,wBAAwB,CACpClG,mBAAY,CAACmG,aAAa,EAC1BC,2BAAoB,CAACE,UAAU,EAC/BzG,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACmG,aAAa,EAAE1H,YAAY,CAAC;IAC5F,CAAC,CAAC;IAEFP,EAAE,CAAC,iDAAiD,EAAE,YAAM;MAC1D,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,qBAAqB;UAC7BG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyI,OAAO,EAAE9F,SAAS;UAClBgF,WAAW,EAAEhF,SAAS;UACtB+F,UAAU,EAAE/F;QACd,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsJ,wBAAwB,CACpClG,mBAAY,CAACmG,aAAa,EAC1BC,2BAAoB,CAACG,mBAAmB,EACxC1G,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACmG,aAAa,EAAE1H,YAAY,CAAC;IAC5F,CAAC,CAAC;IAEFP,EAAE,CAAC,mDAAmD,EAAE,YAAM;MAC5D,IAAMO,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,uBAAuB;UAC/BG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyI,OAAO,EAAE9F,SAAS;UAClBgF,WAAW,EAAEhF,SAAS;UACtB+F,UAAU,EAAE/F;QACd,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsJ,wBAAwB,CACpClG,mBAAY,CAACmG,aAAa,EAC1BC,2BAAoB,CAACI,qBAAqB,EAC1C3G,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAACH,mBAAY,CAACmG,aAAa,EAAE1H,YAAY,CAAC;IAC5F,CAAC,CAAC;IAEFP,EAAE,CAAC,2DAA2D,EAAE,YAAM;MACpE,IAAM6H,MAAM,GAAG,+BAA+B;MAC9C,IAAMpG,UAAU,GAAG,iBAAiB;MACpC,IAAMoB,KAAK,GAAG,sCAAsC;MAEpD,IAAMtC,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,SAAS;UACjBG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyI,OAAO,EAAED,MAAM;UACfb,WAAW,EAAEvF,UAAU;UACvBsG,UAAU,EAAE/F,SAAS;UACrBa,KAAK,EAALA;QACF,CAAC;QACDnB,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsJ,wBAAwB,CACpClG,mBAAY,CAACyG,mBAAmB,EAChCL,2BAAoB,CAACC,OAAO,EAC5BxG,kBAAW,CAACC,UAAU,EACtBiG,MAAM,EACNpG,UAAU,EACVoB,KACF,CAAC;MAED5C,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACyG,mBAAmB,EAChChI,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,gEAAgE,EAAE,YAAM;MACzE,IAAMyB,UAAU,GAAG,mBAAmB;MACtC,IAAM+G,SAAS,GAAG,mBAAmB;MAErC,IAAMjI,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAE,mBAAmB;UAC3BG,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyI,OAAO,EAAE9F,SAAS;UAClBgF,WAAW,EAAEvF,UAAU;UACvBsG,UAAU,EAAES,SAAS;UACrB3F,KAAK,EAAEb;QACT,CAAC;QACDN,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsJ,wBAAwB,CACpClG,mBAAY,CAACyG,mBAAmB,EAChCL,2BAAoB,CAACO,iBAAiB,EACtC9G,kBAAW,CAACC,UAAU,EACtBI,SAAS,EACTP,UAAU,EACVO,SAAS,EACTwG,SACF,CAAC;MAEDvI,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACyG,mBAAmB,EAChChI,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,qCAAqC,EAAE,YAAM;MAC9C,IAAMsD,MAAM,GAAGrE,IAAI,CAACC,KAAK,CAACqE,eAAG,EAAE,MAAM,CAAC;MAEtC7E,aAAa,CAACsJ,wBAAwB,CACpC,mBAAmB,EACnBE,2BAAoB,CAACC,OAAO,EAC5BxG,kBAAW,CAACC,UACd,CAAC;MAED3B,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,GAAG,CAACuD,UAAU,CAAC,CAAC;MAC9CxD,MAAM,CAACqD,MAAM,CAAC,CAACrB,kBAAkB,CAC/B,mEAAmE,EACnE;QACEyB,IAAI,EAAE,QAAQ;QACdC,MAAM,EAAE;MACV,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFlF,QAAQ,CAAC,0BAA0B,EAAE,YAAM;IACzCmF,SAAS,CAAC;MAAA,OAAMlF,aAAa,CAAC2B,aAAa,CAACvB,cAAc,CAAC;IAAA,EAAC;IAE5DkB,EAAE,CAAC,sEAAsE,EAAE,YAAM;MAC/E,IAAMyB,UAAU,GAAG,WAAW;MAC9B,IAAMiH,UAAU,GAAG,UAAU;MAC7B,IAAMC,aAAa,GAAG,UAAU;MAChC,IAAMC,MAAM,GAAG,UAAU;MACzB,IAAMC,yBAAyB,GAAG,aAAa;MAE/C,IAAMtI,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEqI,yBAAkB;UAC1BlI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyE,cAAc,EAAE6E,aAAa;UAC7BE,yBAAyB,EAAzBA,yBAAyB;UACzB7B,WAAW,EAAEvF,UAAU;UACvBsH,WAAW,EAAEL,UAAU;UACvB7E,OAAO,EAAE+E;QACX,CAAC;QACDlH,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsK,sBAAsB,CAClClH,mBAAY,CAACmH,mBAAmB,EAChCH,yBAAkB,EAClBnH,kBAAW,CAACC,UAAU,EACtBH,UAAU,EACViH,UAAU,EACVC,aAAa,EACb3G,SAAS,EACT4G,MAAM,EACNC,yBACF,CAAC;MAED5I,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACmH,mBAAmB,EAChC1I,YACF,CAAC;IACH,CAAC,CAAC;IAEFP,EAAE,CAAC,gFAAgF,EAAE,YAAM;MACzF,IAAM0I,UAAU,GAAG,UAAU;MAC7B,IAAMC,aAAa,GAAG,UAAU;MAChC,IAAMC,MAAM,GAAG,UAAU;MACzB,IAAMC,yBAAyB,GAAG,aAAa;MAC/C,IAAMK,UAAU,GAAG,kBAAkB;MAErC,IAAM3I,YAAY,GAAG;QACnBC,IAAI,EAAE;UACJC,MAAM,EAAEqI,yBAAkB;UAC1BlI,SAAS,EAAE9B,cAAc,CAAC+B,MAAM,CAACC,QAAQ;UACzCC,iBAAiB,EAAEnC,wBAAgB,CAACC;QACtC,CAAC;QACDmC,MAAM,EAAE;UACNC,UAAU,EAAEnC,cAAc,CAAC+B,MAAM,CAACK,eAAe;UACjDC,UAAU,EAAErC,cAAc,CAAC+B,MAAM,CAACO,GAAG;UACrCC,mBAAmB,EAAEhC,mBAAmB;UACxCyE,cAAc,EAAE6E,aAAa;UAC7BE,yBAAyB,EAAzBA,yBAAyB;UACzB7B,WAAW,EAAEhF,SAAS;UACtB+G,WAAW,EAAEL,UAAU;UACvB7E,OAAO,EAAE+E,MAAM;UACf/F,KAAK,EAAEqG;QACT,CAAC;QACDxH,IAAI,EAAEC,kBAAW,CAACC;MACpB,CAAC;MAEDlD,aAAa,CAACsK,sBAAsB,CAClClH,mBAAY,CAACqH,kBAAkB,EAC/BL,yBAAkB,EAClBnH,kBAAW,CAACC,UAAU,EACtBI,SAAS,EACT0G,UAAU,EACVC,aAAa,EACbO,UAAU,EACVN,MAAM,EACNC,yBACF,CAAC;MAED5I,MAAM,CAACjB,qBAAqB,CAAC,CAACiD,kBAAkB,CAC9CH,mBAAY,CAACqH,kBAAkB,EAC/B5I,YACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -149,5 +149,5 @@
149
149
  "staticpath": "docs",
150
150
  "noprompt": true
151
151
  },
152
- "version": "3.12.0-mobius-socket.16"
152
+ "version": "3.12.0-mobius-socket.17"
153
153
  }