{"version":3,"sources":["../src/actions/connect.ts","../src/actions/disconnect.ts","../src/actions/dismissNotification.ts","../src/actions/emitTypingIndicator.ts","../src/actions/markActivity.ts","../src/actions/muteVoiceRecording.ts","../src/actions/postActivity.ts","../src/actions/postVoiceActivity.ts","../src/actions/registerVoiceHandler.ts","../src/actions/sendEvent.ts","../src/actions/sendFiles.ts","../src/actions/sendMessage.ts","../src/actions/sendMessageBack.ts","../src/actions/sendPostBack.ts","../src/actions/setDictateInterims.ts","../src/actions/setDictateState.ts","../src/actions/setLanguage.ts","../src/utils/uniqueID.ts","../src/actions/setNotification.ts","../src/actions/setSendBox.ts","../src/actions/setSendBoxAttachments.ts","../src/actions/setSendTimeout.ts","../src/actions/setSendTypingIndicator.ts","../src/actions/setVoiceState.ts","../src/actions/startDictate.ts","../src/actions/startSpeakingActivity.ts","../src/actions/startVoiceRecording.ts","../src/actions/stopDictate.ts","../src/actions/stopSpeakingActivity.ts","../src/actions/stopVoiceRecording.ts","../src/actions/submitSendBox.ts","../src/actions/unmuteVoiceRecording.ts","../src/actions/unregisterVoiceHandler.ts","../src/constants/ActivityClientState.ts","../src/constants/DictateState.ts","../src/createStore.ts","../src/actions/sagaError.ts","../src/createReducer.ts","../../base/dist/chunk-73SFLUWV.mjs","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/add-to-unscopables.js","../../../node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/create-property.js","../../../node_modules/core-js-pure/modules/es.array.to-spliced.js","../../../node_modules/core-js-pure/internals/entry-unbind.js","../../../node_modules/core-js-pure/es/array/to-spliced.js","../../../node_modules/core-js-pure/stable/array/to-spliced.js","../../../node_modules/core-js-pure/modules/esnext.array.to-spliced.js","../../../node_modules/core-js-pure/actual/array/to-spliced.js","../../../node_modules/core-js-pure/full/array/to-spliced.js","../../../node_modules/core-js-pure/features/array/to-spliced.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/environment-is-node.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/set-species.js","../../../node_modules/core-js-pure/internals/an-instance.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/a-constructor.js","../../../node_modules/core-js-pure/internals/species-constructor.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/environment-is-ios.js","../../../node_modules/core-js-pure/internals/task.js","../../../node_modules/core-js-pure/internals/safe-get-built-in.js","../../../node_modules/core-js-pure/internals/queue.js","../../../node_modules/core-js-pure/internals/environment-is-ios-pebble.js","../../../node_modules/core-js-pure/internals/environment-is-webos-webkit.js","../../../node_modules/core-js-pure/internals/microtask.js","../../../node_modules/core-js-pure/internals/host-report-errors.js","../../../node_modules/core-js-pure/internals/perform.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/promise-native-constructor.js","../../../node_modules/core-js-pure/internals/promise-constructor-detection.js","../../../node_modules/core-js-pure/internals/new-promise-capability.js","../../../node_modules/core-js-pure/modules/es.promise.constructor.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../../../node_modules/core-js-pure/modules/es.promise.all.js","../../../node_modules/core-js-pure/modules/es.promise.catch.js","../../../node_modules/core-js-pure/modules/es.promise.race.js","../../../node_modules/core-js-pure/modules/es.promise.reject.js","../../../node_modules/core-js-pure/internals/promise-resolve.js","../../../node_modules/core-js-pure/modules/es.promise.resolve.js","../../../node_modules/core-js-pure/modules/es.promise.js","../../../node_modules/core-js-pure/modules/es.promise.with-resolvers.js","../../../node_modules/core-js-pure/es/promise/with-resolvers.js","../../../node_modules/core-js-pure/stable/promise/with-resolvers.js","../../../node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","../../../node_modules/core-js-pure/actual/promise/with-resolvers.js","../../../node_modules/core-js-pure/full/promise/with-resolvers.js","../../../node_modules/core-js-pure/features/promise/with-resolvers.js","../../base/src/utils/setMetaTag.ts","../../base/src/utils/createBuildInfo.ts","../../base/src/utils/private/once.ts","../../base/src/utils/warnOnce.ts","../../base/src/utils/deprecateObject.ts","../../base/src/utils/isForbiddenPropertyName.ts","../../base/src/utils/isPlainObject.ts","../../base/src/utils/iterateEquals.ts","../../base/src/utils/singleToArray.ts","../../base/src/utils/toSpliced.ts","../../base/src/utils/withResolvers.ts","../src/reducers/activities/createGroupedActivitiesReducer.ts","../src/actions/deleteActivity.ts","../src/actions/incomingActivity.ts","../src/types/internal/SendStatus.ts","../src/reducers/activities/patchActivity.ts","../src/reducers/activities/sort/private/computePartListTimestamp.ts","../src/reducers/activities/sort/private/computeSortedActivities.ts","../src/reducers/activities/sort/deleteActivityByLocalId.ts","../src/reducers/activities/sort/queryLocalIdByActivityId.ts","../src/reducers/activities/sort/queryLocalIdByClientActivityId.ts","../src/reducers/activities/sort/updateActivityChannelData.ts","../src/utils/getActivityLivestreamingMetadata.ts","../src/utils/getOrgSchemaMessage.ts","../src/reducers/activities/sort/private/getLogicalTimestamp.ts","../src/reducers/activities/sort/private/getPartGroupingMetadataMap.ts","../src/reducers/activities/sort/private/insertSorted.ts","../src/reducers/activities/sort/upsert.ts","../src/reducers/activities/combineActivitiesReducer.ts","../src/actions/reconnect.ts","../src/reducers/connectivityStatus.js","../src/reducers/createInternalReducer.ts","../src/reducers/createNotificationsReducer.ts","../src/reducers/createTypingReducer.ts","../src/reducers/dictateInterims.js","../src/reducers/dictateState.js","../src/reducers/language.js","../src/actions/connectionStatusUpdate.ts","../src/reducers/readyState.js","../src/actions/setReferenceGrammarID.js","../src/reducers/referenceGrammarID.js","../src/reducers/sendBoxAttachments.ts","../src/reducers/sendBoxValue.js","../src/reducers/sendTimeout.js","../src/reducers/sendTypingIndicator.js","../src/reducers/shouldSpeakIncomingActivity.js","../src/reducers/suggestedActions.ts","../src/reducers/suggestedActionsOriginActivity.ts","../src/reducers/voiceActivity.ts","../src/createSagas.ts","../src/sagas/actionSinkSaga.ts","../src/actions/registerActionSink.ts","../src/actions/unregisterActionSink.ts","../src/sagas/clearSuggestedActionsOnPostActivitySaga.js","../src/actions/setSuggestedActions.ts","../src/sagas/effects/whileConnected.ts","../src/sagas/connectionStatusToNotificationSaga.js","../src/createPromiseQueue.js","../src/sagas/connectionStatusUpdateSaga.js","../src/sagas/effects/observeEach.js","../src/sagas/connectSaga.js","../src/sagas/effects/forkPut.js","../src/actions/updateConnectionStatus.ts","../src/sagas/detectSlowConnectionSaga.ts","../src/utils/sleep.ts","../src/sagas/emitTypingIndicatorToPostActivitySaga.js","../src/sagas/markAllAsSpokenOnStopSpeakActivitySaga.js","../src/selectors/activities.ts","../src/definitions/speakingActivity.js","../src/sagas/observeActivitySaga.ts","../src/actions/queueIncomingActivity.ts","../src/utils/voiceActivity/isVoiceActivity.ts","../src/utils/voiceActivity/isVoiceTranscriptActivity.ts","../src/sagas/postActivitySaga.ts","../src/selectors/language.ts","../src/selectors/sendTimeout.ts","../src/utils/dateToLocaleISOString.ts","../src/utils/deleteKey.ts","../src/sagas/effects/observeOnce.ts","../src/sagas/queueIncomingActivitySaga.ts","../src/definitions/activityFromBot.js","../src/sagas/sendEventToPostActivitySaga.js","../src/sagas/sendFilesToPostActivitySaga.js","../src/sagas/sendMessageBackToPostActivitySaga.js","../src/sagas/sendMessageToPostActivitySaga.ts","../src/sagas/sendPostBackToPostActivitySaga.js","../src/sagas/sendTypingIndicatorOnSetSendBoxSaga.ts","../src/selectors/sendTypingIndicator.ts","../src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js","../src/definitions/speakableActivity.js","../src/selectors/dictateState.ts","../src/selectors/shouldSpeakIncomingActivity.ts","../src/sagas/startDictateOnSpeakCompleteSaga.js","../src/sagas/startSpeakActivityOnPostActivitySaga.js","../src/sagas/stopDictateOnCardActionSaga.js","../src/sagas/stopSpeakingActivityOnInputSaga.js","../src/sagas/submitSendBoxSaga.js","../src/selectors/sendBoxAttachments.ts","../src/selectors/sendBoxValue.ts","../src/sagas/postVoiceActivitySaga.ts","../src/utils/onErrorResumeNext.ts","../src/utils/voiceActivity/getVoiceActivityRole.ts","../src/utils/voiceActivity/getVoiceActivityText.ts","../src/actions/clearSuggestedActions.ts","../src/buildInfo.ts","../src/index.ts"],"sourcesContent":["const CONNECT = 'DIRECT_LINE/CONNECT';\nconst CONNECT_FULFILLED = `${CONNECT}_FULFILLED`;\nconst CONNECT_FULFILLING = `${CONNECT}_FULFILLING`;\nconst CONNECT_PENDING = `${CONNECT}_PENDING`;\nconst CONNECT_REJECTED = `${CONNECT}_REJECTED`;\nconst CONNECT_STILL_PENDING = `${CONNECT}_STILL_PENDING`;\n\nexport default function connect({\n  directLine,\n  userID,\n  username\n}: {\n  readonly directLine: any;\n  readonly userID: string;\n  readonly username: string;\n}) {\n  return {\n    type: CONNECT,\n    payload: {\n      directLine,\n      userID,\n      username\n    }\n  };\n}\n\nexport { CONNECT, CONNECT_FULFILLED, CONNECT_FULFILLING, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING };\n","const DISCONNECT = 'DIRECT_LINE/DISCONNECT';\nconst DISCONNECT_PENDING = `${DISCONNECT}_PENDING`;\nconst DISCONNECT_REJECTED = `${DISCONNECT}_REJECTED`;\nconst DISCONNECT_FULFILLED = `${DISCONNECT}_FULFILLED`;\n\nexport default function disconnect() {\n  return {\n    type: DISCONNECT\n  };\n}\n\nexport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_REJECTED, DISCONNECT_FULFILLED };\n","const DISMISS_NOTIFICATION = 'WEB_CHAT/DISMISS_NOTIFICATION';\n\ntype DismissNotificationAction = {\n  payload: { id: string };\n  type: typeof DISMISS_NOTIFICATION;\n};\n\nfunction dismissNotification(id: string): DismissNotificationAction {\n  return {\n    payload: { id },\n    type: DISMISS_NOTIFICATION\n  };\n}\n\nexport default dismissNotification;\n\nexport { DISMISS_NOTIFICATION };\n\nexport type { DismissNotificationAction };\n","const EMIT_TYPING_INDICATOR = 'WEB_CHAT/EMIT_TYPING_INDICATOR';\n\nexport default function emitTypingIndicator() {\n  return {\n    type: EMIT_TYPING_INDICATOR\n  };\n}\n\nexport { EMIT_TYPING_INDICATOR };\n","type MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\ntype MarkActivityAction = {\n  payload: { activityID: string; name: string; value: any };\n  type: MarkActivityActionType;\n};\n\nconst MARK_ACTIVITY: MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\nfunction markActivity({ id: activityID }: { id: string }, name: string, value: any): MarkActivityAction {\n  return {\n    type: MARK_ACTIVITY,\n    payload: {\n      activityID,\n      name,\n      value\n    }\n  };\n}\n\nexport default markActivity;\nexport { MARK_ACTIVITY };\nexport type { MarkActivityAction };\n","const VOICE_MUTE_RECORDING = 'WEB_CHAT/VOICE_MUTE_RECORDING' as const;\n\ntype VoiceMuteRecordingAction = {\n  type: typeof VOICE_MUTE_RECORDING;\n};\n\nfunction muteVoiceRecording(): VoiceMuteRecordingAction {\n  return {\n    type: VOICE_MUTE_RECORDING\n  };\n}\n\nexport default muteVoiceRecording;\n\nexport { VOICE_MUTE_RECORDING };\n\nexport type { VoiceMuteRecordingAction };\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\ntype PostActivityFulfilledActionType = 'DIRECT_LINE/POST_ACTIVITY_FULFILLED';\ntype PostActivityImpededActionType = 'DIRECT_LINE/POST_ACTIVITY_IMPEDED';\ntype PostActivityPendingActionType = 'DIRECT_LINE/POST_ACTIVITY_PENDING';\ntype PostActivityRejectedActionType = 'DIRECT_LINE/POST_ACTIVITY_REJECTED';\n\ntype PostActivityAction = {\n  meta: { method: string };\n  payload: { activity: WebChatActivity };\n  type: PostActivityActionType;\n};\n\ntype PostActivityFulfilledAction = {\n  meta: { clientActivityID: string; method: string };\n  payload: { activity: WebChatActivity };\n  type: PostActivityFulfilledActionType;\n};\n\ntype PostActivityImpededAction = {\n  meta: { clientActivityID: string; method: string };\n  payload: { activity: WebChatActivity };\n  type: PostActivityImpededActionType;\n};\n\ntype PostActivityPendingAction = {\n  meta: { clientActivityID: string; method: string };\n  payload: { activity: WebChatActivity };\n  type: PostActivityPendingActionType;\n};\n\ntype PostActivityRejectedAction = {\n  error: true;\n  meta: { clientActivityID: string; method: string };\n  payload: Error;\n  type: PostActivityRejectedActionType;\n};\n\nconst POST_ACTIVITY: PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\nconst POST_ACTIVITY_FULFILLED: PostActivityFulfilledActionType = `${POST_ACTIVITY}_FULFILLED`;\nconst POST_ACTIVITY_IMPEDED: PostActivityImpededActionType = `${POST_ACTIVITY}_IMPEDED`;\nconst POST_ACTIVITY_PENDING: PostActivityPendingActionType = `${POST_ACTIVITY}_PENDING`;\nconst POST_ACTIVITY_REJECTED: PostActivityRejectedActionType = `${POST_ACTIVITY}_REJECTED`;\n\nfunction postActivity(activity: WebChatActivity, method = 'keyboard'): PostActivityAction {\n  return {\n    type: POST_ACTIVITY,\n    meta: { method },\n    payload: { activity }\n  };\n}\n\nexport default postActivity;\nexport { POST_ACTIVITY, POST_ACTIVITY_FULFILLED, POST_ACTIVITY_IMPEDED, POST_ACTIVITY_PENDING, POST_ACTIVITY_REJECTED };\nexport type {\n  PostActivityAction,\n  PostActivityFulfilledAction,\n  PostActivityImpededAction,\n  PostActivityPendingAction,\n  PostActivityRejectedAction\n};\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\nconst VOICE_POST_ACTIVITY = 'WEB_CHAT/VOICE_POST_ACTIVITY' as const;\n\ntype VoicePostActivityAction = {\n  type: typeof VOICE_POST_ACTIVITY;\n  payload: { activity: WebChatActivity };\n};\n\nfunction postVoiceActivity(activity: WebChatActivity): VoicePostActivityAction {\n  return {\n    type: VOICE_POST_ACTIVITY,\n    payload: { activity }\n  };\n}\n\nexport default postVoiceActivity;\n\nexport { VOICE_POST_ACTIVITY };\n\nexport type { VoicePostActivityAction };\n","const VOICE_REGISTER_HANDLER = 'WEB_CHAT/VOICE_REGISTER_HANDLER' as const;\n\ntype VoiceHandler = {\n  queueAudio: (base64: string) => void;\n  stopAllAudio: () => void;\n};\n\ntype VoiceRegisterHandlerAction = {\n  type: typeof VOICE_REGISTER_HANDLER;\n  payload: { id: string; voiceHandler: VoiceHandler };\n};\n\nfunction registerVoiceHandler(id: string, voiceHandler: VoiceHandler): VoiceRegisterHandlerAction {\n  return {\n    type: VOICE_REGISTER_HANDLER,\n    payload: { id, voiceHandler }\n  };\n}\n\nexport default registerVoiceHandler;\n\nexport { VOICE_REGISTER_HANDLER };\n\nexport type { VoiceHandler, VoiceRegisterHandlerAction };\n","const SEND_EVENT = 'WEB_CHAT/SEND_EVENT';\n\nexport default function sendEvent(name: string, value: any) {\n  return {\n    type: SEND_EVENT,\n    payload: { name, value }\n  };\n}\n\nexport { SEND_EVENT };\n","const SEND_FILES = 'WEB_CHAT/SEND_FILES';\n\n// TODO: [P1] We could obsolete this or dispatch { type: SEND_MESSAGE } insetad.\nexport default function sendFiles(\n  files: readonly Readonly<{\n    name: string;\n    size: number;\n    url: string;\n    thumbnail?: string;\n  }>[]\n) {\n  return {\n    type: SEND_FILES,\n    payload: { files }\n  };\n}\n\nexport { SEND_FILES };\n","import { type SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst SEND_MESSAGE = 'WEB_CHAT/SEND_MESSAGE';\n\nexport default function sendMessage(\n  text: string | undefined,\n  method: string | undefined,\n  { attachments, channelData }: { attachments?: readonly SendBoxAttachment[]; channelData?: any } = {}\n) {\n  return {\n    type: SEND_MESSAGE,\n    payload: { attachments, channelData, method, text }\n  };\n}\n\nexport { SEND_MESSAGE };\n","const SEND_MESSAGE_BACK = 'WEB_CHAT/SEND_MESSAGE_BACK';\n\nexport default function sendMessageback(value: any, text: string | undefined, displayText: string | undefined) {\n  return {\n    type: SEND_MESSAGE_BACK,\n    payload: { displayText, text, value }\n  };\n}\n\nexport { SEND_MESSAGE_BACK };\n","const SEND_POST_BACK = 'WEB_CHAT/SEND_POST_BACK';\n\nexport default function sendPostback(value: any) {\n  return {\n    type: SEND_POST_BACK,\n    payload: { value }\n  };\n}\n\nexport { SEND_POST_BACK };\n","const SET_DICTATE_INTERIMS = 'WEB_CHAT/SET_DICTATE_INTERIMS';\n\nexport default function setDictateInterims(dictateInterims: readonly string[]) {\n  return {\n    type: SET_DICTATE_INTERIMS,\n    payload: { dictateInterims }\n  };\n}\n\nexport { SET_DICTATE_INTERIMS };\n","const SET_DICTATE_STATE = 'WEB_CHAT/SET_DICTATE_STATE';\n\nexport default function setDictateState(dictateState: number) {\n  return {\n    type: SET_DICTATE_STATE,\n    payload: { dictateState }\n  };\n}\n\nexport { SET_DICTATE_STATE };\n","const SET_LANGUAGE = 'WEB_CHAT/SET_LANGUAGE';\n\nexport default function setLanguage(language: string) {\n  return {\n    type: SET_LANGUAGE,\n    payload: { language }\n  };\n}\n\nexport { SET_LANGUAGE };\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 36] }] */\n\nimport random from 'math-random';\n\nexport default function uniqueID(): string {\n  return random().toString(36).substring(2);\n}\n","import uniqueID from '../utils/uniqueID';\n\nimport type { Notification } from '../types/internal/Notification';\n\nconst SET_NOTIFICATION = 'WEB_CHAT/SET_NOTIFICATION';\n\ntype SetNotificationAction = {\n  payload: Omit<Notification, 'timestamp'>;\n  type: typeof SET_NOTIFICATION;\n};\n\nexport default function setNotification({\n  alt,\n  data,\n  id,\n  level,\n  message\n}: Omit<Notification, 'timestamp'>): SetNotificationAction {\n  if (!id || typeof id !== 'string') {\n    console.warn(\n      'botframework-webchat: The \"id\" argument passed to \"setNotification\" must be a string; defaulting to a random value.'\n    );\n\n    id = uniqueID();\n  }\n\n  if (!level || typeof level !== 'string') {\n    console.warn(\n      'botframework-webchat: The \"level\" argument passed to \"setNotification\" must be a string; defaulting to \"info\".'\n    );\n\n    level = 'info';\n  }\n\n  return {\n    type: SET_NOTIFICATION,\n    payload: { alt, data, id, level, message }\n  };\n}\n\nexport { SET_NOTIFICATION };\n\nexport type { SetNotificationAction };\n","const SET_SEND_BOX = 'WEB_CHAT/SET_SEND_BOX';\n\nexport default function setSendBox(text: string) {\n  return {\n    type: SET_SEND_BOX,\n    payload: { text }\n  };\n}\n\nexport { SET_SEND_BOX };\n","import type { SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst SET_SEND_BOX_ATTACHMENTS = 'WEB_CHAT/SET_SEND_BOX_ATTACHMENTS';\n\nexport default function setSendBoxAttachments(attachments: readonly SendBoxAttachment[]) {\n  return {\n    type: SET_SEND_BOX_ATTACHMENTS,\n    payload: { attachments }\n  };\n}\n\nexport { SET_SEND_BOX_ATTACHMENTS };\n","const SET_SEND_TIMEOUT = 'WEB_CHAT/SET_SEND_TIMEOUT';\n\nexport default function setSendTimeout(sendTimeout: number) {\n  return {\n    type: SET_SEND_TIMEOUT,\n    payload: { sendTimeout }\n  };\n}\n\nexport { SET_SEND_TIMEOUT };\n","const SET_SEND_TYPING_INDICATOR = 'WEB_CHAT/SET_SEND_TYPING_INDICATOR';\n\ntype SetSendTypingIndicatorAction = {\n  payload: { sendTypingIndicator: boolean };\n  type: typeof SET_SEND_TYPING_INDICATOR;\n};\n\nexport default function setSendTypingIndicator(value: boolean): SetSendTypingIndicatorAction {\n  return {\n    payload: { sendTypingIndicator: !!value },\n    type: SET_SEND_TYPING_INDICATOR\n  };\n}\n\nexport { SET_SEND_TYPING_INDICATOR };\n\nexport type { SetSendTypingIndicatorAction };\n","const VOICE_SET_STATE = 'WEB_CHAT/VOICE_SET_STATE' as const;\n\ntype VoiceState = 'idle' | 'listening' | 'user_speaking' | 'processing' | 'bot_speaking';\n\ntype VoiceSetStateAction = {\n  type: typeof VOICE_SET_STATE;\n  payload: { voiceState: VoiceState };\n};\n\nfunction setVoiceState(voiceState: VoiceState): VoiceSetStateAction {\n  return {\n    type: VOICE_SET_STATE,\n    payload: { voiceState }\n  };\n}\n\nexport default setVoiceState;\n\nexport { VOICE_SET_STATE };\n\nexport type { VoiceState, VoiceSetStateAction };\n","const START_DICTATE = 'WEB_CHAT/START_DICTATE';\n\nexport default function startDictate() {\n  return { type: START_DICTATE };\n}\n\nexport { START_DICTATE };\n","const START_SPEAKING_ACTIVITY = 'WEB_CHAT/START_SPEAKING';\n\nexport default function startSpeakingActivity() {\n  return {\n    type: START_SPEAKING_ACTIVITY\n  };\n}\n\nexport { START_SPEAKING_ACTIVITY };\n","const VOICE_START_RECORDING = 'WEB_CHAT/VOICE_START_RECORDING' as const;\n\ntype VoiceStartRecordingAction = {\n  type: typeof VOICE_START_RECORDING;\n};\n\nfunction startVoiceRecording(): VoiceStartRecordingAction {\n  return {\n    type: VOICE_START_RECORDING\n  };\n}\n\nexport default startVoiceRecording;\n\nexport { VOICE_START_RECORDING };\n\nexport type { VoiceStartRecordingAction };\n","const STOP_DICTATE = 'WEB_CHAT/STOP_DICTATE';\n\nexport default function stopDictate() {\n  return { type: STOP_DICTATE };\n}\n\nexport { STOP_DICTATE };\n","const STOP_SPEAKING_ACTIVITY = 'WEB_CHAT/STOP_SPEAKING';\n\nexport default function stopSpeakingActivity() {\n  return {\n    type: STOP_SPEAKING_ACTIVITY\n  };\n}\n\nexport { STOP_SPEAKING_ACTIVITY };\n","const VOICE_STOP_RECORDING = 'WEB_CHAT/VOICE_STOP_RECORDING' as const;\n\ntype VoiceStopRecordingAction = {\n  type: typeof VOICE_STOP_RECORDING;\n};\n\nfunction stopVoiceRecording(): VoiceStopRecordingAction {\n  return {\n    type: VOICE_STOP_RECORDING\n  };\n}\n\nexport default stopVoiceRecording;\n\nexport { VOICE_STOP_RECORDING };\n\nexport type { VoiceStopRecordingAction };\n","const SUBMIT_SEND_BOX = 'WEB_CHAT/SUBMIT_SEND_BOX';\n\nexport default function submitSendBox(method = 'keyboard', { channelData } = { channelData: undefined }) {\n  return {\n    type: SUBMIT_SEND_BOX,\n    payload: { channelData, method }\n  };\n}\n\nexport { SUBMIT_SEND_BOX };\n","const VOICE_UNMUTE_RECORDING = 'WEB_CHAT/VOICE_UNMUTE_RECORDING' as const;\n\ntype VoiceUnmuteRecordingAction = {\n  type: typeof VOICE_UNMUTE_RECORDING;\n};\n\nfunction unmuteVoiceRecording(): VoiceUnmuteRecordingAction {\n  return {\n    type: VOICE_UNMUTE_RECORDING\n  };\n}\n\nexport default unmuteVoiceRecording;\n\nexport { VOICE_UNMUTE_RECORDING };\n\nexport type { VoiceUnmuteRecordingAction };\n","const VOICE_UNREGISTER_HANDLER = 'WEB_CHAT/VOICE_UNREGISTER_HANDLER' as const;\n\ntype VoiceUnregisterHandlerAction = {\n  type: typeof VOICE_UNREGISTER_HANDLER;\n  payload: { id: string };\n};\n\nfunction unregisterVoiceHandler(id: string): VoiceUnregisterHandlerAction {\n  return {\n    type: VOICE_UNREGISTER_HANDLER,\n    payload: { id }\n  };\n}\n\nexport default unregisterVoiceHandler;\n\nexport { VOICE_UNREGISTER_HANDLER };\n\nexport type { VoiceUnregisterHandlerAction };\n","/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SEND_FAILED = 'send failed' as const;\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENDING = 'sending' as const;\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENT = 'sent' as const;\n\nexport { SEND_FAILED, SENDING, SENT };\n","const IDLE = 0 as const;\nconst WILL_START = 1 as const;\n// eslint-disable-next-line no-magic-numbers\nconst STARTING = 2 as const;\n// eslint-disable-next-line no-magic-numbers\nconst DICTATING = 3 as const;\n// eslint-disable-next-line no-magic-numbers\nconst STOPPING = 4 as const;\n\nexport { DICTATING, IDLE, STARTING, STOPPING, WILL_START };\n","import { composeWithDevTools } from '@redux-devtools/extension';\nimport { applyMiddleware, createStore as createReduxStore, type Middleware, type Store } from 'redux';\nimport createSagaMiddleware from 'redux-saga';\n\nimport sagaError from './actions/sagaError';\nimport createReducer from './createReducer';\nimport createSagas from './createSagas';\nimport { RestrictedStoreDebugAPI } from './types/StoreDebugAPI';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport StoreDebugAPIRegistry from './internal/StoreDebugAPIRegistry';\n\ntype CreateStoreOptions = {\n  /**\n   * True, to enable Redux development tools, otherwise, false.\n   *\n   * Because Web Chat use sagas for business logics, some store state are keep at JavaScript heaps.\n   * Time-travelling and saving/restoring store state are not supported.\n   */\n  devTools?: boolean;\n\n  /**\n   * Ponyfill to overrides specific global scope members.\n   *\n   * This option is for development use only. Not all features in Web Chat are ponyfilled.\n   *\n   * To fake timers, `setTimeout` and related functions can be passed to overrides the original global scope members.\n   *\n   * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details.\n   */\n  ponyfill?: Partial<GlobalScopePonyfill>;\n};\n\nfunction createEnhancerAndSagaMiddleware(getStore: () => any, ...middlewares: readonly Middleware[]) {\n  const sagaMiddleware = createSagaMiddleware({\n    onError: (...args) => {\n      const [err] = args;\n\n      console.error(err);\n\n      const store = getStore();\n\n      store && store.dispatch(sagaError());\n    }\n  });\n\n  return {\n    enhancer: applyMiddleware(...middlewares, sagaMiddleware),\n    sagaMiddleware\n  };\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\n\n// The complexity is introduced by the check of ponyfill.\n// eslint-disable-next-line complexity\nexport function withOptions(\n  options: CreateStoreOptions,\n  initialState?: any | undefined,\n  ...middlewares: readonly Middleware[]\n): Store {\n  // IE Mode does not have `globalThis`.\n  const globalThisOrWindow = typeof globalThis === 'undefined' ? window : globalThis;\n  const ponyfillFromOptions: Partial<GlobalScopePonyfill> = options.ponyfill || {};\n\n  // TODO: [P2] Dedupe: when we have an utility package, move this code there and mark it as internal use.\n  const ponyfill: GlobalScopePonyfill = {\n    cancelAnimationFrame:\n      ponyfillFromOptions.cancelAnimationFrame ||\n      // Using clock functions from global if not provided.\n      // eslint-disable-next-line no-restricted-globals\n      (typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame.bind(globalThisOrWindow) : undefined),\n    cancelIdleCallback:\n      ponyfillFromOptions.cancelIdleCallback ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof cancelIdleCallback === 'function' ? cancelIdleCallback.bind(globalThisOrWindow) : undefined),\n    clearImmediate:\n      ponyfillFromOptions.clearImmediate ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof clearImmediate === 'function' ? clearImmediate.bind(globalThisOrWindow) : undefined),\n    clearInterval:\n      ponyfillFromOptions.clearInterval ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof clearInterval === 'function' ? clearInterval.bind(globalThisOrWindow) : undefined),\n    clearTimeout:\n      ponyfillFromOptions.clearTimeout ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof clearTimeout === 'function' ? clearTimeout.bind(globalThisOrWindow) : undefined),\n    // eslint-disable-next-line no-restricted-globals\n    Date: ponyfillFromOptions.Date || Date,\n    requestAnimationFrame:\n      ponyfillFromOptions.requestAnimationFrame ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof requestAnimationFrame === 'function' ? requestAnimationFrame.bind(globalThisOrWindow) : undefined),\n    requestIdleCallback:\n      ponyfillFromOptions.requestIdleCallback ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof requestIdleCallback === 'function' ? requestIdleCallback.bind(globalThisOrWindow) : undefined),\n    setImmediate:\n      ponyfillFromOptions.setImmediate ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof setImmediate === 'function' ? setImmediate.bind(globalThisOrWindow) : undefined),\n    setInterval:\n      ponyfillFromOptions.setInterval ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof setInterval === 'function' ? setInterval.bind(globalThisOrWindow) : undefined),\n    setTimeout:\n      ponyfillFromOptions.setTimeout ||\n      // eslint-disable-next-line no-restricted-globals\n      (typeof setTimeout === 'function' ? setTimeout.bind(globalThisOrWindow) : undefined)\n  };\n\n  // We are doing lazy init and cyclic dependencies.\n  // eslint-disable-next-line prefer-const\n  let store: Store | undefined;\n\n  const restrictedStoreDebugAPI = new RestrictedStoreDebugAPI(() => store?.getState().activities);\n\n  // We are sure the \"getStore\" (first argument) is not called on \"createEnhancerAndSagaMiddleware()\".\n  const { enhancer, sagaMiddleware } = createEnhancerAndSagaMiddleware(() => store, ...middlewares);\n\n  store = createReduxStore(\n    createReducer(ponyfill, restrictedStoreDebugAPI),\n    initialState || {},\n    options.devTools ? composeWithDevTools(enhancer) : enhancer\n  );\n\n  // TODO: [P1] When we redesign the store and chat adapter, we should have the Debug API stored somewhere else.\n  StoreDebugAPIRegistry.set(store, restrictedStoreDebugAPI.toPublic());\n\n  // TODO: [P1] When we redesign the store and chat adapter, we shoulstore.getState().activities\n  sagaMiddleware.run(createSagas({ ponyfill }));\n\n  return store;\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\nexport default function createStore(initialState?: any, ...middlewares: readonly Middleware[]): Store {\n  return withOptions({}, initialState, ...middlewares);\n}\n\n/**\n * Creates a Redux store internally used by Web Chat, with Redux development tools.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n *\n * @deprecated Use `withOptions` instead and pass `{ devTools: true }`\n */\nexport function withDevTools(initialState?: any, ...middlewares: readonly Middleware[]): Store {\n  return withOptions({ devTools: true }, initialState, ...middlewares);\n}\n","const SAGA_ERROR = 'WEB_CHAT/SAGA_ERROR';\n\ntype SagaErrorAction = {\n  type: typeof SAGA_ERROR;\n};\n\nexport default function sagaError(): SagaErrorAction {\n  return { type: SAGA_ERROR };\n}\n\nexport { SAGA_ERROR };\n\nexport type { SagaErrorAction };\n","import { combineReducers } from 'redux';\n\nimport combineActivitiesReducer from './reducers/activities/combineActivitiesReducer';\nimport connectivityStatus from './reducers/connectivityStatus';\nimport createInternalReducer from './reducers/createInternalReducer';\nimport createNotificationsReducer from './reducers/createNotificationsReducer';\nimport createTypingReducer from './reducers/createTypingReducer';\nimport dictateInterims from './reducers/dictateInterims';\nimport dictateState from './reducers/dictateState';\nimport language from './reducers/language';\nimport readyState from './reducers/readyState';\nimport referenceGrammarID from './reducers/referenceGrammarID';\nimport sendBoxAttachments from './reducers/sendBoxAttachments';\nimport sendBoxValue from './reducers/sendBoxValue';\nimport sendTimeout from './reducers/sendTimeout';\nimport sendTypingIndicator from './reducers/sendTypingIndicator';\nimport shouldSpeakIncomingActivity from './reducers/shouldSpeakIncomingActivity';\nimport suggestedActions from './reducers/suggestedActions';\nimport suggestedActionsOriginActivity from './reducers/suggestedActionsOriginActivity';\nimport voiceActivity from './reducers/voiceActivity';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { RestrictedStoreDebugAPI } from './types/StoreDebugAPI';\n\nexport default function createReducer(ponyfill: GlobalScopePonyfill, restrictedStoreDebugAPI: RestrictedStoreDebugAPI) {\n  return combineActivitiesReducer(\n    ponyfill,\n    restrictedStoreDebugAPI,\n    combineReducers({\n      connectivityStatus,\n      dictateInterims,\n      dictateState,\n      internal: createInternalReducer(ponyfill),\n      language,\n      notifications: createNotificationsReducer(ponyfill),\n      readyState,\n      referenceGrammarID,\n      sendBoxAttachments,\n      sendBoxValue,\n      sendTimeout,\n      sendTypingIndicator,\n      shouldSpeakIncomingActivity,\n      suggestedActions,\n      suggestedActionsOriginActivity,\n      typing: createTypingReducer(ponyfill),\n      voice: voiceActivity\n    })\n  );\n}\n","var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,e)=>{if(a&&typeof a==\"object\"||typeof a==\"function\")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,\"default\",{value:b,enumerable:!0}):c,b));export{m as a,n as b};\n//# sourceMappingURL=chunk-73SFLUWV.mjs.map","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = function () { /* empty */ }.bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.49.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',\n  license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.1.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.toSpliced` method\n// https://tc39.es/ecma262/#sec-array.prototype.tospliced\n$({ target: 'Array', proto: true }, {\n  toSpliced: function toSpliced(start, deleteCount /* , ...items */) {\n    var O = toIndexedObject(this);\n    var len = lengthOfArrayLike(O);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var k = 0;\n    var insertCount, actualDeleteCount, newLen, A;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n    }\n    newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n    A = $Array(newLen);\n\n    for (; k < actualStart; k++) createProperty(A, k, O[k]);\n    for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);\n    for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);\n\n    return A;\n  }\n});\n\naddToUnscopables('toSpliced');\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn;\n","'use strict';\nrequire('../../modules/es.array.to-spliced');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'toSpliced');\n","'use strict';\nvar parent = require('../../es/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.array.to-spliced');\n","'use strict';\nvar parent = require('../../stable/array/to-spliced');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.array.to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/array/to-spliced');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/array/to-spliced');\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n  return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n  if (userAgentStartsWith('Bun/')) return 'BUN';\n  if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n  if (userAgentStartsWith('Deno/')) return 'DENO';\n  if (userAgentStartsWith('Node.js/')) return 'NODE';\n  if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n  if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n  if (classof(globalThis.process) === 'process') return 'NODE';\n  if (globalThis.window && globalThis.document) return 'BROWSER';\n  return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n  if (options && options.enumerable) target[key] = value;\n  else createNonEnumerableProperty(target, key, value);\n  return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n// eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n  var target = STATIC ? it : it && it.prototype;\n  if (target) {\n    if (!hasOwn(target, TO_STRING_TAG)) {\n      defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n    }\n    if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n      createNonEnumerableProperty(target, 'toString', toString);\n    }\n  }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineBuiltInAccessor(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && /applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  $location = globalThis.location;\n});\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar eventListener = function (event) {\n  run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n  // old engines have not location.origin\n  globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(handler) {\n    validateArgumentsLength(arguments.length, 1);\n    var fn = isCallable(handler) ? handler : Function(handler);\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(fn, undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = eventListener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    globalThis.addEventListener &&\n    isCallable(globalThis.postMessage) &&\n    !globalThis.importScripts &&\n    $location && $location.protocol !== 'file:' &&\n    !fails(globalPostMessageDefer)\n  ) {\n    defer = globalPostMessageDefer;\n    globalThis.addEventListener('message', eventListener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n  if (!DESCRIPTORS) return globalThis[name];\n  var descriptor = getOwnPropertyDescriptor(globalThis, name);\n  return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n  this.head = null;\n  this.tail = null;\n};\n\nQueue.prototype = {\n  add: function (item) {\n    var entry = { item: item, next: null };\n    var tail = this.tail;\n    if (tail) tail.next = entry;\n    else this.head = entry;\n    this.tail = entry;\n  },\n  get: function () {\n    var entry = this.head;\n    if (entry) {\n      var next = this.head = entry.next;\n      if (next === null) this.tail = null;\n      return entry.item;\n    }\n  }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n  var queue = new Queue();\n\n  var flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (fn = queue.get()) try {\n      fn();\n    } catch (error) {\n      if (queue.head) notify();\n      throw error;\n    }\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessage\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // `webpack` dev server bug on IE global methods - use bind(fn, global)\n    macrotask = bind(macrotask, globalThis);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n\n  microtask = function (fn) {\n    if (!queue.head) notify();\n    queue.add(fn);\n  };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n  try {\n    // eslint-disable-next-line no-console -- safe\n    arguments.length === 1 ? console.error(a) : console.error(a, b);\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n  if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n    // Detect correctness of subclassing with @@species support\n    var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n    var FakePromise = function (exec) {\n      exec(function () { /* empty */ }, function () { /* empty */ });\n    };\n    var constructor = promise.constructor = {};\n    constructor[SPECIES] = FakePromise;\n    SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n    if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n  CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n  REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n  SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n  var value = state.value;\n  var ok = state.state === FULFILLED;\n  var handler = ok ? reaction.ok : reaction.fail;\n  var resolve = reaction.resolve;\n  var reject = reaction.reject;\n  var domain = reaction.domain;\n  var result, then, exited;\n  try {\n    if (handler) {\n      if (!ok) {\n        if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n        state.rejection = HANDLED;\n      }\n      if (handler === true) result = value;\n      else {\n        if (domain) domain.enter();\n        result = handler(value); // can throw\n        if (domain) {\n          domain.exit();\n          exited = true;\n        }\n      }\n      if (result === reaction.promise) {\n        reject(new TypeError('Promise-chain cycle'));\n      } else if (then = isThenable(result)) {\n        call(then, result, resolve, reject);\n      } else resolve(result);\n    } else reject(value);\n  } catch (error) {\n    if (domain && !exited) domain.exit();\n    reject(error);\n  }\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  microtask(function () {\n    var reactions = state.reactions;\n    var reaction;\n    while (reaction = reactions.get()) {\n      callReaction(reaction, state);\n    }\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    globalThis.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, globalThis, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalPromiseState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n\n  PromisePrototype = PromiseConstructor.prototype;\n\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: new Queue(),\n      rejection: false,\n      state: PENDING,\n      value: null\n    });\n  };\n\n  // `Promise.prototype.then` method\n  // https://tc39.es/ecma262/#sec-promise.prototype.then\n  Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n    var state = getInternalPromiseState(this);\n    var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n    state.parent = true;\n    reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n    reaction.fail = isCallable(onRejected) && onRejected;\n    reaction.domain = IS_NODE ? process.domain : undefined;\n    if (state.state === PENDING) state.reactions.add(reaction);\n    else microtask(function () {\n      callReaction(reaction, state);\n    });\n    return reaction.promise;\n  });\n\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalPromiseState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!NATIVE_PROMISE_SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n// `Promise` constructor\n// https://tc39.es/ecma262/#sec-promise-executor\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  Promise: PromiseConstructor\n});\n\nPromiseWrapper = path.Promise;\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_RECORD = !!(options && options.IS_RECORD);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    var $iterator = iterator;\n    iterator = undefined;\n    if ($iterator) iteratorClose($iterator, 'normal');\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_RECORD) {\n    iterator = iterable.iterator;\n  } else if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = IS_RECORD ? iterable.next : iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    // `IteratorValue` errors should propagate without closing the iterator\n    var value = step.value;\n    try {\n      result = callFn(value);\n    } catch (error) {\n      if (iterator) iteratorClose(iterator, 'throw', error);\n      else throw error;\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  try {\n    if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n  NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n  'catch': function (onRejected) {\n    return this.then(undefined, onRejected);\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n  var method = getBuiltIn('Promise').prototype['catch'];\n  if (NativePromisePrototype['catch'] !== method) {\n    defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n  reject: function reject(r) {\n    var capability = newPromiseCapabilityModule.f(this);\n    var capabilityReject = capability.reject;\n    capabilityReject(r);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n  resolve: function resolve(x) {\n    return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n  }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://tc39.es/ecma262/#sec-promise.withResolvers\n$({ target: 'Promise', stat: true }, {\n  withResolvers: function withResolvers() {\n    var promiseCapability = newPromiseCapabilityModule.f(this);\n    return {\n      promise: promiseCapability.promise,\n      resolve: promiseCapability.resolve,\n      reject: promiseCapability.reject\n    };\n  }\n});\n","'use strict';\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.with-resolvers');\nvar call = require('../../internals/function-call');\nvar isCallable = require('../../internals/is-callable');\nvar path = require('../../internals/path');\n\nvar Promise = path.Promise;\nvar promiseWithResolvers = Promise.withResolvers;\n\nmodule.exports = function withResolvers() {\n  return call(promiseWithResolvers, isCallable(this) ? this : Promise);\n};\n","'use strict';\nvar parent = require('../../es/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.with-resolvers');\n","'use strict';\nvar parent = require('../../stable/promise/with-resolvers');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/promise/with-resolvers');\n","/// <reference lib=\"dom\" />\n\n// Courtesy of https://stackoverflow.com/a/67243723.\nfunction kebabCase(value: string): string {\n  return value.replace(/[A-Z]+(?![a-z])|[A-Z]/gu, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n}\n\nexport default function setMetaTag(name: string, content: string): void;\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined>): void;\n\nexport default function setMetaTag(name: string, contentMap: ReadonlyMap<string, string | undefined> | string): void {\n  try {\n    const { document } = globalThis;\n\n    if (typeof document !== 'undefined' && document.createElement && document.head && document.head.appendChild) {\n      const meta = document.querySelector(`html meta[name=\"${encodeURI(name)}\"]`) || document.createElement('meta');\n\n      meta.setAttribute('name', name);\n      meta.setAttribute(\n        'content',\n        typeof contentMap === 'string'\n          ? contentMap\n          : Array.from(contentMap.entries())\n              .map(([key, value]) => {\n                const name = kebabCase(encodeURIComponent(key));\n\n                return typeof value === 'undefined' ? name : `${name}=${encodeURIComponent(value)}`;\n              })\n              .join('; ')\n      );\n\n      document.head.appendChild(meta);\n    }\n  } catch {\n    // Intentionally left blank.\n  }\n}\n","import setMetaTag from './setMetaTag';\n\ntype BaseBuildInfoObject = {\n  readonly buildTool?: string | undefined;\n  readonly moduleFormat?: string | undefined;\n  readonly version?: string | undefined;\n};\n\ninterface ReadonlyBuildInfo {\n  get name(): string;\n  get object(): BaseBuildInfoObject;\n  get version(): string | undefined;\n\n  delete(key: string): void;\n  get(key: string): string | undefined;\n  set(key: 'variant', value: 'full' | 'full-es5' | 'minimal'): void;\n  set(key: string, value: string | undefined): void;\n}\n\nclass BuildInfo implements ReadonlyBuildInfo {\n  constructor(name: string) {\n    this.#name = name;\n  }\n\n  #map = new Map<string, string | undefined>();\n  #name: string;\n  #object: BaseBuildInfoObject = {};\n\n  get name() {\n    return this.#name;\n  }\n\n  get object() {\n    return this.#object;\n  }\n\n  get version(): string | undefined {\n    return this.#map.get('version');\n  }\n\n  #commit() {\n    setMetaTag(this.name, this.#map);\n\n    this.version && setMetaTag(`${this.name}:version`, this.version);\n  }\n\n  delete(key: string) {\n    this.#map.delete(key);\n  }\n\n  get(key: string): string | undefined {\n    return this.#map.get(key);\n  }\n\n  set(key: string, value: string | undefined): void {\n    this.#map.set(key, value);\n\n    Object.defineProperty(this.#object, key, {\n      configurable: true,\n      enumerable: true,\n      value,\n      writable: false\n    });\n\n    this.#commit();\n  }\n}\n\nfunction createBuildInfo(name: 'botframework-webchat' | `botframework-webchat:${string}`): ReadonlyBuildInfo {\n  return new BuildInfo(name);\n}\n\nexport default createBuildInfo;\nexport { type BuildInfo, type ReadonlyBuildInfo };\n","export default function once<P extends any[]>(fn: (...args: P) => void): (...args: P) => void {\n  let done = false;\n\n  return (...args) => {\n    if (!done) {\n      fn(...args);\n      done = true;\n    }\n  };\n}\n","import once from './private/once';\n\nexport default function warnOnce(message: string): (...args: any[]) => void {\n  return once((...args: any[]) => console.warn(`botframework-webchat: ${message}`, ...args));\n}\n","import warnOnce from './warnOnce';\n\nconst PROPERTY_DENYLIST = new Set<string | symbol>([\n  '__defineGetter__',\n  '__defineSetter__',\n  '__lookupGetter__',\n  '__lookupSetter__',\n  '__proto__',\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'prototype',\n  'toString',\n  'valueOf'\n]);\n\nexport default function deprecateObject<T extends { [key: string | symbol]: any }>(namespace: T, message: string): T {\n  const warnDeprecation = warnOnce(message);\n\n  return new Proxy<T>(namespace, {\n    get(target, p) {\n      if (\n        !PROPERTY_DENYLIST.has(p) &&\n        (typeof p === 'string'\n          ? Object.getOwnPropertyNames(target).includes(p)\n          : Object.getOwnPropertySymbols(target).includes(p))\n      ) {\n        warnDeprecation(p);\n\n        // Only can get own properties.\n        // eslint-disable-next-line security/detect-object-injection\n        return target[p];\n      }\n    }\n  });\n}\n","const FORBIDDEN_PROPERTY_NAMES: readonly string[] = Object.freeze(\n  Array.from(\n    new Set([\n      // As-of writing, `Object.prototype` includes:\n      //   __defineGetter__\n      //   __defineSetter__\n      //   __lookupGetter__\n      //   __lookupSetter\n      //   __proto__\n      //   constructor\n      //   hasOwnProperty\n      //   isPrototypeOf\n      //   propertyIsEnumerable\n      //   toLocaleString\n      //   toString\n      //   valueOf\n      ...Object.getOwnPropertyNames(Object.prototype),\n\n      'prototype'\n    ])\n  )\n);\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n  return FORBIDDEN_PROPERTY_NAMES.includes(propertyName);\n}\n","const OBJECT_PROTOTYPE = Object.prototype;\n\nexport default function isPlainObject(obj: unknown): boolean {\n  return Object.getPrototypeOf(obj) === OBJECT_PROTOTYPE;\n}\n","const MAX_ITERATION = 1_000_000;\n\nexport default function iterateEquals<T>(x: Iterable<T>, y: Iterable<T>): boolean {\n  const xIterator = x[Symbol.iterator]();\n  const yIterator = y[Symbol.iterator]();\n\n  if (Object.is(xIterator, yIterator)) {\n    throw new Error('Must not pass same instance twice');\n  }\n\n  for (let count = 0; count < MAX_ITERATION; count++) {\n    const resultX = xIterator.next();\n    const resultY = yIterator.next();\n\n    const { done: xDone } = resultX;\n    const { done: yDone } = resultY;\n\n    if (xDone && yDone) {\n      return true;\n    } else if (xDone || yDone || !Object.is(resultX.value, resultY.value)) {\n      break;\n    }\n  }\n\n  return false;\n}\n","const EMPTY_ARRAY: readonly any[] = Object.freeze([]);\n\n/** @deprecated Will be removed on or after 2028-03-16. */\nexport default function singleToArray<T>(singleOrArray: T | readonly T[]): readonly T[] {\n  return typeof singleOrArray === 'undefined'\n    ? (EMPTY_ARRAY as readonly T[])\n    : Object.freeze(Array.isArray(singleOrArray) ? [...singleOrArray] : [singleOrArray]);\n}\n","// @ts-expect-error: no types available\nimport coreJSToSpliced from 'core-js-pure/features/array/to-spliced.js';\n\nexport default function toSpliced<T>(array: readonly T[], start: number, deleteCount: number, ...items: T[]): T[] {\n  return coreJSToSpliced(array, start, deleteCount, ...items);\n}\n","// Promise.withResolvers() is about 90 KiB.\n// @ts-expect-error: no types available\nimport coreJSWithResolvers from 'core-js-pure/features/promise/with-resolvers.js';\n\nexport type PromiseWithResolvers<T> = {\n  promise: Promise<T>;\n  reject: (error: unknown) => void;\n  resolve: (value: T) => void;\n};\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n  return coreJSWithResolvers();\n}\n","/* eslint-disable complexity */\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, -1] }] */\n\n// @ts-ignore No @types/simple-update-in\nimport updateIn from 'simple-update-in';\nimport { v4 } from 'uuid';\n\nimport { DELETE_ACTIVITY } from '../../actions/deleteActivity';\nimport { INCOMING_ACTIVITY } from '../../actions/incomingActivity';\nimport { MARK_ACTIVITY } from '../../actions/markActivity';\nimport {\n  POST_ACTIVITY_FULFILLED,\n  POST_ACTIVITY_IMPEDED,\n  POST_ACTIVITY_PENDING,\n  POST_ACTIVITY_REJECTED\n} from '../../actions/postActivity';\nimport { SENDING, SEND_FAILED, SENT } from '../../types/internal/SendStatus';\n\nimport type { Reducer } from 'redux';\nimport type { DeleteActivityAction } from '../../actions/deleteActivity';\nimport type { IncomingActivityAction } from '../../actions/incomingActivity';\nimport type { MarkActivityAction } from '../../actions/markActivity';\nimport type {\n  PostActivityFulfilledAction,\n  PostActivityImpededAction,\n  PostActivityPendingAction,\n  PostActivityRejectedAction\n} from '../../actions/postActivity';\nimport type { GlobalScopePonyfill } from '../../types/GlobalScopePonyfill';\nimport { type RestrictedStoreDebugAPI } from '../../types/StoreDebugAPI';\nimport type { WebChatActivity } from '../../types/WebChatActivity';\nimport patchActivity from './patchActivity';\nimport deleteActivityByLocalId from './sort/deleteActivityByLocalId';\nimport { generateLocalIdInActivity, getLocalIdFromActivity, setLocalIdInActivity } from './sort/property/LocalId';\nimport { getPositionFromActivity, setPositionInActivity } from './sort/property/Position';\nimport { setReceivedAtInActivity } from './sort/property/ReceivedAt';\nimport { querySendStatusFromOutgoingActivity, setSendStatusInOutgoingActivity } from './sort/property/SendStatus';\nimport queryLocalIdAByActivityId from './sort/queryLocalIdByActivityId';\nimport queryLocalIdAByClientActivityId from './sort/queryLocalIdByClientActivityId';\nimport type { State } from './sort/types';\nimport updateActivityChannelData, {\n  updateActivityChannelDataInternalSkipNameCheck\n} from './sort/updateActivityChannelData';\nimport upsert, { INITIAL_STATE } from './sort/upsert';\n\ntype GroupedActivitiesAction =\n  | DeleteActivityAction\n  | IncomingActivityAction\n  | MarkActivityAction\n  | PostActivityFulfilledAction\n  | PostActivityImpededAction\n  | PostActivityPendingAction\n  | PostActivityRejectedAction;\n\ntype GroupedActivitiesState = State;\n\nconst DEFAULT_STATE: GroupedActivitiesState = INITIAL_STATE;\n\nfunction getClientActivityID(activity: WebChatActivity): string | undefined {\n  return activity.channelData?.clientActivityID;\n}\n\nfunction createGroupedActivitiesReducer(\n  ponyfill: GlobalScopePonyfill,\n  restrictedStoreDebugAPI: RestrictedStoreDebugAPI\n): Reducer<GroupedActivitiesState, GroupedActivitiesAction> {\n  return function activities(\n    state: GroupedActivitiesState = DEFAULT_STATE,\n    action: GroupedActivitiesAction\n  ): GroupedActivitiesState {\n    switch (action.type) {\n      case DELETE_ACTIVITY: {\n        console.warn(\n          'botframework-webchat: Delete activity is being deprecated, please build your own chat adapter instead.'\n        );\n\n        const localId = queryLocalIdAByActivityId(state, action.payload.activityID);\n\n        if (localId) {\n          state = deleteActivityByLocalId(state, localId);\n        }\n\n        break;\n      }\n\n      case MARK_ACTIVITY: {\n        // We need to deprecate this, however, it is currently using by speech.\n\n        const localId = queryLocalIdAByActivityId(state, action.payload.activityID);\n\n        if (localId) {\n          state = updateActivityChannelData(state, localId, action.payload.name, action.payload.value);\n        }\n\n        break;\n      }\n\n      case POST_ACTIVITY_PENDING: {\n        let {\n          payload: { activity }\n        } = action;\n\n        // Patch activity so the outgoing blob: URL is not re-downloadable.\n        // Related to /__tests__/html2/accessibility/liveRegion/attachment/file.\n\n        // Why not re-downloadable?\n        // - When the activity echo back, the URL will be dummy (not downloadable)\n        // - Outgoing -> echo back, the UI will be \"downloadable\" and flash to \"not downloadable\" in a short amount of time\n\n        // TODO: [P0] Consider modify attachment middleware so all outgoing activity is not downloadable.\n\n        activity = patchActivity(activity, ponyfill);\n        activity = setReceivedAtInActivity(activity, ponyfill.Date.now());\n        activity = generateLocalIdInActivity(activity);\n        // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n        // Please refer to #4362 for details. Remove on or after 2024-07-31.\n        activity = updateIn(activity, ['channelData', 'state'], () => SENDING);\n        activity = setSendStatusInOutgoingActivity(activity, SENDING);\n\n        state = upsert(ponyfill, state, activity);\n\n        break;\n      }\n\n      case POST_ACTIVITY_IMPEDED: {\n        const localId = queryLocalIdAByClientActivityId(state, action.meta.clientActivityID);\n\n        if (localId) {\n          state = updateActivityChannelDataInternalSkipNameCheck(\n            state,\n            localId,\n            // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n            // Please refer to #4362 for details. Remove on or after 2024-07-31.\n            'state',\n            SEND_FAILED\n          );\n        }\n\n        break;\n      }\n\n      case POST_ACTIVITY_REJECTED: {\n        const localId = queryLocalIdAByClientActivityId(state, action.meta.clientActivityID);\n\n        if (localId) {\n          state = updateActivityChannelDataInternalSkipNameCheck(state, localId, 'state', SEND_FAILED);\n          state = updateActivityChannelDataInternalSkipNameCheck(state, localId, 'webchat:send-status', SEND_FAILED);\n        }\n\n        break;\n      }\n\n      case POST_ACTIVITY_FULFILLED: {\n        const localId = queryLocalIdAByClientActivityId(state, action.meta.clientActivityID);\n\n        const existingActivity = localId && state.activityMap.get(localId)?.activity;\n\n        if (!existingActivity) {\n          throw new Error(\n            'botframework-webchat-internal: On POST_ACTIVITY_FULFILLED, there is no activities with same client activity ID'\n          );\n        }\n\n        // We will replace the outgoing activity with the version from the server\n        let activity = patchActivity(action.payload.activity, ponyfill);\n\n        activity = updateIn(\n          activity,\n          // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n          // Please refer to #4362 for details. Remove on or after 2024-07-31.\n          ['channelData', 'state'],\n          () => SENT\n        );\n\n        activity = setSendStatusInOutgoingActivity(activity, SENT);\n        activity = setLocalIdInActivity(activity, localId);\n\n        // Keep existing position.\n        activity = setPositionInActivity(activity, getPositionFromActivity(existingActivity));\n\n        // Compare the INCOMING_ACTIVITY below:\n        // - POST_ACTIVITY_FULFILLED will mark send status as SENT\n        // - INCOMING_ACTIVITY will not change send status and leave it as-is\n        state = upsert(ponyfill, state, activity);\n\n        break;\n      }\n\n      case INCOMING_ACTIVITY: {\n        let {\n          payload: { activity }\n        } = action;\n\n        // We cannot call breakpoint inside Redux because DebugContext cannot call getState(), need setTimeout.\n        queueMicrotask(() => restrictedStoreDebugAPI.UNSAFE_callBreakpoint.incomingActivity({ activity }));\n\n        activity = patchActivity(activity, ponyfill);\n\n        // Clean internal properties if they were passed from chat adapter.\n        // These properties should not be passed from external systems.\n        activity = setLocalIdInActivity(activity, undefined);\n        activity = setPositionInActivity(activity, undefined);\n        activity = setSendStatusInOutgoingActivity(activity, undefined);\n\n        // If the incoming activity is an echo back, we should keep the existing `channelData['webchat:send-status']` field.\n        //\n        // Otherwise, it will fail following scenario:\n        //\n        // 1. Send an activity to the service\n        // 2. Service echoed back the activity\n        // 3. Service did NOT return `postActivity` call\n        // -  EXPECT: `channelData['webchat:send-status']` should be \"sending\".\n        // -  ACTUAL: `channelData['webchat:send-status']` is `undefined` because the activity get overwritten by the echo back activity.\n        //            The echo back activity contains no `channelData['webchat:send-status']`.\n        //\n        // While we are looking out for the scenario above, we should also look at the following scenarios:\n        //\n        // 1. Service restore chat history, including activities sent from the user. These activities has the following characteristics:\n        //    - They do not have `channelData['webchat:send-status']`;\n        //    - They do not have an ongoing `postActivitySaga`;\n        //    - They should not previously appear in the chat history.\n        // 2. We need to mark these activities as \"sent\".\n        //\n        // In the future, when we revamp our object model, we could use a different signal so we don't need the code below, for example:\n        //\n        // -  If `activity.id` is set, it is \"sent\", because the chat service assigned an ID to the activity;\n        // -  If `activity.id` is not set, it is either \"sending\" or \"send failed\";\n        //    - If `activity.channelData['webchat:send-failed-reason']` is set, it is \"send failed\" with the reason, otherwise;\n        //    - It is sending.\n        if (activity.from.role === 'user') {\n          const { id } = activity;\n          const clientActivityID = getClientActivityID(activity);\n\n          const existingLocalId = clientActivityID\n            ? queryLocalIdAByClientActivityId(state, clientActivityID)\n            : id\n              ? queryLocalIdAByActivityId(state, id)\n              : undefined;\n          const existingActivity = existingLocalId && state.activityMap.get(existingLocalId)?.activity;\n\n          if (existingActivity) {\n            activity = setLocalIdInActivity(activity, getLocalIdFromActivity(existingActivity));\n\n            const existingSendStatus = querySendStatusFromOutgoingActivity(existingActivity);\n\n            if (typeof existingSendStatus !== 'undefined') {\n              activity = setSendStatusInOutgoingActivity(activity, existingSendStatus);\n            }\n          } else {\n            activity = generateLocalIdInActivity(activity);\n\n            // If there are no existing activity, probably this activity is restored from chat history.\n            // All outgoing activities restored from service means they arrived at the service successfully.\n            // Thus, we are marking them as \"sent\".\n            activity = setSendStatusInOutgoingActivity(activity, SENT);\n          }\n        } else {\n          let { id } = activity;\n\n          if (!id) {\n            id = v4();\n\n            console.warn(\n              'botframework-webchat: Incoming activity must have \"id\" field set, assigning a random value as ID',\n              {\n                activity,\n                newActivityId: id\n              }\n            );\n\n            activity = updateIn(activity, ['id'], () => id);\n          }\n\n          const existingLocalId = queryLocalIdAByActivityId(state, id);\n\n          if (existingLocalId) {\n            activity = setLocalIdInActivity(activity, existingLocalId);\n          } else {\n            activity = generateLocalIdInActivity(activity);\n          }\n        }\n\n        state = upsert(ponyfill, state, activity);\n\n        break;\n      }\n\n      default:\n        break;\n    }\n\n    return state;\n  };\n}\n\nexport default createGroupedActivitiesReducer;\nexport type { GroupedActivitiesAction, GroupedActivitiesState };\n","type DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\ntype DeleteActivityAction = {\n  payload: { activityID: string };\n  type: DeleteActivityActionType;\n};\n\nconst DELETE_ACTIVITY: DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\nfunction deleteActivity(activityID: string): DeleteActivityAction {\n  return {\n    type: DELETE_ACTIVITY,\n    payload: { activityID }\n  };\n}\n\nexport default deleteActivity;\nexport { DELETE_ACTIVITY };\nexport type { DeleteActivityAction };\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\ntype IncomingActivityAction = {\n  payload: { activity: WebChatActivity };\n  type: IncomingActivityActionType;\n};\n\nconst INCOMING_ACTIVITY: IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\nfunction incomingActivity(activity: WebChatActivity): IncomingActivityAction {\n  return {\n    type: INCOMING_ACTIVITY,\n    payload: { activity }\n  };\n}\n\nexport default incomingActivity;\nexport { INCOMING_ACTIVITY };\nexport type { IncomingActivityAction };\n","// This type is only for this package only and help reducing size of the bundle.\n// Externals should use the string literal directly instead.\n\n// TODO: [P3] #4040 When improve treeshaking with named exports, we could export internals from `core` package.\n//       import { SENDING, SEND_FAILED, SENT } from 'botframework-webchat-core/internal/SendStatus';\n\nconst SENDING = 'sending';\nconst SEND_FAILED = 'send failed';\nconst SENT = 'sent';\n\ntype SendStatus = typeof SENDING | typeof SEND_FAILED | typeof SENT;\n\nexport { SENDING, SEND_FAILED, SENT };\nexport type { SendStatus };\n","// @ts-ignore No @types/simple-update-in\nimport updateIn from 'simple-update-in';\nimport type { GlobalScopePonyfill } from '../../types/GlobalScopePonyfill';\nimport type { WebChatActivity } from '../../types/WebChatActivity';\nimport { setReceivedAtInActivity } from './sort/property/ReceivedAt';\n\nconst DIRECT_LINE_PLACEHOLDER_URL =\n  'https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png';\n\n/**\n * Patches incoming activity.\n *\n * @returns A patched activity.\n */\nexport default function patchActivity(activity: WebChatActivity, { Date }: GlobalScopePonyfill): WebChatActivity {\n  // Direct Line channel will return a placeholder image for the user-uploaded image.\n  // As observed, the URL for the placeholder image is https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png.\n  // To make our code simpler, we are removing the value if \"contentUrl\" is pointing to a placeholder image.\n\n  // TODO: [P2] #2869 This \"contentURL\" removal code should be moved to DirectLineJS adapter.\n\n  // Also, if the \"contentURL\" starts with \"blob:\", this means the user is uploading a file (the URL is constructed by URL.createObjectURL)\n  // Although the copy/reference of the file is temporary in-memory, to make the UX consistent across page refresh, we do not allow the user to re-download the file either.\n\n  activity = updateIn(activity, ['attachments', () => true, 'contentUrl'], (contentUrl: string) => {\n    if (contentUrl !== DIRECT_LINE_PLACEHOLDER_URL && !/^blob:/iu.test(contentUrl)) {\n      return contentUrl;\n    }\n\n    return undefined;\n  });\n\n  activity = updateIn(activity, ['channelData'], (channelData: any) => ({ ...channelData }));\n  activity = setReceivedAtInActivity(activity, Date.now());\n\n  return activity;\n}\n","import type { HowToGroupingMapPartEntry } from '../types';\n\nexport default function computePartListTimestamp(partList: readonly HowToGroupingMapPartEntry[]): number | undefined {\n  return partList.reduce<number | undefined>(\n    (max, { logicalTimestamp }) =>\n      typeof logicalTimestamp === 'undefined' ? max : Math.max(max ?? -Infinity, logicalTimestamp),\n    undefined\n  );\n}\n","import type { Activity, LivestreamSessionMap, State } from '../types';\n\nfunction* yieldSessionActivities(\n  session: NonNullable<ReturnType<LivestreamSessionMap['get']>>,\n  activityMap: State['activityMap']\n): Generator<Activity> {\n  if (session.finalized) {\n    // After finalization, only yield the final revision — intermediate revisions are pruned.\n    // eslint-disable-next-line no-magic-numbers\n    const lastEntry = session.activities.at(-1);\n\n    lastEntry && (yield activityMap.get(lastEntry.activityLocalId)!.activity);\n  } else {\n    for (const activityEntry of session.activities) {\n      yield activityMap.get(activityEntry.activityLocalId)!.activity;\n    }\n  }\n}\n\nexport default function computeSortedActivities(\n  temporalState: Pick<State, 'activityMap' | 'howToGroupingMap' | 'livestreamSessionMap' | 'sortedChatHistoryList'>\n): Activity[] {\n  const { activityMap, howToGroupingMap, livestreamSessionMap, sortedChatHistoryList } = temporalState;\n\n  return Array.from<Activity>(\n    (function* () {\n      for (const sortedEntry of sortedChatHistoryList) {\n        if (sortedEntry.type === 'activity') {\n          // TODO: [P*] Instead of deferencing using internal ID, use pointer instead.\n          yield activityMap.get(sortedEntry.activityLocalId)!.activity;\n        } else if (sortedEntry.type === 'how to grouping') {\n          const howToGrouping = howToGroupingMap.get(sortedEntry.howToGroupingId)!;\n\n          for (const howToPartEntry of howToGrouping.partList) {\n            if (howToPartEntry.type === 'activity') {\n              yield activityMap.get(howToPartEntry.activityLocalId)!.activity;\n            } else {\n              howToPartEntry.type satisfies 'livestream session';\n\n              yield* yieldSessionActivities(livestreamSessionMap.get(howToPartEntry.livestreamSessionId)!, activityMap);\n            }\n          }\n        } else {\n          sortedEntry.type satisfies 'livestream session';\n\n          yield* yieldSessionActivities(livestreamSessionMap.get(sortedEntry.livestreamSessionId)!, activityMap);\n        }\n      }\n    })()\n  );\n}\n","import computePartListTimestamp from './private/computePartListTimestamp';\nimport computeSortedActivities from './private/computeSortedActivities';\nimport type { LocalId } from './property/LocalId';\nimport type { LivestreamSessionMapEntry, State } from './types';\n\nexport default function deleteActivityByLocalId(state: State, localId: LocalId): State {\n  const nextActivityIdToLocalIdMap = new Map(state.activityIdToLocalIdMap);\n  const nextActivityMap = new Map(state.activityMap);\n  const nextClientActivityIdToLocalIdMap = new Map(state.clientActivityIdToLocalIdMap);\n  const nextHowToGroupingMap = new Map(state.howToGroupingMap);\n  const nextLivestreamSessionMap = new Map(state.livestreamSessionMap);\n  let nextSortedChatHistoryList = Array.from(state.sortedChatHistoryList);\n\n  if (!nextActivityMap.delete(localId)) {\n    throw new Error(`botframework-webchat: Cannot find activity with local ID \"${localId}\" to delete`);\n  }\n\n  for (const entry of nextActivityIdToLocalIdMap) {\n    if (entry[1] === localId) {\n      nextActivityIdToLocalIdMap.delete(entry[0]);\n\n      break;\n    }\n  }\n\n  for (const entry of nextClientActivityIdToLocalIdMap) {\n    if (entry[1] === localId) {\n      nextClientActivityIdToLocalIdMap.delete(entry[0]);\n\n      break;\n    }\n  }\n\n  for (const [howToGroupingId, entry] of nextHowToGroupingMap) {\n    const partIndex = entry.partList.findIndex(part => part.type === 'activity' && part.activityLocalId === localId);\n\n    if (~partIndex) {\n      const nextPartList = Array.from(entry.partList);\n\n      nextPartList.splice(partIndex, 1);\n\n      if (nextPartList.length) {\n        const nextHowToGroupingMapEntry = Object.freeze({\n          ...entry,\n          logicalTimestamp: computePartListTimestamp(nextPartList),\n          partList: Object.freeze(nextPartList)\n        });\n\n        nextHowToGroupingMap.set(howToGroupingId, nextHowToGroupingMapEntry);\n\n        nextSortedChatHistoryList = nextSortedChatHistoryList.map(entry => {\n          if (entry.type === 'how to grouping' && entry.howToGroupingId === howToGroupingId) {\n            return {\n              howToGroupingId,\n              logicalTimestamp: nextHowToGroupingMapEntry.logicalTimestamp,\n              type: 'how to grouping'\n            };\n          }\n\n          return entry;\n        });\n      } else {\n        nextHowToGroupingMap.delete(howToGroupingId);\n\n        const sortedChatHistoryListIndex = nextSortedChatHistoryList.findIndex(\n          entry => entry.type === 'how to grouping' && entry.howToGroupingId === howToGroupingId\n        );\n\n        ~sortedChatHistoryListIndex && nextSortedChatHistoryList.splice(sortedChatHistoryListIndex, 1);\n      }\n    }\n  }\n\n  for (const [livestreamSessionId, livestreamSessionMapEntry] of nextLivestreamSessionMap) {\n    const activityIndex = livestreamSessionMapEntry.activities.findIndex(\n      activity => activity.activityLocalId === localId\n    );\n\n    if (~activityIndex) {\n      const nextActivities = Array.from(livestreamSessionMapEntry.activities);\n\n      nextActivities.splice(activityIndex, 1);\n\n      if (nextActivities.length) {\n        // eslint-disable-next-line no-magic-numbers\n        const lastActivity = nextActivities.at(-1);\n        const finalActivity = lastActivity?.sequenceNumber === Infinity ? lastActivity : undefined;\n\n        const logicalTimestamp = finalActivity\n          ? finalActivity.logicalTimestamp\n          : nextActivities.at(0)?.logicalTimestamp;\n\n        const nextLivestreamSessionMapEntry: LivestreamSessionMapEntry = {\n          ...livestreamSessionMapEntry,\n          activities: nextActivities,\n          finalized: !!finalActivity,\n          logicalTimestamp\n        };\n\n        nextLivestreamSessionMap.set(livestreamSessionId, nextLivestreamSessionMapEntry);\n\n        for (const [howToGroupingId, entry] of nextHowToGroupingMap) {\n          let changed = false;\n\n          const nextPartList = entry.partList.map(part => {\n            if (part.type === 'livestream session' && part.livestreamSessionId === livestreamSessionId) {\n              changed = true;\n\n              return { ...part, logicalTimestamp };\n            }\n\n            return part;\n          });\n\n          if (changed) {\n            nextHowToGroupingMap.set(howToGroupingId, {\n              ...entry,\n              logicalTimestamp: computePartListTimestamp(nextPartList),\n              partList: nextPartList\n            });\n          }\n        }\n      } else {\n        nextLivestreamSessionMap.delete(livestreamSessionId);\n\n        const sortedChatHistoryListIndex = nextSortedChatHistoryList.findIndex(\n          entry => entry.type === 'livestream session' && entry.livestreamSessionId === livestreamSessionId\n        );\n\n        ~sortedChatHistoryListIndex && nextSortedChatHistoryList.splice(sortedChatHistoryListIndex, 1);\n\n        for (const [howToGroupingId, entry] of nextHowToGroupingMap) {\n          const partIndex = entry.partList.findIndex(\n            part => part.type === 'livestream session' && part.livestreamSessionId === livestreamSessionId\n          );\n\n          if (~partIndex) {\n            const nextPartList = Array.from(entry.partList);\n\n            nextPartList.splice(partIndex, 1);\n\n            nextHowToGroupingMap.set(howToGroupingId, {\n              ...entry,\n              logicalTimestamp: computePartListTimestamp(nextPartList),\n              partList: nextPartList\n            });\n          }\n        }\n      }\n    }\n  }\n\n  nextSortedChatHistoryList = nextSortedChatHistoryList.filter(entry => {\n    if (entry.type === 'activity' && entry.activityLocalId === localId) {\n      return false;\n    }\n\n    return true;\n  });\n\n  const nextSortedActivities = computeSortedActivities({\n    activityMap: nextActivityMap,\n    howToGroupingMap: nextHowToGroupingMap,\n    livestreamSessionMap: nextLivestreamSessionMap,\n    sortedChatHistoryList: nextSortedChatHistoryList\n  });\n\n  return Object.freeze({\n    activityIdToLocalIdMap: Object.freeze(nextActivityIdToLocalIdMap),\n    activityMap: Object.freeze(nextActivityMap),\n    clientActivityIdToLocalIdMap: Object.freeze(nextClientActivityIdToLocalIdMap),\n    howToGroupingMap: Object.freeze(nextHowToGroupingMap),\n    livestreamSessionMap: Object.freeze(nextLivestreamSessionMap),\n    sortedActivities: Object.freeze(nextSortedActivities),\n    sortedChatHistoryList: Object.freeze(nextSortedChatHistoryList)\n  } satisfies State);\n}\n","import type { LocalId } from './property/LocalId';\nimport type { State } from './types';\n\nexport default function queryLocalIdAByActivityId(state: State, activityId: string): LocalId | undefined {\n  return state.activityIdToLocalIdMap.get(activityId);\n}\n","import type { LocalId } from './property/LocalId';\nimport type { State } from './types';\n\nexport default function queryLocalIdAByClientActivityId(state: State, clientActivityId: string): LocalId | undefined {\n  return state.clientActivityIdToLocalIdMap.get(clientActivityId);\n}\n","import { check, parse, pipe, string, type GenericSchema } from 'valibot';\nimport { getLocalIdFromActivity, type LocalId } from './property/LocalId';\nimport type { Activity, ActivityMapEntry, State } from './types';\n\nconst channelDataNameSchema: GenericSchema<\n  Exclude<string, 'state' | 'streamId' | 'streamSequence' | 'streamType' | `webchat:${string}`>\n> = pipe(\n  string(),\n  check(\n    value =>\n      value !== 'state' &&\n      value !== 'streamId' &&\n      value !== 'streamSequence' &&\n      value !== 'streamType' &&\n      !value.startsWith('webchat:'),\n    'name must not be a reserved'\n  )\n);\n\n/**\n * Updates activity channel data.\n *\n * Note: after channel data is updated, it will not update to a new position.\n *       Do not use this function for updating channel data that would affect position, such as `streamSequence`.\n *\n * @param state\n * @param activityLocalId\n * @param name\n * @param value\n * @returns\n */\nfunction updateActivityChannelDataInternalSkipNameCheck(\n  state: State,\n  activityLocalId: LocalId,\n  name: string,\n  value: unknown\n): State {\n  const activityEntry = state.activityMap.get(activityLocalId);\n\n  if (!activityEntry) {\n    throw new Error(`botframework-webchat: no activity found with internal ID ${activityLocalId}`);\n  }\n\n  // TODO: [P0] We will freeze activity in future.\n  const nextActivity: Activity = {\n    ...activityEntry.activity,\n    channelData: {\n      ...activityEntry.activity.channelData,\n      [name]: value\n    } as any\n  };\n\n  const nextActivityMap = new Map(state.activityMap).set(\n    activityLocalId,\n    Object.freeze({ ...activityEntry, activity: nextActivity } satisfies ActivityMapEntry)\n  );\n\n  const nextSortedActivities = Array.from(state.sortedActivities);\n\n  const existingActivityIndex = nextSortedActivities.findIndex(\n    activity => getLocalIdFromActivity(activity) === activityLocalId\n  );\n\n  if (!~existingActivityIndex) {\n    throw new Error(`botframework-webchat: no activity found in sortedActivities with internal ID ${activityLocalId}`);\n  }\n\n  nextSortedActivities[+existingActivityIndex] = nextActivity;\n\n  return Object.freeze({\n    ...state,\n    activityMap: Object.freeze(nextActivityMap),\n    sortedActivities: Object.freeze(nextSortedActivities)\n  } satisfies State);\n}\n\n/**\n * Update activity channel data.\n *\n * @deprecated Channel data update is being deprecated, please use a custom state management solution instead.\n * @param state\n * @param activityLocalId\n * @param name\n * @param value\n * @returns\n */\nfunction updateActivityChannelData(state: State, activityLocalId: LocalId, name: string, value: unknown): State {\n  if (name.startsWith('webchat:')) {\n    throw new Error('botframework-webchat: custom channel data name must not use prefix \"webchat:\"');\n  }\n\n  return updateActivityChannelDataInternalSkipNameCheck(\n    state,\n    activityLocalId,\n    parse(channelDataNameSchema, name),\n    value\n  );\n}\n\nexport default updateActivityChannelData;\nexport { updateActivityChannelDataInternalSkipNameCheck };\n","import {\n  any,\n  array,\n  check,\n  findItem,\n  integer,\n  is,\n  literal,\n  minValue,\n  nonEmpty,\n  number,\n  object,\n  optional,\n  pipe,\n  safeParse,\n  string,\n  transform,\n  undefinedable,\n  union,\n  type ErrorMessage,\n  type ObjectEntries,\n  type ObjectIssue,\n  type ObjectSchema\n} from 'valibot';\n\nimport { type WebChatActivity } from '../types/WebChatActivity';\nimport getOrgSchemaMessage from './getOrgSchemaMessage';\n\nconst EMPTY_ARRAY = Object.freeze([]);\n\nconst streamSequenceSchema = pipe(number(), integer(), minValue(1));\n\nfunction eitherChannelDataOrEntities<\n  TActivityEntries extends ObjectEntries,\n  TActivityMessage extends ErrorMessage<ObjectIssue> | undefined,\n  TMetadataEntries extends ObjectEntries,\n  TMetadataMessage extends ErrorMessage<ObjectIssue> | undefined\n>(\n  activitySchema: ObjectSchema<TActivityEntries, TActivityMessage>,\n  metadataSchema: ObjectSchema<TMetadataEntries, TMetadataMessage>\n) {\n  const metadataInEntitiesSchema = object({\n    ...metadataSchema.entries,\n    type: literal('streaminfo')\n  });\n\n  return union([\n    object({\n      ...activitySchema.entries,\n      channelData: metadataSchema\n    }),\n    pipe(\n      object({\n        ...activitySchema.entries,\n        // We use `findItem`/`filterItem` than `variant`/`someItem` because the output of the latter is an union type.\n        // Consider `{ type: string } | { streamId: string; type: 'streaminfo' }`, it turns into `{ type: string }` immediately.\n\n        // TODO: [P2] valibot@1.1.0 did not infer output type for `filterItem()`, only infer for `findItem()`.\n        //       Bump valibot@latest and see if they solved the issue.\n        entities: pipe(\n          array(any()),\n          findItem(value => is(metadataInEntitiesSchema, value)),\n          check(value => !!value)\n        )\n      }),\n      // This is quite hacky, we should not mutate the parse output to ease metadata extractions.\n      transform(({ entities, ...value }) => ({ ...value, streamInfoEntity: entities! }))\n    )\n  ]);\n}\n\nconst livestreamingActivitySchema = union([\n  // Interim.\n  eitherChannelDataOrEntities(\n    object({\n      attachments: optional(array(any()), EMPTY_ARRAY),\n      id: string(),\n      // \"text\" is optional. If not set or empty, it presents a contentless activity.\n      text: optional(undefinedable(string())),\n      type: literal('typing')\n    }),\n    object({\n      // \"streamId\" is optional for the very first activity in the session.\n      streamId: optional(undefinedable(string())),\n      streamSequence: streamSequenceSchema,\n      streamType: literal('streaming')\n    })\n  ),\n  // Informative message.\n  eitherChannelDataOrEntities(\n    object({\n      attachments: optional(array(any()), EMPTY_ARRAY),\n      id: string(),\n      // Informative may not have \"text\", but should have abstract instead (checked later)\n      text: optional(undefinedable(string())),\n      type: literal('typing'),\n      entities: optional(array(any()), EMPTY_ARRAY)\n    }),\n    object({\n      // \"streamId\" is optional for the very first activity in the session.\n      streamId: optional(undefinedable(string())),\n      streamSequence: streamSequenceSchema,\n      streamType: literal('informative')\n    })\n  ),\n  // Conclude with a message.\n  eitherChannelDataOrEntities(\n    object({\n      attachments: optional(array(any()), EMPTY_ARRAY),\n      id: string(),\n      // If \"text\" is empty, it represents \"regretting\" the livestream.\n      text: optional(undefinedable(string())),\n      type: literal('message')\n    }),\n    object({\n      // \"streamId\" is required for the final activity in the session.\n      // The final activity must not be the sole activity in the session.\n      streamId: pipe(string(), nonEmpty()),\n      streamType: literal('final')\n    })\n  ),\n  // Conclude without a message.\n  eitherChannelDataOrEntities(\n    object({\n      attachments: optional(array(any()), EMPTY_ARRAY),\n      id: string(),\n      // If \"text\" is not set or empty, it represents \"regretting\" the livestream.\n      text: optional(undefinedable(literal(''))),\n      type: literal('typing')\n    }),\n    object({\n      // \"streamId\" is required for the final activity in the session.\n      // The final activity must not be the sole activity in the session.\n      streamId: pipe(string(), nonEmpty()),\n      streamType: literal('final')\n    })\n  )\n]);\n\n/**\n * Gets the livestreaming metadata of the activity, or `undefined` if the activity is not participating in a livestreaming session.\n *\n * - `sessionId` - ID of the livestreaming session\n * - `sequenceNumber` - sequence number of the activity\n * - `type`\n *   - `\"contentless\"` - ongoing but no content, should show indicator\n *   - `\"interim activity\"` - current response, could be partial-from-start, or complete response.\n *     More activities are expected. Future interim activities always replace past interim activities, enable erasing or backtracking response.\n *   - `\"informative message\"` - optional side-channel informative message describing the current response, e.g. \"Searching your document library\".\n *     Always replace past informative messages. May interleave with interim activities.\n *   - `\"final activity\"` - complete-and-final response, always replace past interim activities and remove all informative messages.\n *     This activity indicates end of the session, all future activities must be ignored.\n *   - `undefined` - not part of a livestream session or the activity is not valid\n *\n * @returns {object} Livestreaming metadata of the activity, or `undefined` if the activity is not participating in a livestreaming session.\n */\nexport default function getActivityLivestreamingMetadata(activity: WebChatActivity):\n  | Readonly<{\n      sessionId: string;\n      sequenceNumber: number;\n      type: 'contentless' | 'final activity' | 'informative message' | 'interim activity';\n    }>\n  | undefined {\n  const result = safeParse(livestreamingActivitySchema, activity);\n\n  if (result.success) {\n    const { output } = result;\n    const livestreamMetadata = 'channelData' in output ? output.channelData : output.streamInfoEntity;\n\n    // If the activity is the first in the session, session ID should be the activity ID.\n    const sessionId = livestreamMetadata.streamId || output.id;\n\n    return Object.freeze(\n      livestreamMetadata.streamType === 'final'\n        ? {\n            sequenceNumber: Infinity,\n            sessionId,\n            type: 'final activity'\n          }\n        : {\n            sequenceNumber: livestreamMetadata.streamSequence,\n            sessionId,\n            type: !(\n              output.text ||\n              output.attachments?.length ||\n              ('entities' in output && getOrgSchemaMessage(output.entities)?.abstract[0])\n            )\n              ? 'contentless'\n              : livestreamMetadata.streamType === 'informative'\n                ? 'informative message'\n                : 'interim activity'\n          }\n    );\n  }\n\n  return undefined;\n}\n","import { parse } from 'valibot';\nimport { orgSchemaCreativeWorkSchema, type OrgSchemaCreativeWork } from '@msinternal/botframework-webchat-core-json-ld';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\ntype EntityType = NonNullable<WebChatActivity['entities']>[number];\n\nexport default function getOrgSchemaMessage(graph: readonly EntityType[]): OrgSchemaCreativeWork | undefined {\n  for (const entity of graph ?? []) {\n    const isPossiblySelfMessage =\n      entity &&\n      typeof entity === 'object' &&\n      'type' in entity &&\n      entity.type?.startsWith('https://schema.org/') &&\n      '@id' in entity &&\n      entity['@id'] === '';\n\n    if (isPossiblySelfMessage) {\n      return parse(orgSchemaCreativeWorkSchema, entity);\n    }\n  }\n}\n","import type { GlobalScopePonyfill } from '../../../../types/GlobalScopePonyfill';\nimport type { Activity } from '../types';\n\n/**\n * Get sequence ID from `activity.channelData['webchat:sequence-id']` and fallback to `+new Date(activity.timestamp)`.\n *\n * Chat adapter may send sequence ID to affect activity reordering. Sequence ID is supposed to be Unix timestamp.\n *\n * @param activity Activity to get sequence ID from.\n * @returns Sequence ID.\n */\nexport default function getLogicalTimestamp(\n  activity: Activity,\n  ponyfill: Pick<GlobalScopePonyfill, 'Date'>\n): number | undefined {\n  const sequenceId = activity.channelData?.['webchat:sequence-id'];\n\n  if (typeof sequenceId === 'number') {\n    return sequenceId;\n  }\n\n  const { timestamp } = activity;\n\n  if (typeof timestamp === 'string') {\n    return +new ponyfill.Date(timestamp);\n  } else if (typeof timestamp !== 'undefined' && (timestamp as any) instanceof ponyfill.Date) {\n    console.warn('botframework-webchat: \"timestamp\" must be of type string, instead of Date.');\n\n    return +timestamp;\n  }\n\n  return undefined;\n}\n","import type { WebChatActivity } from '../../../../types/WebChatActivity';\nimport getOrgSchemaMessage from '../../../../utils/getOrgSchemaMessage';\n\ntype PartGroupingMetadataMapEntry = {\n  readonly groupingId: string;\n  readonly position: number | undefined;\n};\n\nfunction getPartGroupingMetadataMap(activity: WebChatActivity): ReadonlyMap<string, PartGroupingMetadataMapEntry> {\n  const metadataMap = new Map<string, PartGroupingMetadataMapEntry>();\n\n  const message = getOrgSchemaMessage(activity.entities || []);\n\n  if (message) {\n    for (const item of message.isPartOf) {\n      if (item['@id']) {\n        const [firstPosition] = message.position;\n\n        for (const type of item['@type']) {\n          metadataMap.set(\n            type,\n            Object.freeze({\n              groupingId: item['@id'],\n              // We do not support non-number position.\n              position: typeof firstPosition === 'number' ? firstPosition : undefined\n            })\n          );\n        }\n      }\n    }\n  }\n\n  return metadataMap;\n}\n\nexport default getPartGroupingMetadataMap;\nexport type { PartGroupingMetadataMapEntry };\n","import { toSpliced } from '@msinternal/botframework-webchat-base/utils';\n\n/**\n * Inserts a single item into a sorted array.\n *\n * For multiple items, consider other options for efficiency.\n *\n * @param sortedArray A sorted array.\n * @param item Item to be inserted.\n * @param compareFn Function used to determine the order of the elements. It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise.\n * @returns A new sorted array with the new item.\n */\nexport default function insertSorted<T>(sortedArray: readonly T[], item: T, compareFn: (x: T, y: T) => number): T[] {\n  // TODO: Implements `binaryFindIndex()` for better performance.\n  const indexToInsert = sortedArray.findIndex(i => compareFn(i, item) > 0);\n\n  return toSpliced(sortedArray, ~indexToInsert ? indexToInsert : sortedArray.length, 0, item);\n}\n","/* eslint-disable complexity */\nimport type { GlobalScopePonyfill } from '../../../types/GlobalScopePonyfill';\nimport getActivityLivestreamingMetadata from '../../../utils/getActivityLivestreamingMetadata';\nimport computePartListTimestamp from './private/computePartListTimestamp';\nimport computeSortedActivities from './private/computeSortedActivities';\nimport getLogicalTimestamp from './private/getLogicalTimestamp';\nimport getPartGroupingMetadataMap from './private/getPartGroupingMetadataMap';\nimport insertSorted from './private/insertSorted';\nimport { toSpliced } from '@msinternal/botframework-webchat-base/utils';\nimport { getLocalIdFromActivity } from './property/LocalId';\nimport { queryPositionFromActivity, setPositionInActivity } from './property/Position';\nimport {\n  type Activity,\n  type ActivityMapEntry,\n  type HowToGroupingId,\n  type LivestreamSessionId,\n  type LivestreamSessionMapEntry,\n  type LivestreamSessionMapEntryActivityEntry,\n  type SortedChatHistoryEntry,\n  type State\n} from './types';\n\n// Honoring timestamp or not:\n//\n// - Update activity\n//    - (Should honor) every changes\n// - Echo back activity\n//    - (Should honor) timestamp of echo back of outgoing message\n// - Livestream activity\n//    - (Should not honor) timestamp of revisions of livestream as it could \"flash\" them to the bottom\n//       - Should not update session timestamp\n//    - How:\n//       - If it's 1 or Nth revision, copy the timestamp from upserting activity into session\n//       - Otherwise, it's 2...N-1, don't copy the timestamp into session\n// - HowTo part grouping\n//    - (Should not honor) timestamp change via livestream as it could \"flash\" them to the bottom\n//       - Not honoring by copying the timestamp from livestream session\n//    - How: copy the timestamp from the upserting part (livestream or update) into part grouping\n//\n// Simplifying/concluding all rules:\n//\n// - Always copy timestamp, except when it's a livestream of 2...N-1 revision\n// - Part grouping timestamp is copied from upserting entry (either livestream session or activity)\n\nconst POSITION_INCREMENT = 1_000;\n\nconst INITIAL_STATE = Object.freeze({\n  activityIdToLocalIdMap: Object.freeze(new Map()),\n  activityMap: Object.freeze(new Map()),\n  clientActivityIdToLocalIdMap: Object.freeze(new Map()),\n  livestreamSessionMap: Object.freeze(new Map()),\n  howToGroupingMap: Object.freeze(new Map()),\n  sortedActivities: Object.freeze([]),\n  sortedChatHistoryList: Object.freeze([])\n} satisfies State);\n\n// Question: Why insertion sort works but not quick sort?\n// Short answer: Arrival order matters.\n// Long answer:\n// - Update activity: when replacing an activity, data from their previous revision matters\n// - Duplicate timestamps: activities without timestamp can't be sort deterministically with quick sort\n\nfunction upsert(ponyfill: Pick<GlobalScopePonyfill, 'Date'>, state: State, activity: Activity): State {\n  const activityLocalId = getLocalIdFromActivity(activity);\n  const logicalTimestamp = getLogicalTimestamp(activity, ponyfill);\n  const activityLivestreamingMetadata = getActivityLivestreamingMetadata(activity);\n\n  // #region Streaming fast path\n  //\n  // For revision 2..N-1 of an existing, non-finalized livestream session without HowTo grouping:\n  // avoid the heavier full rebuild path, including sortedChatHistoryList recomputation,\n  // computeSortedActivities, and full position resequencing. This is still not constant-time:\n  // the fast path continues to clone Maps and update sortedActivities, but it avoids the\n  // broader recomputation required for the general case.\n  if (activityLivestreamingMetadata) {\n    const sessionId = activityLivestreamingMetadata.sessionId as LivestreamSessionId;\n    const existingSession = state.livestreamSessionMap.get(sessionId);\n    const finalized = activityLivestreamingMetadata.type === 'final activity';\n\n    if (\n      existingSession &&\n      !existingSession.finalized &&\n      !finalized &&\n      !getPartGroupingMetadataMap(activity).has('HowTo')\n    ) {\n      // Defer all Map cloning until after the position-collision check succeeds.\n      // First build the next session entry (needed to determine insertIndex), then\n      // locate the insertion point in sortedActivities, compute the new position,\n      // and only clone Maps when we know the fast path will be taken.\n\n      // 1. Compute the next session entry (needed to find insertIndex).\n      //    Timestamp is NOT updated for rev 2..N-1 (only for first and final).\n      const nextSessionEntry: LivestreamSessionMapEntry = {\n        activities: Object.freeze(\n          insertSorted<LivestreamSessionMapEntryActivityEntry>(\n            existingSession.activities,\n            Object.freeze({\n              activityLocalId,\n              logicalTimestamp,\n              sequenceNumber: activityLivestreamingMetadata.sequenceNumber,\n              type: 'activity'\n            }),\n            ({ sequenceNumber: x }, { sequenceNumber: y }) =>\n              typeof x === 'undefined' || typeof y === 'undefined'\n                ? // eslint-disable-next-line no-magic-numbers\n                  -1\n                : x - y\n          )\n        ),\n        finalized: false,\n        logicalTimestamp: existingSession.logicalTimestamp\n      };\n\n      // 2. sortedActivities: find the insertion point before cloning anything.\n      //    The session's activities are sorted by sequence number via insertSorted.\n      //    Find where the new activity landed in that list and locate the correct\n      //    insertion point in sortedActivities relative to its session neighbors.\n      const newIndexInSession = nextSessionEntry.activities.findIndex(\n        entry => entry.activityLocalId === activityLocalId\n      );\n\n      const successorInSession =\n        newIndexInSession + 1 < nextSessionEntry.activities.length\n          ? nextSessionEntry.activities[newIndexInSession + 1]\n          : undefined;\n\n      let insertIndex = state.sortedActivities.length;\n\n      if (successorInSession) {\n        // Insert before the successor activity in sortedActivities.\n        for (let i = 0; i < state.sortedActivities.length; i++) {\n          // eslint-disable-next-line security/detect-object-injection\n          if (getLocalIdFromActivity(state.sortedActivities[i]!) === successorInSession.activityLocalId) {\n            insertIndex = i;\n            break;\n          }\n        }\n      } else {\n        // New activity is last in the session; insert after the previous last activity.\n        // eslint-disable-next-line no-magic-numbers\n        const prevLastSessionActivity = existingSession.activities.at(-1);\n\n        if (prevLastSessionActivity) {\n          for (let i = state.sortedActivities.length - 1; i >= 0; i--) {\n            // eslint-disable-next-line security/detect-object-injection\n            if (getLocalIdFromActivity(state.sortedActivities[i]!) === prevLastSessionActivity.activityLocalId) {\n              insertIndex = i + 1;\n              break;\n            }\n          }\n        }\n      }\n\n      // 3. Position: assign the new activity a position based on its neighbors.\n      const prevPosition =\n        insertIndex > 0 ? (queryPositionFromActivity(state.sortedActivities[insertIndex - 1]!) ?? 0) : 0;\n\n      const nextSiblingPosition =\n        insertIndex < state.sortedActivities.length\n          ? queryPositionFromActivity(state.sortedActivities[+insertIndex]!)\n          : undefined;\n\n      let newPosition = prevPosition + POSITION_INCREMENT;\n\n      // Squeeze if the default increment would collide with the next sibling.\n      if (typeof nextSiblingPosition !== 'undefined' && newPosition >= nextSiblingPosition) {\n        newPosition = prevPosition + 1;\n      }\n\n      // If position is valid (no collision), clone Maps and return fast path result.\n      // Otherwise fall through to slow path for full re-sequencing.\n      if (typeof nextSiblingPosition === 'undefined' || newPosition < nextSiblingPosition) {\n        const positionedActivity = setPositionInActivity(activity, newPosition);\n\n        // 4. activityIdToLocalIdMap: reuse if no activity.id, copy + add otherwise.\n        let nextActivityIdToLocalIdMap = state.activityIdToLocalIdMap;\n\n        if (typeof activity.id !== 'undefined') {\n          nextActivityIdToLocalIdMap = new Map(state.activityIdToLocalIdMap);\n          nextActivityIdToLocalIdMap.set(activity.id, activityLocalId);\n        }\n\n        // 5. activityMap: +1 entry with the positioned activity.\n        const nextActivityMap = new Map(state.activityMap);\n\n        nextActivityMap.set(\n          activityLocalId,\n          Object.freeze({ activity: positionedActivity, activityLocalId, logicalTimestamp, type: 'activity' as const })\n        );\n\n        // 6. clientActivityIdToLocalIdMap: reuse if no clientActivityID, copy + add otherwise.\n        const { clientActivityID } = activity.channelData;\n        let nextClientActivityIdToLocalIdMap = state.clientActivityIdToLocalIdMap;\n\n        if (typeof clientActivityID !== 'undefined') {\n          nextClientActivityIdToLocalIdMap = new Map(state.clientActivityIdToLocalIdMap);\n          nextClientActivityIdToLocalIdMap.set(clientActivityID, activityLocalId);\n        }\n\n        // 7. livestreamSessionMap: record the updated session.\n        const nextLivestreamSessionMap = new Map(state.livestreamSessionMap);\n\n        nextLivestreamSessionMap.set(sessionId, Object.freeze(nextSessionEntry));\n\n        return Object.freeze({\n          activityIdToLocalIdMap: Object.freeze(nextActivityIdToLocalIdMap),\n          activityMap: Object.freeze(nextActivityMap),\n          clientActivityIdToLocalIdMap: Object.freeze(nextClientActivityIdToLocalIdMap),\n          howToGroupingMap: state.howToGroupingMap,\n          livestreamSessionMap: Object.freeze(nextLivestreamSessionMap),\n          sortedActivities: Object.freeze(toSpliced(state.sortedActivities, insertIndex, 0, positionedActivity)),\n          sortedChatHistoryList: state.sortedChatHistoryList\n        } satisfies State);\n      }\n    }\n  }\n\n  // #endregion\n\n  // Slow path: full recalculation for non-streaming, first/final revisions, reorders, or HowTo grouping.\n  const nextActivityIdToLocalIdMap = new Map(state.activityIdToLocalIdMap);\n  const nextActivityMap = new Map(state.activityMap);\n  const nextClientActivityIdToLocalIdMap = new Map(state.clientActivityIdToLocalIdMap);\n  const nextLivestreamSessionMap = new Map(state.livestreamSessionMap);\n  const nextHowToGroupingMap = new Map(state.howToGroupingMap);\n  let nextSortedChatHistoryList = Array.from(state.sortedChatHistoryList);\n\n  if (typeof activity.id !== 'undefined') {\n    nextActivityIdToLocalIdMap.set(activity.id, activityLocalId);\n  }\n\n  const { clientActivityID } = activity.channelData;\n\n  if (typeof clientActivityID !== 'undefined') {\n    nextClientActivityIdToLocalIdMap.set(clientActivityID, activityLocalId);\n  }\n\n  nextActivityMap.set(\n    activityLocalId,\n    Object.freeze({\n      activity,\n      activityLocalId,\n      logicalTimestamp,\n      type: 'activity'\n    })\n  );\n\n  let sortedChatHistoryListEntry: SortedChatHistoryEntry = {\n    activityLocalId,\n    logicalTimestamp,\n    type: 'activity'\n  };\n\n  // #region Livestreaming\n\n  if (activityLivestreamingMetadata) {\n    const sessionId = activityLivestreamingMetadata.sessionId as LivestreamSessionId;\n\n    const livestreamSessionMapEntry = nextLivestreamSessionMap.get(sessionId);\n\n    const wasFinalized = livestreamSessionMapEntry ? livestreamSessionMapEntry.finalized : false;\n\n    if (wasFinalized) {\n      console.warn(\n        `botframework-webchat: Cannot update livestreaming session ${sessionId} because it has been concluded`\n      );\n\n      // This is a special case.\n      // TODO: [P1] Revisit this and see how we should process activity after the livestream is finalized.\n      //            1. Received a previous-and-valid revision while the livestream is finalized (probably should keep to maintain history)\n      //            2. Received a final activity while the livestream is already finalized (probably drop due to bad packet)\n      // Related to /__tests__/html2/livestream/concludedLivestream.html.\n      return state;\n    }\n\n    const finalized = activityLivestreamingMetadata.type === 'final activity';\n\n    const nextLivestreamSessionMapEntry = {\n      activities: Object.freeze(\n        insertSorted<LivestreamSessionMapEntryActivityEntry>(\n          livestreamSessionMapEntry ? livestreamSessionMapEntry.activities : [],\n          Object.freeze({\n            activityLocalId,\n            logicalTimestamp,\n            sequenceNumber: activityLivestreamingMetadata.sequenceNumber,\n            type: 'activity'\n          }),\n          ({ sequenceNumber: x }, { sequenceNumber: y }) =>\n            typeof x === 'undefined' || typeof y === 'undefined'\n              ? // eslint-disable-next-line no-magic-numbers\n                -1\n              : x - y\n        )\n      ),\n      finalized,\n      // Update timestamp if the upserting activity is the first or last in the livestream session.\n      // We don't update timestamp for 2...N-1, because it would cause too much flickering.\n      logicalTimestamp:\n        finalized || !livestreamSessionMapEntry ? logicalTimestamp : livestreamSessionMapEntry.logicalTimestamp\n    } satisfies LivestreamSessionMapEntry;\n\n    nextLivestreamSessionMap.set(sessionId, Object.freeze(nextLivestreamSessionMapEntry));\n\n    sortedChatHistoryListEntry = {\n      livestreamSessionId: sessionId,\n      logicalTimestamp: nextLivestreamSessionMapEntry.logicalTimestamp,\n      type: 'livestream session'\n    };\n  }\n\n  // #endregion\n\n  // #region How-to grouping\n\n  const howToGrouping = getPartGroupingMetadataMap(activity).get('HowTo');\n\n  if (howToGrouping) {\n    const howToGroupingId = howToGrouping.groupingId as HowToGroupingId;\n    const { position: howToGroupingPosition } = howToGrouping;\n\n    const partGroupingMapEntry = nextHowToGroupingMap.get(howToGroupingId);\n\n    let nextPartList = partGroupingMapEntry ? Array.from(partGroupingMapEntry.partList) : [];\n\n    const existingPartEntryIndex = activityLivestreamingMetadata\n      ? nextPartList.findIndex(\n          entry =>\n            entry.type === 'livestream session' && entry.livestreamSessionId === activityLivestreamingMetadata.sessionId\n        )\n      : nextPartList.findIndex(entry => entry.type === 'activity' && entry.activityLocalId === activityLocalId);\n\n    const nextPartEntry = Object.freeze({ ...sortedChatHistoryListEntry, position: howToGroupingPosition });\n\n    // If the upserting activity is position-less and an earlier revision is in the grouping, update the existing entry instead of splice/insert.\n    if (~existingPartEntryIndex && typeof howToGroupingPosition === 'undefined') {\n      nextPartList[+existingPartEntryIndex] = nextPartEntry;\n    } else {\n      // The upserting activity has position, or it never exist in the grouping.\n      ~existingPartEntryIndex && nextPartList.splice(existingPartEntryIndex, 1);\n\n      nextPartList = insertSorted(\n        nextPartList,\n        nextPartEntry,\n        // eslint-disable-next-line no-magic-numbers\n        ({ position: x }, { position: y }) => (typeof x === 'undefined' || typeof y === 'undefined' ? -1 : x - y)\n      );\n    }\n\n    const nextPartGroupingEntry = {\n      logicalTimestamp: computePartListTimestamp(nextPartList),\n      partList: Object.freeze(nextPartList)\n    };\n\n    nextHowToGroupingMap.set(howToGroupingId, Object.freeze(nextPartGroupingEntry));\n\n    sortedChatHistoryListEntry = {\n      howToGroupingId,\n      logicalTimestamp: nextPartGroupingEntry.logicalTimestamp,\n      type: 'how to grouping'\n    };\n  }\n\n  // #endregion\n\n  // #region Sorted chat history\n\n  const existingSortedChatHistoryListEntryIndex =\n    sortedChatHistoryListEntry.type === 'how to grouping'\n      ? nextSortedChatHistoryList.findIndex(\n          entry =>\n            entry.type === 'how to grouping' && entry.howToGroupingId === sortedChatHistoryListEntry.howToGroupingId\n        )\n      : sortedChatHistoryListEntry.type === 'livestream session'\n        ? nextSortedChatHistoryList.findIndex(\n            entry =>\n              entry.type === 'livestream session' &&\n              entry.livestreamSessionId === sortedChatHistoryListEntry.livestreamSessionId\n          )\n        : sortedChatHistoryListEntry.type === 'activity'\n          ? nextSortedChatHistoryList.findIndex(\n              entry => entry.type === 'activity' && entry.activityLocalId === activityLocalId\n            )\n          : // eslint-disable-next-line no-magic-numbers\n            -1;\n\n  ~existingSortedChatHistoryListEntryIndex &&\n    nextSortedChatHistoryList.splice(existingSortedChatHistoryListEntryIndex, 1);\n\n  nextSortedChatHistoryList = insertSorted(\n    nextSortedChatHistoryList,\n    Object.freeze(sortedChatHistoryListEntry),\n    (x, y) => {\n      // Compare logical timestamp if both have it.\n      // Otherwise, compare local timestamp if both have it.\n      // Otherwise, -1.\n      const xLogicalTimestamp = x.logicalTimestamp;\n      const yLogicalTimestamp = y.logicalTimestamp;\n\n      if (typeof xLogicalTimestamp !== 'undefined' && typeof yLogicalTimestamp !== 'undefined') {\n        return xLogicalTimestamp - yLogicalTimestamp;\n      }\n\n      if (x.type === 'activity' && y.type === 'activity') {\n        const xActivity = nextActivityMap.get(x.activityLocalId);\n        const yActivity = nextActivityMap.get(y.activityLocalId);\n\n        const xLocalTimestamp = xActivity?.activity.localTimestamp;\n        const yLocalTimestamp = yActivity?.activity.localTimestamp;\n\n        if (typeof xLocalTimestamp !== 'undefined' && typeof yLocalTimestamp !== 'undefined') {\n          return +new ponyfill.Date(xLocalTimestamp) - +new ponyfill.Date(yLocalTimestamp);\n        }\n      }\n\n      // eslint-disable-next-line no-magic-numbers\n      return -1;\n    }\n  );\n  // }\n\n  // #endregion\n\n  // #region Sorted activities\n\n  const nextSortedActivities = computeSortedActivities({\n    activityMap: nextActivityMap,\n    howToGroupingMap: nextHowToGroupingMap,\n    livestreamSessionMap: nextLivestreamSessionMap,\n    sortedChatHistoryList: nextSortedChatHistoryList\n  });\n\n  // #endregion\n\n  // #region Sequence sorted activities\n\n  let lastPosition = 0;\n\n  for (\n    let index = 0, { length: nextSortedActivitiesLength } = nextSortedActivities;\n    index < nextSortedActivitiesLength;\n    index++\n  ) {\n    const currentActivity = nextSortedActivities[+index]!;\n    const currentActivityId = getLocalIdFromActivity(currentActivity);\n    const hasNextSibling = index + 1 < nextSortedActivitiesLength;\n    const position = queryPositionFromActivity(currentActivity);\n\n    let nextPosition: number;\n\n    if (typeof position === 'undefined' || position <= lastPosition) {\n      if (hasNextSibling) {\n        const nextSiblingPosition = queryPositionFromActivity(nextSortedActivities[+index + 1]!);\n\n        nextPosition = lastPosition + 1;\n\n        if (typeof nextSiblingPosition === 'undefined' || nextPosition > nextSiblingPosition) {\n          nextPosition = lastPosition + POSITION_INCREMENT;\n        }\n      } else {\n        nextPosition = lastPosition + POSITION_INCREMENT;\n      }\n    } else {\n      nextPosition = position;\n    }\n\n    if (nextPosition !== position) {\n      const activityMapEntry = nextActivityMap.get(currentActivityId)!;\n\n      const nextActivityEntry: ActivityMapEntry = Object.freeze({\n        ...activityMapEntry,\n        // TODO: [P0] We should freeze the activity.\n        //       For backcompat, we should consider have a props that temporarily disable this behavior.\n        activity: setPositionInActivity(activityMapEntry.activity, nextPosition)\n      });\n\n      nextActivityMap.set(currentActivityId, nextActivityEntry);\n\n      nextSortedActivities[+index] = nextActivityEntry.activity;\n    }\n\n    lastPosition = nextPosition;\n  }\n\n  // #endregion\n\n  return Object.freeze({\n    activityIdToLocalIdMap: Object.freeze(nextActivityIdToLocalIdMap),\n    activityMap: Object.freeze(nextActivityMap),\n    clientActivityIdToLocalIdMap: Object.freeze(nextClientActivityIdToLocalIdMap),\n    howToGroupingMap: Object.freeze(nextHowToGroupingMap),\n    livestreamSessionMap: Object.freeze(nextLivestreamSessionMap),\n    sortedActivities: Object.freeze(nextSortedActivities),\n    sortedChatHistoryList: Object.freeze(nextSortedChatHistoryList)\n  } satisfies State);\n}\n\nexport default upsert;\nexport { INITIAL_STATE };\n","import { isForbiddenPropertyName } from '@msinternal/botframework-webchat-base/utils';\nimport type { ActionFromReducersMapObject, combineReducers, Reducer, StateFromReducersMapObject } from 'redux';\nimport type { GlobalScopePonyfill } from '../../types/GlobalScopePonyfill';\nimport type { RestrictedStoreDebugAPI } from '../../types/StoreDebugAPI';\nimport type { WebChatActivity } from '../../types/WebChatActivity';\nimport createGroupedActivitiesReducer, {\n  type GroupedActivitiesAction,\n  type GroupedActivitiesState\n} from './createGroupedActivitiesReducer';\n\ntype ActivitiesState = {\n  activities: readonly WebChatActivity[];\n  groupedActivities: GroupedActivitiesState;\n};\n\n/**\n * Creates a reducer by combining slice `activities` and `groupedActivities` to an existing sliced reducer.\n *\n * @param ponyfill\n * @param existingSlicedReducer\n * @returns\n */\nexport default function combineActivitiesReducer<M>(\n  ponyfill: GlobalScopePonyfill,\n  restrictedStoreDebugAPI: RestrictedStoreDebugAPI,\n  existingSlicedReducer: ReturnType<typeof combineReducers<M>>\n): Reducer<StateFromReducersMapObject<M> & ActivitiesState, ActionFromReducersMapObject<M> & GroupedActivitiesAction> {\n  type ExistingState = StateFromReducersMapObject<M>;\n  type ExistingAction = ActionFromReducersMapObject<M>;\n\n  const groupedActivitiesReducer = createGroupedActivitiesReducer(ponyfill, restrictedStoreDebugAPI);\n\n  return function (\n    state: (ExistingState & ActivitiesState) | undefined,\n    action: ExistingAction & GroupedActivitiesAction\n  ): ExistingState & ActivitiesState {\n    const { activities: _activities, groupedActivities, ...existingState } = state ?? {};\n    const nextState = existingSlicedReducer(existingState as ExistingState, action);\n    const nextGroupedActivities = groupedActivitiesReducer(groupedActivities, action);\n\n    const existingStateEntries = Object.entries(existingState);\n    const nextStateEntries = Object.entries(nextState);\n\n    const hasChanged =\n      !state ||\n      !Object.is(state.groupedActivities, nextGroupedActivities) ||\n      existingStateEntries.length !== nextStateEntries.length ||\n      existingStateEntries.some(\n        // Denylisting forbidden property names.\n        // eslint-disable-next-line security/detect-object-injection\n        ([key, value]) => !Object.is(value, isForbiddenPropertyName(key) ? undefined : (nextState as any)[key])\n      );\n\n    return hasChanged\n      ? { ...nextState, activities: nextGroupedActivities.sortedActivities, groupedActivities: nextGroupedActivities }\n      : state;\n  };\n}\n","const RECONNECT = 'DIRECT_LINE/RECONNECT';\nconst RECONNECT_FULFILLED = `${RECONNECT}_FULFILLED`;\nconst RECONNECT_FULFILLING = `${RECONNECT}_FULFILLING`;\nconst RECONNECT_PENDING = `${RECONNECT}_PENDING`;\nconst RECONNECT_REJECTED = `${RECONNECT}_REJECTED`;\n\nexport { RECONNECT, RECONNECT_FULFILLED, RECONNECT_FULFILLING, RECONNECT_PENDING, RECONNECT_REJECTED };\n","import { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\n\nimport { RECONNECT_PENDING, RECONNECT_FULFILLED } from '../actions/reconnect';\n\nimport { DISCONNECT_FULFILLED } from '../actions/disconnect';\nimport { SAGA_ERROR } from '../actions/sagaError';\n\nconst DEFAULT_STATE = 'uninitialized';\n\nexport default function connectivityStatus(state = DEFAULT_STATE, { type, meta }) {\n  if (state !== 'sagaerror') {\n    switch (type) {\n      case CONNECT_PENDING:\n      case RECONNECT_PENDING:\n        if (state !== 'uninitialized') {\n          state = 'reconnecting';\n        }\n\n        break;\n\n      case CONNECT_FULFILLED:\n        state = 'connected';\n        break;\n\n      case RECONNECT_FULFILLED:\n        state = 'reconnected';\n        break;\n\n      case CONNECT_REJECTED:\n        state = 'error';\n        break;\n\n      case CONNECT_STILL_PENDING:\n        state = 'connectingslow';\n        break;\n\n      case DISCONNECT_FULFILLED:\n        state = meta && meta.error ? 'error' : 'notconnected';\n        break;\n\n      case SAGA_ERROR:\n        state = 'sagaerror';\n        break;\n\n      default:\n        break;\n    }\n  }\n\n  return state;\n}\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n/**\n * Creates a Redux reducer to store the ponyfill.\n *\n * The ponyfill is used to check if React and Redux does not use a matching ponyfill.\n */\nexport default function createInternalReducer(ponyfill: GlobalScopePonyfill): () => { ponyfill: GlobalScopePonyfill } {\n  return () => ({ ponyfill });\n}\n","import { isForbiddenPropertyName } from '@msinternal/botframework-webchat-base/utils';\nimport updateIn from 'simple-update-in';\n\nimport { DISMISS_NOTIFICATION } from '../actions/dismissNotification';\nimport { SAGA_ERROR } from '../actions/sagaError';\nimport { SET_NOTIFICATION } from '../actions/setNotification';\n\nimport type { Reducer } from 'redux';\nimport type { DismissNotificationAction } from '../actions/dismissNotification';\nimport type { SagaErrorAction } from '../actions/sagaError';\nimport type { SetNotificationAction } from '../actions/setNotification';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { Notification } from '../types/internal/Notification';\n\ntype NotificationsAction = DismissNotificationAction | SagaErrorAction | SetNotificationAction;\ntype NotificationsState = Record<string, Notification>;\n\nconst DEFAULT_STATE: NotificationsState = {};\n\nexport default function createNotificationsReducer({\n  Date\n}: GlobalScopePonyfill): Reducer<NotificationsState, NotificationsAction> {\n  return function notifications(\n    state: NotificationsState = DEFAULT_STATE,\n    action: NotificationsAction\n  ): NotificationsState {\n    const { type } = action;\n    const now = Date.now();\n\n    if (type === DISMISS_NOTIFICATION) {\n      state = updateIn(state, [action.payload.id]);\n    } else if (type === SAGA_ERROR) {\n      state = updateIn(state, ['connectivitystatus', 'message'], () => 'javascripterror');\n    } else if (type === SET_NOTIFICATION) {\n      const { alt, data, id, level, message } = action.payload;\n\n      if (!isForbiddenPropertyName(id)) {\n        // Mitigated through denylisting.\n        // eslint-disable-next-line security/detect-object-injection\n        const notification = state[id];\n\n        if (\n          !notification ||\n          alt !== notification.alt ||\n          !Object.is(data, notification.data) ||\n          level !== notification.level ||\n          message !== notification.message\n        ) {\n          state = updateIn(state, [id], () => ({\n            alt,\n            data,\n            id,\n            level,\n            message,\n            timestamp: now\n          }));\n        }\n      }\n    }\n\n    return state;\n  };\n}\n","/* eslint no-case-declarations: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n\nimport updateIn from 'simple-update-in';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { PostActivityPendingAction } from '../actions/postActivity';\nimport type { Reducer } from 'redux';\n\ntype TypingState = Record<\n  string,\n  {\n    at: number;\n    last: number;\n    name: string;\n    role: 'bot' | 'channel' | 'user';\n  }\n>;\ntype TypingAction = IncomingActivityAction | PostActivityPendingAction;\n\nconst DEFAULT_STATE: TypingState = {};\n\nexport default function createLastTypingReducer({ Date }: GlobalScopePonyfill): Reducer<TypingState, TypingAction> {\n  return function lastTyping(state: TypingState = DEFAULT_STATE, { payload, type }: TypingAction): TypingState {\n    if (type === INCOMING_ACTIVITY || type === POST_ACTIVITY_PENDING) {\n      const {\n        activity: {\n          from: { id, name, role },\n          type: activityType\n        }\n      } = payload;\n\n      if (activityType === 'typing') {\n        const now = Date.now();\n\n        state = updateIn(state, [id, 'at'], at => at || now);\n        state = updateIn(state, [id, 'last'], () => now);\n        state = updateIn(state, [id, 'name'], () => name);\n        state = updateIn(state, [id, 'role'], () => role);\n      } else if (activityType === 'message') {\n        state = updateIn(state, [id]);\n      }\n    }\n\n    return state;\n  };\n}\n","import { SET_DICTATE_INTERIMS } from '../actions/setDictateInterims';\n\nconst DEFAULT_STATE = [];\n\nexport default function dictateInterims(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_DICTATE_INTERIMS:\n      state = payload.dictateInterims;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { DICTATING, IDLE, STARTING, STOPPING, WILL_START } from '../constants/DictateState';\n\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { START_DICTATE } from '../actions/startDictate';\nimport { STOP_DICTATE } from '../actions/stopDictate';\n\nconst DEFAULT_STATE = IDLE;\n\nexport default function dictateState(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_DICTATE_STATE:\n      state = payload.dictateState;\n      break;\n\n    case START_DICTATE:\n      if (state === IDLE || state === STOPPING || state === WILL_START) {\n        state = STARTING;\n      }\n\n      break;\n\n    case STOP_DICTATE:\n      if (state === STARTING || state === DICTATING) {\n        state = STOPPING;\n      } else if (state === WILL_START) {\n        state = IDLE;\n      }\n\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { SET_LANGUAGE } from '../actions/setLanguage';\n\nconst DEFAULT_STATE = 'en-US';\n\nexport default function language(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_LANGUAGE:\n      state = payload.language;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","// TODO: [P3] We should obsolete this action in favor of DIRECT_LINE/UPDATE_CONNECTION_STATUS.\n//       But today, both actions behave differently, this one only dispatch after connected and not dispatched when disconnected.\nconst CONNECTION_STATUS_UPDATE = 'DIRECT_LINE/CONNECTION_STATUS_UPDATE';\n\nexport default function connectionStatusUpdate(connectionStatus) {\n  return {\n    type: CONNECTION_STATUS_UPDATE,\n    payload: { connectionStatus }\n  };\n}\n\nexport { CONNECTION_STATUS_UPDATE };\n","import { CONNECTION_STATUS_UPDATE } from '../actions/connectionStatusUpdate';\n\nconst DEFAULT_STATE = 0;\n\nexport default function readyState(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case CONNECTION_STATUS_UPDATE:\n      state = payload.connectionStatus;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","const SET_REFERENCE_GRAMMAR_ID = 'WEB_CHAT/SET_REFERENCE_GRAMMAR_ID';\n\nexport default function setReferenceGrammarID(referenceGrammarID) {\n  return {\n    type: SET_REFERENCE_GRAMMAR_ID,\n    payload: { referenceGrammarID }\n  };\n}\n\nexport { SET_REFERENCE_GRAMMAR_ID };\n","import { SET_REFERENCE_GRAMMAR_ID } from '../actions/setReferenceGrammarID';\n\nconst DEFAULT_STATE = null;\n\nexport default function referenceGrammarID(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_REFERENCE_GRAMMAR_ID:\n      state = payload.referenceGrammarID || null;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { SET_SEND_BOX_ATTACHMENTS } from '../actions/setSendBoxAttachments';\nimport type { SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst DEFAULT_STATE: readonly SendBoxAttachment[] = Object.freeze([]);\n\nexport default function sendBoxAttachments(state = DEFAULT_STATE, { payload, type }): readonly SendBoxAttachment[] {\n  switch (type) {\n    case SET_SEND_BOX_ATTACHMENTS:\n      state = payload.attachments;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { SET_SEND_BOX } from '../actions/setSendBox';\n\nconst DEFAULT_STATE = '';\n\nexport default function sendBoxValue(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_SEND_BOX:\n      state = payload.text;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { SET_SEND_TIMEOUT } from '../actions/setSendTimeout';\n\nconst DEFAULT_STATE = 20000;\n\nexport default function sendTimeout(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_SEND_TIMEOUT:\n      state = payload.sendTimeout;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\n\nconst DEFAULT_STATE = false;\n\nexport default function sendTypingIndicator(state = DEFAULT_STATE, { payload, type }) {\n  switch (type) {\n    case SET_SEND_TYPING_INDICATOR:\n      state = payload.sendTypingIndicator;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { START_SPEAKING_ACTIVITY } from '../actions/startSpeakingActivity';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\n\nexport default function shouldSpeakIncomingActivity(state = false, { type }) {\n  switch (type) {\n    case START_SPEAKING_ACTIVITY:\n      state = true;\n      break;\n\n    case STOP_SPEAKING_ACTIVITY:\n      state = false;\n      break;\n\n    default:\n      break;\n  }\n\n  return state;\n}\n","import { type Action } from 'redux';\nimport { parse } from 'valibot';\n\nimport { SET_RAW_STATE, setRawStateActionSchema } from '../internal/actions/setRawState';\nimport { type SuggestedActionsState } from '../internal/types/suggestedActions';\n\nconst DEFAULT_STATE: SuggestedActionsState = Object.freeze([]);\n\nfunction suggestedActions(state: SuggestedActionsState = DEFAULT_STATE, action: Action): SuggestedActionsState {\n  if (action.type === SET_RAW_STATE) {\n    const parsedAction = parse(setRawStateActionSchema, action);\n\n    if (parsedAction.payload.name === 'suggestedActions') {\n      ({ state } = parsedAction.payload);\n    }\n  }\n\n  return state;\n}\n\nexport default suggestedActions;\n","import { type Action } from 'redux';\nimport { parse } from 'valibot';\n\nimport { SET_RAW_STATE, setRawStateActionSchema } from '../internal/actions/setRawState';\nimport { type SuggestedActionsOriginActivityState } from '../internal/types/suggestedActionsOriginActivity';\n\nconst DEFAULT_STATE: SuggestedActionsOriginActivityState = Object.freeze({ activity: undefined });\n\nfunction suggestedActionsOriginActivity(\n  state: SuggestedActionsOriginActivityState = DEFAULT_STATE,\n  action: Action\n): SuggestedActionsOriginActivityState {\n  if (action.type === SET_RAW_STATE) {\n    const parsedAction = parse(setRawStateActionSchema, action);\n\n    if (parsedAction.payload.name === 'suggestedActionsOriginActivity') {\n      ({ state } = parsedAction.payload);\n    }\n  }\n\n  return state;\n}\n\nexport default suggestedActionsOriginActivity;\n","import { VOICE_MUTE_RECORDING } from '../actions/muteVoiceRecording';\nimport { VOICE_REGISTER_HANDLER } from '../actions/registerVoiceHandler';\nimport { VOICE_SET_STATE } from '../actions/setVoiceState';\nimport { VOICE_START_RECORDING } from '../actions/startVoiceRecording';\nimport { VOICE_STOP_RECORDING } from '../actions/stopVoiceRecording';\nimport { VOICE_UNMUTE_RECORDING } from '../actions/unmuteVoiceRecording';\nimport { VOICE_UNREGISTER_HANDLER } from '../actions/unregisterVoiceHandler';\n\nimport type { VoiceMuteRecordingAction } from '../actions/muteVoiceRecording';\nimport type { VoiceHandler, VoiceRegisterHandlerAction } from '../actions/registerVoiceHandler';\nimport type { VoiceSetStateAction, VoiceState } from '../actions/setVoiceState';\nimport type { VoiceStartRecordingAction } from '../actions/startVoiceRecording';\nimport type { VoiceStopRecordingAction } from '../actions/stopVoiceRecording';\nimport type { VoiceUnmuteRecordingAction } from '../actions/unmuteVoiceRecording';\nimport type { VoiceUnregisterHandlerAction } from '../actions/unregisterVoiceHandler';\n\ntype VoiceActivityActions =\n  | VoiceMuteRecordingAction\n  | VoiceRegisterHandlerAction\n  | VoiceSetStateAction\n  | VoiceStartRecordingAction\n  | VoiceStopRecordingAction\n  | VoiceUnmuteRecordingAction\n  | VoiceUnregisterHandlerAction;\n\ninterface VoiceActivityState {\n  microphoneMuted: boolean;\n  voiceState: VoiceState;\n  voiceHandlers: Map<string, VoiceHandler>;\n}\n\nconst DEFAULT_STATE: VoiceActivityState = {\n  microphoneMuted: false,\n  voiceState: 'idle',\n  voiceHandlers: new Map()\n};\n\nexport default function voiceActivity(\n  state: VoiceActivityState = DEFAULT_STATE,\n  action: VoiceActivityActions\n): VoiceActivityState {\n  switch (action.type) {\n    case VOICE_MUTE_RECORDING:\n      return {\n        ...state,\n        microphoneMuted: true\n      };\n\n    case VOICE_REGISTER_HANDLER: {\n      const newHandlers = new Map(state.voiceHandlers);\n      newHandlers.set(action.payload.id, action.payload.voiceHandler);\n      return {\n        ...state,\n        voiceHandlers: newHandlers\n      };\n    }\n\n    case VOICE_UNREGISTER_HANDLER: {\n      const newHandlers = new Map(state.voiceHandlers);\n      newHandlers.delete(action.payload.id);\n      return {\n        ...state,\n        voiceHandlers: newHandlers\n      };\n    }\n\n    case VOICE_SET_STATE:\n      return {\n        ...state,\n        voiceState: action.payload.voiceState\n      };\n\n    case VOICE_START_RECORDING:\n      if (state.voiceState !== 'idle') {\n        console.warn(`botframework-webchat: Should not transit from \"${state.voiceState}\" to \"listening\"`);\n      }\n\n      return {\n        ...state,\n        microphoneMuted: false,\n        voiceState: 'listening'\n      };\n\n    case VOICE_STOP_RECORDING:\n      return {\n        ...state,\n        microphoneMuted: false,\n        voiceState: 'idle'\n      };\n\n    case VOICE_UNMUTE_RECORDING:\n      return {\n        ...state,\n        microphoneMuted: false\n      };\n\n    default:\n      return state;\n  }\n}\n\nexport type { VoiceActivityState };\n","import { type Saga } from 'redux-saga';\nimport { fork } from 'redux-saga/effects';\n\nimport actionSinkSaga from './sagas/actionSinkSaga';\nimport clearSuggestedActionsOnPostActivitySaga from './sagas/clearSuggestedActionsOnPostActivitySaga';\nimport connectionStatusToNotificationSaga from './sagas/connectionStatusToNotificationSaga';\nimport connectionStatusUpdateSaga from './sagas/connectionStatusUpdateSaga';\nimport connectSaga from './sagas/connectSaga';\nimport detectSlowConnectionSaga from './sagas/detectSlowConnectionSaga';\nimport emitTypingIndicatorToPostActivitySaga from './sagas/emitTypingIndicatorToPostActivitySaga';\nimport markAllAsSpokenOnStopSpeakActivitySaga from './sagas/markAllAsSpokenOnStopSpeakActivitySaga';\nimport observeActivitySaga from './sagas/observeActivitySaga';\nimport postActivitySaga from './sagas/postActivitySaga';\nimport queueIncomingActivitySaga from './sagas/queueIncomingActivitySaga';\nimport sendEventToPostActivitySaga from './sagas/sendEventToPostActivitySaga';\nimport sendFilesToPostActivitySaga from './sagas/sendFilesToPostActivitySaga';\nimport sendMessageBackToPostActivitySaga from './sagas/sendMessageBackToPostActivitySaga';\nimport sendMessageToPostActivitySaga from './sagas/sendMessageToPostActivitySaga';\nimport sendPostBackToPostActivitySaga from './sagas/sendPostBackToPostActivitySaga';\nimport sendTypingIndicatorOnSetSendBoxSaga from './sagas/sendTypingIndicatorOnSetSendBoxSaga';\nimport speakActivityAndStartDictateOnIncomingActivityFromOthersSaga from './sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga';\nimport startDictateOnSpeakCompleteSaga from './sagas/startDictateOnSpeakCompleteSaga';\nimport startSpeakActivityOnPostActivitySaga from './sagas/startSpeakActivityOnPostActivitySaga';\nimport stopDictateOnCardActionSaga from './sagas/stopDictateOnCardActionSaga';\nimport stopSpeakingActivityOnInputSaga from './sagas/stopSpeakingActivityOnInputSaga';\nimport submitSendBoxSaga from './sagas/submitSendBoxSaga';\nimport postVoiceActivitySaga from './sagas/postVoiceActivitySaga';\nimport { type GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\ntype CreateSagasOptions = {\n  ponyfill: GlobalScopePonyfill;\n};\n\nexport default function createSagas({ ponyfill }: CreateSagasOptions): Saga {\n  return function* () {\n    // TODO: [P2] Since fork() silently catches all exceptions, we need to find a way to console.error them out.\n\n    yield fork(actionSinkSaga);\n    yield fork(clearSuggestedActionsOnPostActivitySaga);\n    yield fork(connectionStatusToNotificationSaga);\n    yield fork(connectionStatusUpdateSaga);\n    yield fork(connectSaga);\n    yield fork(detectSlowConnectionSaga, ponyfill);\n    yield fork(emitTypingIndicatorToPostActivitySaga);\n    yield fork(markAllAsSpokenOnStopSpeakActivitySaga);\n    yield fork(observeActivitySaga);\n    yield fork(postActivitySaga, ponyfill);\n    yield fork(postVoiceActivitySaga, ponyfill);\n    yield fork(queueIncomingActivitySaga, ponyfill);\n    yield fork(sendEventToPostActivitySaga);\n    yield fork(sendFilesToPostActivitySaga);\n    yield fork(sendMessageBackToPostActivitySaga);\n    yield fork(sendMessageToPostActivitySaga);\n    yield fork(sendPostBackToPostActivitySaga);\n    yield fork(sendTypingIndicatorOnSetSendBoxSaga, ponyfill);\n    yield fork(speakActivityAndStartDictateOnIncomingActivityFromOthersSaga);\n    yield fork(startDictateOnSpeakCompleteSaga);\n    yield fork(startSpeakActivityOnPostActivitySaga);\n    yield fork(stopDictateOnCardActionSaga);\n    yield fork(stopSpeakingActivityOnInputSaga);\n    yield fork(submitSendBoxSaga);\n  };\n}\n","import { type Action } from 'redux';\nimport { take, takeEvery } from 'redux-saga/effects';\nimport { safeParse } from 'valibot';\n\nimport {\n  REGISTER_ACTION_SINK,\n  registerActionSinkActionSchema,\n  type RegisterActionSinkAction\n} from '../actions/registerActionSink';\nimport { UNREGISTER_ACTION_SINK, unregisterActionSinkActionSchema } from '../actions/unregisterActionSink';\n\nexport default function* actionSinkSaga() {\n  yield takeEvery(\n    ({ type }) => type === REGISTER_ACTION_SINK,\n    function* (action: RegisterActionSinkAction) {\n      const result = safeParse(registerActionSinkActionSchema, action);\n\n      if (result.success) {\n        const {\n          payload: { sink }\n        } = result.output;\n\n        for (;;) {\n          const action: Action = yield take();\n\n          if (action.type === UNREGISTER_ACTION_SINK) {\n            const result = safeParse(unregisterActionSinkActionSchema, action);\n\n            if (result.success && result.output.payload.sink === sink) {\n              break;\n            }\n          }\n\n          sink(action);\n        }\n      }\n    }\n  );\n}\n","import { type Action } from 'redux';\nimport { custom, function_, is, literal, object, pipe, readonly, type InferOutput } from 'valibot';\n\nconst REGISTER_ACTION_SINK = 'WEB_CHAT_INTERNAL/REGISTER_ACTION_SINK' as const;\n\nconst registerActionSinkActionSchema = pipe(\n  object({\n    payload: pipe(\n      object({\n        sink: custom<(action: Action) => void>(value => is(function_(), value))\n      }),\n      readonly()\n    ),\n    type: literal(REGISTER_ACTION_SINK)\n  }),\n  readonly()\n);\n\ntype RegisterActionSinkAction = InferOutput<typeof registerActionSinkActionSchema>;\n\nfunction registerActionSink(sink: (action: Action) => void): RegisterActionSinkAction {\n  return {\n    payload: { sink },\n    type: REGISTER_ACTION_SINK\n  };\n}\n\nexport default registerActionSink;\nexport { REGISTER_ACTION_SINK, registerActionSinkActionSchema, type RegisterActionSinkAction };\n","import { type Action } from 'redux';\nimport { custom, function_, is, literal, object, pipe, readonly, type InferOutput } from 'valibot';\n\nconst UNREGISTER_ACTION_SINK = 'WEB_CHAT_INTERNAL/UNREGISTER_ACTION_SINK' as const;\n\nconst unregisterActionSinkActionSchema = pipe(\n  object({\n    payload: pipe(\n      object({\n        sink: custom<(action: Action) => void>(value => is(function_(), value))\n      }),\n      readonly()\n    ),\n    type: literal(UNREGISTER_ACTION_SINK)\n  }),\n  readonly()\n);\n\ntype UnregisterActionSinkAction = InferOutput<typeof unregisterActionSinkActionSchema>;\n\nfunction unregisterActionSink(sink: (action: Action) => void): UnregisterActionSinkAction {\n  return {\n    payload: { sink },\n    type: UNREGISTER_ACTION_SINK\n  };\n}\n\nexport default unregisterActionSink;\nexport { UNREGISTER_ACTION_SINK, unregisterActionSinkActionSchema, type UnregisterActionSinkAction };\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport whileConnected from './effects/whileConnected';\n\nfunction* clearSuggestedActions() {\n  yield put(setSuggestedActions());\n}\n\nfunction* clearSuggestedActionsOnPostActivity() {\n  yield takeEvery(\n    ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n    clearSuggestedActions\n  );\n}\n\nexport default function* clearSuggestedActionsOnPostActivitySaga() {\n  yield whileConnected(clearSuggestedActionsOnPostActivity);\n}\n","import { array, custom, is, literal, object, optional, pipe, readonly, type InferOutput } from 'valibot';\nimport { type DirectLineCardAction } from '../types/external/DirectLineCardAction';\nimport { type WebChatActivity } from '../types/WebChatActivity';\n\nconst EMPTY_ARRAY: readonly DirectLineCardAction[] = Object.freeze([]);\n\nconst SET_SUGGESTED_ACTIONS = 'WEB_CHAT/SET_SUGGESTED_ACTIONS' as const;\n\nconst setSuggestedActionsActionSchema = pipe(\n  object({\n    payload: pipe(\n      object({\n        originActivity: optional(custom<WebChatActivity>(value => is(object({}), value))),\n        suggestedActions: pipe(array(custom<DirectLineCardAction>(value => is(object({}), value))), readonly())\n      }),\n      readonly()\n    ),\n    type: literal(SET_SUGGESTED_ACTIONS)\n  }),\n  readonly()\n);\n\ntype SetSuggestedActionsAction = InferOutput<typeof setSuggestedActionsActionSchema>;\n\nexport default function setSuggestedActions(\n  suggestedActions: readonly DirectLineCardAction[] = EMPTY_ARRAY,\n  originActivity: undefined | WebChatActivity = undefined\n): SetSuggestedActionsAction {\n  return {\n    type: SET_SUGGESTED_ACTIONS,\n    payload: { originActivity, suggestedActions }\n  };\n}\n\nexport { SET_SUGGESTED_ACTIONS, setSuggestedActionsActionSchema, type SetSuggestedActionsAction };\n","import { call, cancel, fork, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLING } from '../../actions/connect';\nimport { DISCONNECT_PENDING } from '../../actions/disconnect';\nimport { RECONNECT_PENDING, RECONNECT_FULFILLING } from '../../actions/reconnect';\n\nimport type { DirectLineJSBotConnection } from '../../types/external/DirectLineJSBotConnection';\n\nexport default function whileConnectedEffect<P extends any[]>(\n  fn: (\n    {\n      directLine,\n      userID,\n      username\n    }: {\n      directLine: DirectLineJSBotConnection;\n      userID: string;\n      username: string;\n    },\n    ...args: P\n  ) => void,\n  ...args: P\n) {\n  return call(function* whileConnected() {\n    for (;;) {\n      const {\n        meta: { userID, username },\n        payload: { directLine }\n      }: {\n        meta: {\n          userID: string;\n          username: string;\n        };\n        payload: { directLine: DirectLineJSBotConnection };\n      } = yield take([CONNECT_FULFILLING, RECONNECT_FULFILLING]);\n\n      const task = yield fork(fn, { directLine, userID, username }, ...args);\n\n      // When we receive DISCONNECT_PENDING or RECONNECT_PENDING, the Direct Line connection is currently busy and should not be used.\n\n      yield take([DISCONNECT_PENDING, RECONNECT_PENDING]);\n      yield cancel(task);\n    }\n  });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3, 4] }] */\n\nimport { call, put, takeLatest } from 'redux-saga/effects';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport setNotification from '../actions/setNotification';\n\nconst CONNECTIVITY_STATUS_NOTIFICATION_ID = 'connectivitystatus';\n\nfunction subscribeToPromiseQueue(observable) {\n  const { push, shift } = createPromiseQueue();\n  const subscription = observable.subscribe({ next: push });\n\n  return {\n    shift,\n    unsubscribe() {\n      subscription.unsubscribe();\n    }\n  };\n}\n\nfunction* connectionStatusToNotification({ payload: { directLine } }) {\n  const { shift, unsubscribe } = subscribeToPromiseQueue(directLine.connectionStatus$);\n\n  try {\n    let reconnecting;\n\n    for (;;) {\n      const value = yield call(shift);\n\n      switch (value) {\n        case 0:\n        case 1:\n          yield put(\n            setNotification({\n              id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n              level: 'info',\n              message: reconnecting ? 'reconnecting' : 'connecting'\n            })\n          );\n\n          break;\n\n        case 2:\n          reconnecting = 1;\n\n          yield put(\n            setNotification({\n              id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n              level: 'success',\n              message: 'connected'\n            })\n          );\n\n          break;\n\n        case 3:\n        case 4:\n          reconnecting = 1;\n\n          yield put(\n            setNotification({\n              id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n              level: 'error',\n              message: 'failedtoconnect'\n            })\n          );\n\n          break;\n\n        default:\n          break;\n      }\n    }\n  } finally {\n    unsubscribe();\n  }\n}\n\nexport default function* () {\n  yield takeLatest(CONNECT, connectionStatusToNotification);\n}\n","import { withResolvers } from '@msinternal/botframework-webchat-base/utils';\n\nexport default function createPromiseQueue() {\n  let promiseWithResolvers;\n  const queue = [];\n\n  const push = value => {\n    if (promiseWithResolvers) {\n      const { resolve } = promiseWithResolvers;\n\n      promiseWithResolvers = null;\n      resolve(value);\n    } else {\n      queue.push(value);\n    }\n  };\n\n  const shift = () =>\n    queue.length\n      ? Promise.resolve(queue.shift())\n      : (promiseWithResolvers || (promiseWithResolvers = withResolvers())).promise;\n\n  return {\n    push,\n    shift\n  };\n}\n","import { put } from 'redux-saga/effects';\n\nimport connectionStatusUpdate from '../actions/connectionStatusUpdate';\nimport observeEach from './effects/observeEach';\nimport setReferenceGrammarID from '../actions/setReferenceGrammarID';\nimport whileConnected from './effects/whileConnected';\n\nfunction* observeConnectionStatus({ directLine }) {\n  yield observeEach(directLine.connectionStatus$, function* updateConnectionStatus(connectionStatus) {\n    yield put(connectionStatusUpdate(connectionStatus));\n    yield put(setReferenceGrammarID(directLine.referenceGrammarId));\n  });\n}\n\nexport default function* connectionStatusUpdateSaga() {\n  yield whileConnected(observeConnectionStatus);\n}\n","import { call } from 'redux-saga/effects';\n\nimport createPromiseQueue from '../../createPromiseQueue';\n\nexport default function observeEachEffect(observable, saga) {\n  return call(function* observeEach() {\n    const queue = createPromiseQueue();\n    const subscription = observable.subscribe({ next: queue.push });\n\n    try {\n      for (;;) {\n        const result = yield call(queue.shift);\n\n        yield call(saga, result);\n      }\n    } finally {\n      subscription.unsubscribe();\n    }\n  });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 10] }] */\n\nimport { call, cancel, cancelled, fork, put, race, take } from 'redux-saga/effects';\n\nimport { jwtDecode } from 'jwt-decode';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport forkPut from './effects/forkPut';\nimport uniqueID from '../utils/uniqueID';\nimport updateConnectionStatus, { UPDATE_CONNECTION_STATUS } from '../actions/updateConnectionStatus';\n\nimport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_FULFILLED } from '../actions/disconnect';\n\nimport { RECONNECT } from '../actions/reconnect';\n\nconst CONNECTING = 1;\nconst ONLINE = 2;\nconst UNINITIALIZED = 0;\n\nfunction randomUserID() {\n  return `r_${uniqueID().substring(0, 10)}`;\n}\n\nfunction* observeAndPutConnectionStatusUpdate(directLine) {\n  const connectionStatusQueue = createPromiseQueue();\n  const connectionStatusSubscription = directLine.connectionStatus$.subscribe({ next: connectionStatusQueue.push });\n\n  try {\n    for (;;) {\n      const connectionStatus = yield call(connectionStatusQueue.shift);\n\n      yield put(updateConnectionStatus(connectionStatus));\n    }\n  } finally {\n    connectionStatusSubscription.unsubscribe();\n  }\n}\n\n// TODO: [P2] We should move this check and rectification to DirectLineJS.\nfunction rectifyUserID(directLine, userIDFromAction) {\n  const { token } = directLine;\n\n  let userIDFromToken;\n\n  // TODO: Add test to make sure \"jwt-decode\" work as expected.\n  try {\n    userIDFromToken = (jwtDecode(token) || {}).user;\n    // eslint-disable-next-line no-empty\n  } catch (err) {}\n\n  const result = {\n    fromAction: userIDFromAction,\n    fromToken: userIDFromToken\n  };\n\n  if (userIDFromToken) {\n    if (userIDFromAction && userIDFromAction !== userIDFromToken) {\n      console.warn(\n        'Web Chat: user ID is both specified in the Direct Line token and passed in, will use the user ID from the token.'\n      );\n    }\n\n    result.final = userIDFromToken;\n  } else if (userIDFromAction) {\n    if (typeof userIDFromAction !== 'string') {\n      console.warn('Web Chat: user ID must be a string.');\n\n      result.final = randomUserID();\n    } else if (/^dl_/u.test(userIDFromAction)) {\n      console.warn(\n        'Web Chat: user ID prefixed with \"dl_\" is reserved and must be embedded into the Direct Line token to prevent forgery.'\n      );\n\n      result.final = randomUserID();\n    } else {\n      result.final = userIDFromAction;\n    }\n  } else {\n    result.final = randomUserID();\n  }\n\n  return result;\n}\n\n// We could make this a Promise instead of saga (function generator) to make the code cleaner, if:\n// 1. We found a way to cancel Promise\n// 2. subscribe() are shared amongst all subscriptions, e.g. turn Observable into events\nfunction* connectSaga(directLine) {\n  // DirectLineJS starts the connection only after the first subscriber for activity$, not connectionStatus$\n  const activitySubscription = directLine.activity$.subscribe({ next: () => 0 });\n  const unsubscribeActivity = activitySubscription.unsubscribe.bind(activitySubscription);\n\n  try {\n    for (;;) {\n      const {\n        payload: { connectionStatus }\n      } = yield take(UPDATE_CONNECTION_STATUS);\n\n      if (connectionStatus === ONLINE) {\n        // TODO: [P2] DirectLineJS should kill the connection when we unsubscribe\n        //       But currently in v3, DirectLineJS does not have this functionality\n        //       Thus, we need to call \"end()\" explicitly\n\n        return () => {\n          unsubscribeActivity();\n          directLine.end();\n        };\n      } else if (connectionStatus !== UNINITIALIZED && connectionStatus !== CONNECTING) {\n        throw new Error(`Failed to connect, DirectLineJS returned ${connectionStatus}.`);\n      }\n    }\n  } catch (err) {\n    // We will unsubscribe if we failed to connect or got cancelled only.\n    // We should not unsubscribe in happy case, because DirectLineJS should relying on the subscription to connect/disconnect.\n    unsubscribeActivity();\n\n    throw err;\n  } finally {\n    if (yield cancelled()) {\n      unsubscribeActivity();\n    }\n  }\n}\n\nfunction* reconnectSaga() {\n  for (;;) {\n    const {\n      payload: { connectionStatus }\n    } = yield take(UPDATE_CONNECTION_STATUS);\n\n    if (connectionStatus === ONLINE) {\n      break;\n    } else if (connectionStatus !== CONNECTING) {\n      throw new Error(`Failed to reconnect. DirectLineJS returned ${connectionStatus}.`);\n    }\n  }\n}\n\n// This is similar to behavior of redux-promise-middleware, but using saga instead of Promise.\n// We guarantee PENDING -> FULFILLING -> FULFILLED, or PENDING -> REJECTED. This will help us simplify logic in other part of code.\n// Note that after the saga is cancelled, subsequent call to put() will be ignored silently.\nfunction* runAsyncEffect({ type, meta, payload }, callEffectFactory) {\n  try {\n    yield forkPut({ type: `${type}_PENDING`, meta, payload });\n\n    const result = yield callEffectFactory();\n\n    yield forkPut({ type: `${type}_FULFILLING`, meta, payload }, { type: `${type}_FULFILLED`, meta, payload });\n\n    return result;\n  } catch (payload) {\n    yield forkPut({ type: `${type}_REJECTED`, error: true, meta, payload });\n\n    throw payload;\n  }\n}\n\nfunction* takeDisconnectAsError() {\n  yield take(DISCONNECT);\n\n  throw new Error('disconnected');\n}\n\nfunction runAsyncEffectUntilDisconnect(baseAction, callEffectFactory) {\n  // We cannot use saga cancel() here, because cancelling saga will prohibit us from sending *_REJECTED.\n  // Without REJECTED, it impacts our assumptions around PENDING/FULFILLED/REJECTED.\n  return runAsyncEffect(baseAction, function* runUntilDisconnect() {\n    const { result } = yield race({\n      _: takeDisconnectAsError(),\n      result: callEffectFactory()\n    });\n\n    return result;\n  });\n}\n\nexport default function* () {\n  for (;;) {\n    const {\n      payload: { directLine, userID: userIDFromAction, username }\n    } = yield take(CONNECT);\n\n    const updateConnectionStatusTask = yield fork(observeAndPutConnectionStatusUpdate, directLine);\n    const rectifiedUserID = rectifyUserID(directLine, userIDFromAction);\n\n    // TODO: [P2] Checks if this attached subtask will get killed if the parent task is complete (peacefully), errored out, or cancelled.\n    const meta = {\n      userID: rectifiedUserID.final,\n      username\n    };\n\n    // Send user ID to DirectLineJS if it was specified from props of <API.Composer>.\n    // However, DirectLineJS may still prefer the user ID from token if it is burnt into the token.\n    // To prevent DirectLineJS giving false warnings, we will only call setUserId() if it is different than the token.\n    directLine.setUserId && rectifiedUserID.fromToken !== meta.userID && directLine.setUserId(meta.userID);\n\n    let disconnectMeta;\n\n    // We will dispatch CONNECT_PENDING, wait for connect completed, errored, or cancelled (thru disconnect).\n    // Then dispatch CONNECT_FULFILLED/CONNECT_REJECTED as needed.\n    try {\n      const endDirectLine = yield runAsyncEffectUntilDisconnect(\n        {\n          type: CONNECT,\n          meta,\n          payload: { directLine }\n        },\n        () => call(connectSaga, directLine)\n      );\n\n      try {\n        for (;;) {\n          // We are waiting for connection status change or disconnect action.\n          const { updateConnectionStatusAction: { payload: { connectionStatus } = {} } = {} } = yield race({\n            _: take(DISCONNECT),\n            updateConnectionStatusAction: take(UPDATE_CONNECTION_STATUS)\n          });\n\n          // If it is not disconnect action, connectionStatus will not be undefined.\n          if (connectionStatus === CONNECTING) {\n            // If DirectLineJS changed connectionStatus to CONNECTING, we will treat it as reconnect status.\n            yield runAsyncEffectUntilDisconnect(\n              {\n                type: RECONNECT,\n                meta,\n                payload: { directLine }\n              },\n              () => call(reconnectSaga)\n            );\n          } else if (connectionStatus !== ONLINE) {\n            if (typeof connectionStatus !== 'undefined') {\n              // We need to kill the connection because DirectLineJS want to close it.\n              throw new Error(`Connection status changed to ${connectionStatus}`);\n            } else {\n              // Someone dispatched disconnect action.\n              break;\n            }\n          }\n        }\n      } finally {\n        endDirectLine();\n      }\n    } catch (error) {\n      disconnectMeta = { error };\n    } finally {\n      yield cancel(updateConnectionStatusTask);\n\n      // Even if the connection is interrupted, we will still emit DISCONNECT_PENDING.\n      // This will makes handling logic easier. If CONNECT_FULFILLED, we guarantee DISCONNECT_PENDING.\n      yield forkPut(\n        { type: DISCONNECT_PENDING, meta: disconnectMeta, payload: { directLine } },\n        { type: DISCONNECT_FULFILLED, meta: disconnectMeta, payload: { directLine } }\n      );\n    }\n  }\n}\n","import { fork, put } from 'redux-saga/effects';\n\n// In redux-saga, if we call the following effects in order, we might miss the take('C').\n// 1. take('A')\n// 2. put({ type: 'B' })\n// 3. take('C')\n\n// We need to modify step 2 to:\n// 2. fork(function* () { yield put({ type: 'B' }) })\n\n// This is a helper function for this purpose.\n\nexport default function forkPutEffect(...actions) {\n  return fork(function* forkPut() {\n    for (const action of actions) {\n      yield put(action);\n    }\n  });\n}\n","const UPDATE_CONNECTION_STATUS = 'DIRECT_LINE/UPDATE_CONNECTION_STATUS';\n\nexport default function updateConnectionStatus(connectionStatus) {\n  return {\n    type: UPDATE_CONNECTION_STATUS,\n    payload: { connectionStatus }\n  };\n}\n\nexport { UPDATE_CONNECTION_STATUS };\n","import { call, put, race, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\nimport { RECONNECT_FULFILLED, RECONNECT_PENDING, RECONNECT_REJECTED } from '../actions/reconnect';\nimport sleep from '../utils/sleep';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nconst SLOW_CONNECTION_AFTER = 15000;\n\nexport default function* detectSlowConnectionSaga(ponyfill: GlobalScopePonyfill) {\n  for (;;) {\n    yield take([CONNECT_PENDING, RECONNECT_PENDING]);\n\n    const connectivityRace = yield race({\n      fulfilled: take([CONNECT_FULFILLED, RECONNECT_FULFILLED]),\n      rejected: take([CONNECT_REJECTED, RECONNECT_REJECTED]),\n      slow: call(sleep, SLOW_CONNECTION_AFTER, ponyfill)\n    });\n\n    if ('slow' in connectivityRace) {\n      yield put({ type: CONNECT_STILL_PENDING });\n    }\n  }\n}\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nexport default function sleep(interval: number, ponyfill: GlobalScopePonyfill): Promise<void> {\n  return new Promise(resolve => ponyfill.setTimeout(resolve, Math.max(interval, 0)));\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { EMIT_TYPING_INDICATOR } from '../actions/emitTypingIndicator';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postTypingActivity() {\n  yield put(\n    postActivity({\n      type: 'typing'\n    })\n  );\n}\n\nfunction* emitTypingActivityToPostActivity() {\n  yield takeEvery(({ type }) => type === EMIT_TYPING_INDICATOR, postTypingActivity);\n}\n\nexport default function* emitTypingActivityToPostActivitySaga() {\n  yield whileConnected(emitTypingActivityToPostActivity);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { of as activitiesOf } from '../selectors/activities';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\nimport markActivity from '../actions/markActivity';\nimport speakingActivity from '../definitions/speakingActivity';\n\nfunction* markAllAsSpoken() {\n  const speakingActivities = yield select(activitiesOf(speakingActivity));\n\n  for (const activity of speakingActivities) {\n    yield put(markActivity(activity, 'speak', false));\n  }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* markAllAsSpokenOnStopSpeakActivitySaga() {\n  yield takeEvery(STOP_SPEAKING_ACTIVITY, markAllAsSpoken);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst activities = ({ activities }: ReduxState) => activities;\n\nconst of = (predicate: (activity: WebChatActivity) => boolean) => (state: ReduxState) =>\n  activities(state).filter(predicate);\nconst ofID = (targetID: string) => of(({ id }) => id === targetID);\nconst ofType = (targetType: string) => of(({ type }) => type === targetType);\n\nexport default activities;\nexport { of, ofID, ofType };\n","// If true, the activity is in the queue and needs to be spoken.\n\nexport default function speakingActivity(activity) {\n  return activity.channelData?.speak;\n}\n","import { put, select } from 'redux-saga/effects';\nimport updateIn from 'simple-update-in';\n\nimport observeEach from './effects/observeEach';\nimport queueIncomingActivity from '../actions/queueIncomingActivity';\nimport setVoiceState from '../actions/setVoiceState';\nimport whileConnected from './effects/whileConnected';\nimport isVoiceActivity from '../utils/voiceActivity/isVoiceActivity';\nimport isVoiceTranscriptActivity from '../utils/voiceActivity/isVoiceTranscriptActivity';\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst PASSTHRU_FN = (value: unknown) => value;\n\nfunction patchActivityWithFromRole(activity: DirectLineActivity, userID?: string): DirectLineActivity {\n  // Some activities, such as \"ConversationUpdate\", does not have \"from\" defined.\n  // And although \"role\" is defined in Direct Line spec, it was not sent over the wire.\n  // We normalize the activity here to simplify null-check and logic later.\n\n  // Patch activity.from.role to make sure its either \"bot\", \"user\", or \"channel\"\n  if (!activity.from) {\n    activity = updateIn(activity, ['from', 'role'], () => 'channel');\n  } else if (!activity.from.role) {\n    if (activity.from.id === userID) {\n      activity = updateIn(activity, ['from', 'role'], () => 'user');\n    } else if (activity.from.id) {\n      activity = updateIn(activity, ['from', 'role'], () => 'bot');\n    } else {\n      activity = updateIn(activity, ['from', 'role'], () => 'channel');\n    }\n  }\n\n  return activity;\n}\n\nfunction patchNullAsUndefined(activity: DirectLineActivity): DirectLineActivity {\n  // These fields are known used in Web Chat and in any cases, they should not be null, but undefined.\n  // The only field omitted is \"value\", as it could be null purposefully.\n\n  return [\n    'attachmentLayout',\n    'attachments',\n    'channelData',\n    'conversation',\n    'entities',\n    'from',\n    'inputHint',\n    'locale',\n    'name',\n    'recipient',\n    'speak',\n    'suggestedActions',\n    'text',\n    'textFormat',\n    'timestamp',\n    'type'\n  ].reduce((activity, name) => {\n    const { [name]: value } = activity;\n\n    return updateIn(activity, [name], typeof value === 'undefined' || value === null ? undefined : PASSTHRU_FN);\n  }, activity);\n}\n\n// Patching the `from.name` to be a human readable name.\n// We use the `from.name` for typing indicator, such that it read \"John is typing...\".\nfunction patchFromName(activity: DirectLineActivity) {\n  return updateIn(activity, ['from', 'name'], (name: string | undefined): string => {\n    const { channelId, from = {} } = activity;\n\n    if ((channelId === 'directline' || channelId === 'webchat') && from.id === from.name && from.role === 'bot') {\n      return 'Bot';\n    }\n\n    return name;\n  });\n}\n\nfunction* observeActivity({ directLine, userID }: { directLine: DirectLineJSBotConnection; userID?: string }) {\n  yield observeEach(directLine.activity$, function* observeActivity(activity: DirectLineActivity) {\n    // Handle voice activities separately - don't store them in Redux (except transcripts)\n    if (isVoiceActivity(activity) && !isVoiceTranscriptActivity(activity)) {\n      const { recording, voiceHandlers } = yield select(state => ({\n        recording: state.voice.voiceState !== 'idle',\n        voiceHandlers: state.voice.voiceHandlers\n      }));\n\n      // Only process voice chunks if speech-to-speech is enabled.\n      if (!recording) {\n        return;\n      }\n\n      switch (activity.name) {\n        case 'media.chunk': {\n          const audioContent = activity?.value?.content;\n          if (audioContent) {\n            voiceHandlers.forEach(handler => handler.queueAudio(audioContent));\n          }\n          break;\n        }\n\n        case 'request.update': {\n          const state = activity?.value?.state;\n\n          switch (state) {\n            case 'detected':\n              voiceHandlers.forEach(handler => handler.stopAllAudio());\n              yield put(setVoiceState('user_speaking'));\n              break;\n\n            case 'processing':\n              yield put(setVoiceState('processing'));\n              break;\n\n            default:\n              break;\n          }\n          break;\n        }\n\n        default:\n          break;\n      }\n\n      return;\n    }\n\n    // TODO: [P2] #3953 Move the patching logic to a DirectLineJS wrapper, instead of too close to inners of Web Chat.\n    activity = patchNullAsUndefined(activity);\n    activity = patchActivityWithFromRole(activity, userID);\n    activity = patchFromName(activity);\n\n    yield put(queueIncomingActivity(activity as WebChatActivity));\n  });\n}\n\nexport default function* observeActivitySaga() {\n  yield whileConnected(observeActivity);\n}\n","const QUEUE_INCOMING_ACTIVITY = 'DIRECT_LINE/QUEUE_INCOMING_ACTIVITY';\n\nexport default function queueIncomingActivity(activity) {\n  return {\n    type: QUEUE_INCOMING_ACTIVITY,\n    payload: { activity }\n  };\n}\n\nexport { QUEUE_INCOMING_ACTIVITY };\n","import { check, is, literal, looseObject, object, pipe, string, type InferOutput } from 'valibot';\r\n\r\nimport { WebChatActivity } from '../../types/WebChatActivity';\r\n\r\n// Activity spec proposal - https://github.com/microsoft/Agents/issues/416\r\n// valueType: contains 'audio' or 'dtmf' (works with any server prefix like azure.directline, ccv2, etc.)\r\nconst VoiceActivitySchema = object({\r\n  name: string(),\r\n  type: literal('event'),\r\n  value: looseObject({}),\r\n  valueType: pipe(\r\n    string(),\r\n    check(value => value.includes('audio') || value.includes('dtmf'))\r\n  )\r\n});\r\n\r\nconst isVoiceActivity = (\r\n  activity: WebChatActivity\r\n): activity is WebChatActivity & InferOutput<typeof VoiceActivitySchema> => is(VoiceActivitySchema, activity);\r\n\r\nexport default isVoiceActivity;\r\n","import { check, is, literal, object, picklist, pipe, string, type InferOutput } from 'valibot';\n\nimport { WebChatActivity } from '../../types/WebChatActivity';\n\n// valueType: contains 'audio.transcript' (e.g., azure.directline.audio.transcript)\nconst VoiceTranscriptActivitySchema = object({\n  name: literal('media.end'),\n  type: literal('event'),\n  value: object({\n    origin: picklist(['agent', 'user']),\n    transcription: string()\n  }),\n  valueType: pipe(\n    string(),\n    check(value => value.includes('audio.transcript'))\n  )\n});\n\nconst isVoiceTranscriptActivity = (\n  activity: WebChatActivity\n): activity is WebChatActivity & InferOutput<typeof VoiceTranscriptActivitySchema> =>\n  is(VoiceTranscriptActivitySchema, activity);\n\nexport default isVoiceTranscriptActivity;\n","import { all, call, cancelled, put, race, select, take, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport {\n  POST_ACTIVITY,\n  POST_ACTIVITY_FULFILLED,\n  POST_ACTIVITY_IMPEDED,\n  POST_ACTIVITY_PENDING,\n  POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport languageSelector from '../selectors/language';\nimport sendTimeoutSelector from '../selectors/sendTimeout';\nimport dateToLocaleISOString from '../utils/dateToLocaleISOString';\nimport deleteKey from '../utils/deleteKey';\nimport sleep from '../utils/sleep';\nimport uniqueID from '../utils/uniqueID';\nimport observeOnce from './effects/observeOnce';\nimport whileConnected from './effects/whileConnected';\n\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type {\n  PostActivityAction,\n  PostActivityFulfilledAction,\n  PostActivityImpededAction,\n  PostActivityPendingAction,\n  PostActivityRejectedAction\n} from '../actions/postActivity';\nimport { setSendStatusInOutgoingActivity } from '../reducers/activities/sort/property/SendStatus';\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { WebChatOutgoingActivity } from '../types/internal/WebChatOutgoingActivity';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\n// After 5 minutes, the saga will stop from listening for echo backs and consider the outgoing message as permanently undeliverable.\n// This value must be equals to or larger than the user-defined `styleOptions.sendTimeout`.\nconst HARD_SEND_TIMEOUT = 300000;\n\nfunction* postActivity(\n  directLine: DirectLineJSBotConnection,\n  userID: string,\n  username: string,\n  numActivitiesPosted: number,\n  { meta: { method }, payload: { activity } }: PostActivityAction,\n  ponyfill: GlobalScopePonyfill\n) {\n  const attachments = (activity.type === 'message' && activity.attachments) || [];\n  const clientActivityID = uniqueID();\n  const locale = yield select(languageSelector);\n  const localTimeZone =\n    typeof window.Intl === 'undefined' ? undefined : new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  const now = new ponyfill.Date();\n\n  // Currently, we allow untyped outgoing activity as long as the chat adapter can deliver.\n  // In the future, we should warn if the outgoing activity is not matching the type.\n  let outgoingActivity: WebChatOutgoingActivity = {\n    ...deleteKey(activity, 'id'),\n    channelData: {\n      // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n      // Please refer to #4362 for details. Remove on or after 2024-07-31.\n      ...deleteKey(activity.channelData, 'state'),\n      clientActivityID\n    },\n    channelId: 'webchat',\n    from: {\n      id: userID,\n      name: username,\n      role: 'user'\n    },\n    locale,\n    localTimestamp: dateToLocaleISOString(now),\n    localTimezone: localTimeZone,\n    ...(activity.type === 'message'\n      ? {\n          attachments:\n            attachments &&\n            attachments.map(({ contentType, contentUrl, name, thumbnailUrl }) => ({\n              contentType,\n              contentUrl,\n              name,\n              thumbnailUrl\n            })),\n          text: activity.text\n        }\n      : activity.type === 'event'\n        ? {\n            name: activity.name,\n            value: activity.value\n          }\n        : {})\n  };\n\n  // Remove local fields that should not be send to the service.\n  outgoingActivity = setSendStatusInOutgoingActivity(\n    // TODO: [P1] Need to rework WebChatActivity typing.\n    outgoingActivity as WebChatActivity,\n    undefined\n  ) as WebChatOutgoingActivity;\n\n  if (!numActivitiesPosted) {\n    outgoingActivity.entities = [\n      ...(outgoingActivity.entities || []),\n      {\n        // TODO: [P4] Currently in v3, we send the capabilities although the client might not actually have them\n        //       We need to understand why we need to send these, and only send capabilities the client have\n        requiresBotState: true,\n        supportsListening: true,\n        supportsTts: true,\n        type: 'ClientCapabilities'\n      }\n    ];\n  }\n\n  const meta: { clientActivityID: string; method: string } = { clientActivityID, method };\n\n  yield put({\n    type: POST_ACTIVITY_PENDING,\n    meta,\n    payload: { activity: outgoingActivity }\n  } as PostActivityPendingAction);\n\n  let echoed: boolean | undefined;\n\n  try {\n    // Quirks: We might receive INCOMING_ACTIVITY before the postActivity call completed\n    //         So, we setup expectation first, then postActivity afterward\n\n    const echoBackCall = call(function* () {\n      for (;;) {\n        const {\n          payload: { activity }\n        }: IncomingActivityAction = yield take(INCOMING_ACTIVITY);\n        if (activity.channelData?.clientActivityID === clientActivityID && activity.id) {\n          echoed = true;\n\n          return activity;\n        }\n      }\n    });\n\n    // Timeout could be due to either:\n    // - Post activity call may take too long time to complete\n    //   - Direct Line service only respond on HTTP after bot respond to Direct Line\n    // - Activity may take too long time to echo back\n\n    const sendTimeout: number = yield select(sendTimeoutSelector);\n\n    const {\n      send: { echoBack }\n    }: { send: { echoBack: WebChatActivity } } = yield race({\n      send: all({\n        echoBack: echoBackCall,\n        postActivity: observeOnce(directLine.postActivity(outgoingActivity as DirectLineActivity))\n      }),\n      timeout: call(function* () {\n        yield call(sleep, sendTimeout, ponyfill);\n\n        // The IMPEDED action is for backward compatibility by changing `channelData.state` to \"send failed\".\n        // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n        // Please refer to #4362 for details. Remove on or after 2024-07-31.\n        yield put({\n          type: POST_ACTIVITY_IMPEDED,\n          meta,\n          payload: { activity: outgoingActivity }\n        } as PostActivityImpededAction);\n\n        yield call(sleep, HARD_SEND_TIMEOUT - sendTimeout, ponyfill);\n\n        throw !echoed\n          ? new Error('timed out while waiting for outgoing message to echo back')\n          : new Error('timed out while waiting for postActivity to return any values');\n      })\n    });\n\n    yield put({ type: POST_ACTIVITY_FULFILLED, meta, payload: { activity: echoBack } } as PostActivityFulfilledAction);\n  } catch (err) {\n    console.error('botframework-webchat: Failed to post activity to chat adapter.', err);\n\n    yield put({\n      type: POST_ACTIVITY_REJECTED,\n      error: true,\n      meta,\n      payload: err\n    } as PostActivityRejectedAction);\n  } finally {\n    if (yield cancelled()) {\n      yield put({\n        type: POST_ACTIVITY_REJECTED,\n        error: true,\n        meta,\n        payload: new Error('cancelled')\n      } as PostActivityRejectedAction);\n    }\n  }\n}\n\nexport default function* postActivitySaga(ponyfill: GlobalScopePonyfill) {\n  yield whileConnected(function* postActivityWhileConnected({\n    directLine,\n    userID,\n    username\n  }: {\n    directLine: DirectLineJSBotConnection;\n    userID: string;\n    username: string;\n  }) {\n    let numActivitiesPosted = 0;\n\n    yield takeEvery(POST_ACTIVITY, function* postActivityWrapper(action: PostActivityAction) {\n      yield* postActivity(directLine, userID, username, numActivitiesPosted++, action, ponyfill);\n    });\n  });\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ language }: ReduxState): string => language;\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTimeout }: ReduxState): number => sendTimeout;\n","/* eslint no-magic-numbers: [\"off\", { \"ignore\": [1, 2, 3, 60] }] */\n\nfunction pad(value: number, count = 2): string {\n  if (typeof value !== 'number') {\n    throw new Error('First argument must be a number');\n  }\n\n  let stringValue = value + '';\n\n  while (stringValue.length < count) {\n    stringValue = '0' + stringValue;\n  }\n\n  return stringValue;\n}\n\n// Adopted from https://stackoverflow.com/questions/17415579/how-to-iso-8601-format-a-date-with-timezone-offset-in-javascript.\n// Use typing of `Date` from globalThis.\n// eslint-disable-next-line no-restricted-globals\nexport default function dateToLocaleISOString(date: Date): string {\n  const isDateLike =\n    // @ts-ignore TypeScript think this is always true.\n    date.getTimezoneOffset &&\n    // @ts-ignore TypeScript think this is always true.\n    date.getFullYear &&\n    // @ts-ignore TypeScript think this is always true.\n    date.getMonth &&\n    // @ts-ignore TypeScript think this is always true.\n    date.getDate &&\n    // @ts-ignore TypeScript think this is always true.\n    date.getHours &&\n    // @ts-ignore TypeScript think this is always true.\n    date.getMinutes &&\n    // @ts-ignore TypeScript think this is always true.\n    date.getSeconds &&\n    date.getMilliseconds;\n\n  if (!isDateLike) {\n    throw new Error('First argument must be a Date-like object.');\n  }\n\n  const timezoneOffset = -date.getTimezoneOffset();\n  const timezoneSign = timezoneOffset < 0 ? '-' : '+';\n\n  // \"yyyy-MM-DDTHH:mm:ss.fff+08:00\" for GMT+08\n  // \"yyyy-MM-DDTHH:mm:ss.fffZ\" for UTC\n\n  const absoluteTimezoneOffset = ~~Math.abs(timezoneOffset);\n\n  return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(\n    date.getMinutes()\n  )}:${pad(date.getSeconds())}.${pad(date.getMilliseconds(), 3)}${\n    timezoneOffset ? `${timezoneSign}${pad(~~(absoluteTimezoneOffset / 60))}:${pad(absoluteTimezoneOffset % 60)}` : 'Z'\n  }`;\n}\n","import { isForbiddenPropertyName } from '@msinternal/botframework-webchat-base/utils';\n\nexport default function deleteKey<TMap, TKey extends keyof TMap>(map: TMap, ...keys: TKey[]): Omit<TMap, TKey> {\n  if (!map) {\n    return map;\n  }\n\n  const nextMap = { ...map };\n\n  for (const key of keys) {\n    if (typeof key !== 'string' || !isForbiddenPropertyName(key)) {\n      // Mitigation through denylisting.\n      // eslint-disable-next-line security/detect-object-injection\n      delete nextMap[key];\n    }\n  }\n\n  return nextMap;\n}\n","import { call } from 'redux-saga/effects';\n\nimport { Observable, Observer, Subscription } from '../../types/external/Observable';\n\nexport default function observeOnceEffect<T>(observable: Observable<T>) {\n  return call(function* observeOnce() {\n    let subscription: Subscription;\n\n    try {\n      return yield call(\n        () =>\n          new Promise<T>((resolve, reject) => {\n            subscription = observable.subscribe({\n              complete: resolve,\n              error: reject,\n              next: resolve\n            } as Observer<T>);\n          })\n      );\n    } finally {\n      subscription && subscription.unsubscribe();\n    }\n  });\n}\n","import { call, cancelled, fork, put, race, select, take } from 'redux-saga/effects';\n\nimport incomingActivity, { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { QUEUE_INCOMING_ACTIVITY } from '../actions/queueIncomingActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport activityFromBot from '../definitions/activityFromBot';\nimport activitiesSelector, { ofType as activitiesOfType } from '../selectors/activities';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n// We will hold up the replying activity if the originating activity did not arrive, up to 5 seconds.\nconst REPLY_TIMEOUT = 5000;\n\nfunction* takeEveryAndSelect(actionType, selector, fn) {\n  // select() will free up the code execution.\n  // If we pair up with takeEvery(), it will allow actions to slip through.\n  // Thus, we are writing one that don't use takeEvery().\n  while (!(yield cancelled())) {\n    const action = yield take(actionType);\n    const state = yield select(selector);\n\n    yield fork(fn, action, state);\n  }\n}\n\n// Wait for specific activity to arrive in the transcript.\n// We will use the initial set of activities to close time gaps between select() and take().\n// If another activity with the same \"replyToId\" is already rendered (in the \"activities\" array),\n// we will skip the wait as we already waited long enough for the missing activity to show up.\nfunction* waitForActivityId(replyToId, initialActivities) {\n  let activities = initialActivities;\n\n  for (;;) {\n    const replied = activities.find(activity => activity.id === replyToId || activity.replyToId === replyToId);\n\n    if (replied) {\n      break;\n    }\n\n    const {\n      payload: { activity }\n    } = yield take(INCOMING_ACTIVITY);\n\n    if (activity.id === replyToId) {\n      break;\n    }\n\n    activities = yield select(activitiesSelector);\n  }\n}\n\nfunction* queueIncomingActivity({ userID }: { userID: string }, ponyfill: GlobalScopePonyfill) {\n  yield takeEveryAndSelect(\n    QUEUE_INCOMING_ACTIVITY,\n    activitiesSelector,\n    function* queueIncomingActivity({ payload: { activity } }, initialActivities) {\n      // This is for resolving an accessibility issue.\n      // If the incoming activity has \"replyToId\" field, hold on it until the activity replied to is in the transcript, then release this one.\n      const { replyToId } = activity;\n      const initialBotActivities = initialActivities.filter(({ from: { role } }) => role === 'bot');\n\n      // To speed up the first activity render time, we do not delay the first activity from the bot.\n      // Even if it is the first activity from the bot, the bot might be \"replying\" to the \"conversationUpdate\" event.\n      // Thus, the \"replyToId\" will always be there even it is the first activity in the conversation.\n      if (replyToId && initialBotActivities.length) {\n        // Either the activity replied to is in the transcript or after timeout.\n        const result = yield race({\n          _: waitForActivityId(replyToId, initialActivities),\n          timeout: call(sleep, REPLY_TIMEOUT, ponyfill)\n        });\n\n        if ('timeout' in result) {\n          console.warn(\n            `botframework-webchat: Timed out while waiting for activity \"${replyToId}\" which activity \"${activity.id}\" is replying to.`,\n            {\n              activity,\n              replyToId\n            }\n          );\n        }\n      }\n\n      yield put(incomingActivity(activity));\n\n      // Update suggested actions\n      // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched.\n      const messageActivities = yield select(activitiesOfType('message'));\n      const lastMessageActivity = messageActivities[messageActivities.length - 1];\n\n      if (activityFromBot(lastMessageActivity)) {\n        const { suggestedActions: { actions, to } = { actions: undefined, to: undefined } } = lastMessageActivity;\n\n        // If suggested actions is not destined to anyone, or is destined to the user, show it.\n        // In other words, if suggested actions is destined to someone else, don't show it.\n        const suggestedActions = to?.length && !to.includes(userID) ? null : actions;\n\n        if (suggestedActions) {\n          yield put(setSuggestedActions(suggestedActions, lastMessageActivity));\n        } else {\n          yield put(setSuggestedActions());\n        }\n      }\n    }\n  );\n}\n\nexport default function* queueIncomingActivitySaga(ponyfill: GlobalScopePonyfill) {\n  yield whileConnected(queueIncomingActivity, ponyfill);\n}\n","export default activity => activity && activity.from.role === 'bot';\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { SEND_EVENT } from '../actions/sendEvent';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithEvent({ payload: { name, value } }) {\n  yield put(\n    postActivity({\n      name,\n      type: 'event',\n      value\n    })\n  );\n}\n\nfunction* sendEventToPostActivity() {\n  yield takeEvery(({ payload, type }) => type === SEND_EVENT && payload.name, postActivityWithEvent);\n}\n\nexport default function* sendEventToPostActivitySaga() {\n  yield whileConnected(sendEventToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport mime from 'mime';\n\nimport { SEND_FILES } from '../actions/sendFiles';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nconst getType = mime.getType.bind(mime);\n\nfunction* postActivityWithFiles({ payload: { files } }) {\n  yield put(\n    postActivity({\n      attachments: [].map.call(files, ({ name, thumbnail, url }) => ({\n        contentType: getType(name) || 'application/octet-stream',\n        contentUrl: url,\n        name,\n        thumbnailUrl: thumbnail\n      })),\n      channelData: {\n        attachmentSizes: [].map.call(files, ({ size }) => size)\n      },\n      type: 'message'\n    })\n  );\n}\n\nfunction* sendFilesToPostActivity() {\n  yield takeEvery(({ payload, type }) => type === SEND_FILES && payload.files.length, postActivityWithFiles);\n}\n\nexport default function* sendFilesToPostActivitySaga() {\n  yield whileConnected(sendFilesToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_MESSAGE_BACK } from '../actions/sendMessageBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#message-back\nfunction* postActivityWithMessageBack({ payload: { displayText, text, value } }) {\n  yield put(\n    postActivity({\n      channelData: {\n        messageBack: {\n          displayText\n        }\n      },\n      text,\n      type: 'message',\n      value\n    })\n  );\n}\n\nfunction* sendMessageBackToPostActivity() {\n  yield takeEvery(SEND_MESSAGE_BACK, postActivityWithMessageBack);\n}\n\nexport default function* sendMessageBackToPostActivitySaga() {\n  yield whileConnected(sendMessageBackToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport postActivity from '../actions/postActivity';\nimport sendMessage, { SEND_MESSAGE } from '../actions/sendMessage';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithMessage({\n  payload: { attachments = [], channelData, method, text }\n}: ReturnType<typeof sendMessage>) {\n  yield put(\n    postActivity(\n      {\n        attachments: attachments.map(({ blob, thumbnailURL }) => ({\n          contentType: (blob instanceof File && blob.type) || 'application/octet-stream',\n          // Chat adapter should download the file as binary.\n          // In case the chat adapter naively echo back the URL, it will be treated as binary.\n          // eslint-disable-next-line no-restricted-properties\n          contentUrl: URL.createObjectURL(new Blob([blob], { type: 'application/octet-stream' })),\n          name: blob instanceof File ? blob.name : undefined,\n          thumbnailUrl: thumbnailURL?.toString()\n        })),\n        channelData: {\n          ...channelData,\n          attachmentSizes: attachments.map(({ blob: { size } }) => size)\n        },\n        text: text || undefined,\n        textFormat: 'plain',\n        type: 'message'\n      } as any, // TODO: Fix WebChatActivity. Currently, it only works with incoming activity, not outgoing.\n      method\n    )\n  );\n}\n\nfunction* sendMessageToPostActivity() {\n  yield takeEvery(\n    ({ payload, type }) => type === SEND_MESSAGE && (payload.text || payload.attachments?.length),\n    postActivityWithMessage\n  );\n}\n\nexport default function* sendMessageToPostActivitySaga() {\n  yield whileConnected(sendMessageToPostActivity);\n}\n","// This is for the ternary operator of text and value.\n/* eslint no-undefined: \"off\" */\n\nimport { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_POST_BACK } from '../actions/sendPostBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#post-back\nfunction* postActivityWithPostBack({ payload: { value } }) {\n  yield put(\n    postActivity({\n      channelData: {\n        postBack: true\n      },\n      text: typeof value === 'string' ? value : undefined,\n      type: 'message',\n      value: typeof value !== 'string' ? value : undefined\n    })\n  );\n}\n\nfunction* sendPostBackToPostActivity() {\n  yield takeEvery(SEND_POST_BACK, postActivityWithPostBack);\n}\n\nexport default function* sendPostBackToPostActivitySaga() {\n  yield whileConnected(sendPostBackToPostActivity);\n}\n","// We will revisit this logic in #2157 and should remove the following eslint ignore\n/* eslint require-atomic-updates: \"off\" */\n\nimport { call, cancel, put, select, take, takeLatest } from 'redux-saga/effects';\n\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\nimport { POST_ACTIVITY } from '../actions/postActivity';\nimport emitTypingIndicator from '../actions/emitTypingIndicator';\nimport sendTypingIndicatorSelector from '../selectors/sendTypingIndicator';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type setSendTypingIndicator from '../actions/setSendTypingIndicator';\n\ntype SetSendTypingIndicatorAction = ReturnType<typeof setSendTypingIndicator>;\n\nconst SEND_INTERVAL = 3000;\n\nfunction takeSendTypingIndicator(value: boolean) {\n  return take<SetSendTypingIndicatorAction>(\n    // TODO: \"any\" should be replaced all known types in the system.\n    ({ payload, type }: any) => type === SET_SEND_TYPING_INDICATOR && !payload.sendTypingIndicator === !value\n  );\n}\n\nfunction* sendTypingIndicatorOnSetSendBox(_, ponyfill: GlobalScopePonyfill) {\n  const { Date } = ponyfill;\n  const sendTypingIndicator = yield select(sendTypingIndicatorSelector);\n\n  if (!sendTypingIndicator) {\n    yield takeSendTypingIndicator(true);\n  }\n\n  for (;;) {\n    let lastSend = -Infinity;\n    const task = yield takeLatest(\n      ({ payload, type }) =>\n        (type === SET_SEND_BOX && payload.text) ||\n        // Stop sending pending typing indicator if the user has posted anything.\n        // We send typing indicator in a debounce way (t = 0, t = 3000, t = 6000).\n        // When the user type, and then post the activity at t = 1500, we still have a pending typing indicator at t = 3000.\n        // This code is to cancel the typing indicator at t = 3000.\n        (type === POST_ACTIVITY && payload.activity.type !== 'typing'),\n      function* ({ payload, type }) {\n        if (type === SET_SEND_BOX) {\n          const interval = SEND_INTERVAL - Date.now() + lastSend;\n\n          if (interval > 0) {\n            yield call(sleep, interval, ponyfill);\n          }\n\n          yield put(emitTypingIndicator());\n\n          lastSend = Date.now();\n        } else if (payload.activity.type === 'message') {\n          lastSend = -Infinity;\n        }\n      }\n    );\n\n    yield takeSendTypingIndicator(false);\n    yield cancel(task);\n    yield takeSendTypingIndicator(true);\n  }\n}\n\nexport default function* sendTypingIndicatorOnSetSendBoxSaga(ponyfill: GlobalScopePonyfill) {\n  yield whileConnected(sendTypingIndicatorOnSetSendBox, ponyfill);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTypingIndicator }: ReduxState): boolean => sendTypingIndicator;\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport markActivity from '../actions/markActivity';\nimport setDictateState from '../actions/setDictateState';\nimport stopDictate from '../actions/stopDictate';\nimport { IDLE, WILL_START } from '../constants/DictateState';\nimport speakableActivity from '../definitions/speakableActivity';\nimport dictateStateSelector from '../selectors/dictateState';\nimport shouldSpeakIncomingActivitySelector from '../selectors/shouldSpeakIncomingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* speakActivityAndStartDictateOnIncomingActivityFromOthers({ userID }) {\n  yield takeEvery(\n    ({ payload, type }) =>\n      // In Direct Line, the \"role\" is not filled (yet), but we do know the user ID.\n      // In Direct Line Speech, we do not know the user ID, but \"role\" is filled with \"bot\" or \"user\".\n      // Here, we do two checks: the speakable activity must not have user ID, and must not have role === 'user'\n      type === INCOMING_ACTIVITY && payload.activity.from.id !== userID && payload.activity.from.role !== 'user',\n    function* ({ payload: { activity } }) {\n      const shouldSpeakIncomingActivity = yield select(shouldSpeakIncomingActivitySelector);\n      const dictateState = yield select(dictateStateSelector);\n      const shouldSpeak = speakableActivity(activity) && shouldSpeakIncomingActivity;\n\n      if (\n        shouldSpeak &&\n        (activity.speak ||\n          activity.text ||\n          ~(activity.attachments || []).findIndex(({ content: { speak } = {} }) => speak))\n      ) {\n        yield put(markActivity(activity, 'speak', true));\n      }\n\n      if (shouldSpeak && activity.inputHint === 'expectingInput') {\n        // In continuous mode (dictateState === LISTENING), we shouldn't set it to WILL_START.\n        // WILL_START means auto start after synthesis completed.\n        if (dictateState === IDLE) {\n          yield put(setDictateState(WILL_START));\n        }\n      } else if (activity.inputHint === 'ignoringInput') {\n        yield put(stopDictate());\n      }\n    }\n  );\n}\n\nexport default function* speakActivityAndStartDictateOnIncomingActivityFromOthersSaga() {\n  yield whileConnected(speakActivityAndStartDictateOnIncomingActivityFromOthers);\n}\n","export default function speakableActivity(activity) {\n  return activity && activity.from && activity.type === 'message';\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ dictateState }: ReduxState) => dictateState;\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ shouldSpeakIncomingActivity }: ReduxState): boolean => shouldSpeakIncomingActivity;\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport startDictate from '../actions/startDictate';\nimport { WILL_START } from '../constants/DictateState';\nimport speakingActivity from '../definitions/speakingActivity';\nimport { of as activitiesOf } from '../selectors/activities';\nimport dictateStateSelector from '../selectors/dictateState';\n\nfunction* startDictateOnSpeakComplete() {\n  const speakingActivities = yield select(activitiesOf(speakingActivity));\n  const dictateState = yield select(dictateStateSelector);\n\n  if (dictateState === WILL_START && !speakingActivities.length) {\n    yield put(startDictate());\n  }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* startDictateOnSpeakCompleteSaga() {\n  yield takeEvery(({ type }) => type === MARK_ACTIVITY || type === SET_DICTATE_STATE, startDictateOnSpeakComplete);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport startSpeakingActivity from '../actions/startSpeakingActivity';\nimport { DICTATING } from '../constants/DictateState';\nimport dictateStateSelector from '../selectors/dictateState';\nimport whileConnected from './effects/whileConnected';\n\nfunction* startSpeakActivityOnPostActivity() {\n  yield takeEvery(\n    ({ type }) => type === POST_ACTIVITY_PENDING,\n    function* ({ meta, payload }) {\n      const dictateState = yield select(dictateStateSelector);\n\n      if (\n        // In continuous mode (speech recognition is active), we should speak everything.\n        dictateState === DICTATING ||\n        // Otherwise, in interactive mode, if last message was sent via speech, we should speak bot response.\n        (meta.method === 'speech' && payload.activity.type === 'message')\n      ) {\n        yield put(startSpeakingActivity());\n      }\n    }\n  );\n}\n\nexport default function* startSpeakActivityOnPostActivitySaga() {\n  yield whileConnected(startSpeakActivityOnPostActivity);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport stopDictate from '../actions/stopDictate';\nimport { DICTATING } from '../constants/DictateState';\nimport dictateStateSelector from '../selectors/dictateState';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopDictateOnCardAction() {\n  // TODO: [P2] We should stop speech input when the user click on anything on a card, including open URL which doesn't generate postActivity\n  //       This functionality was not implemented in v3\n  yield takeEvery(\n    // Currently, there are no actions that are related to card input\n    // For now, we are using POST_ACTIVITY of a \"message\" activity\n    // In the future, if we have an action for card input, we should use that instead\n    ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n    function* putStopDictate() {\n      const dictateState = yield select(dictateStateSelector);\n\n      // When performing card action:\n      // - In continuous mode (speech recognition is active), speech recognition should not be stopped\n      // - Otherwise, in interactive mode, speech recognition should be stopped\n      if (dictateState !== DICTATING) {\n        yield put(stopDictate());\n      }\n    }\n  );\n}\n\nexport default function* stopDictateOnCardActionSaga() {\n  yield whileConnected(stopDictateOnCardAction);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport { SET_DICTATE_INTERIMS } from '../actions/setDictateInterims';\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport stopSpeakingActivity from '../actions/stopSpeakingActivity';\nimport { DICTATING } from '../constants/DictateState';\nimport dictateStateSelector from '../selectors/dictateState';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopSpeakingActivityOnInput() {\n  yield takeEvery(\n    ({ payload, type }) =>\n      (type === SET_SEND_BOX && payload.text) ||\n      // We want to stop speaking activity when the user click on a card action\n      // But currently there are no actions generated out of a card action\n      // So, right now, we are using best-effort by listening to POST_ACTIVITY_PENDING with a \"message\" event\n      // We filter out speech because we will call startSpeakingActivity() for POST_ACTIVITY_PENDING dispatched by speech\n      type === POST_ACTIVITY_PENDING ||\n      // We want to stop speaking activity on barge-in.\n      type === SET_DICTATE_INTERIMS,\n    function* ({ meta, payload, type }) {\n      const dictateState = yield select(dictateStateSelector);\n\n      // If input is post activity, do not stop speaking if either one of the followings:\n      // - In continuous mode (speech recognition should active for as long as possible)\n      // - Posting via speech (interactive mode, should speak bot response)\n      // - Posting a non-message (interactive mode, not typing on keyboard, should be ignored)\n      if (\n        type === POST_ACTIVITY_PENDING &&\n        (dictateState === DICTATING || meta.method === 'speech' || payload.activity.type !== 'message')\n      ) {\n        return;\n      }\n\n      yield put(stopSpeakingActivity());\n    }\n  );\n}\n\nexport default function* stopSpeakingActivityOnInputSaga() {\n  yield whileConnected(stopSpeakingActivityOnInput);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport sendMessage from '../actions/sendMessage';\nimport setSendBox from '../actions/setSendBox';\nimport setSendBoxAttachments from '../actions/setSendBoxAttachments';\nimport { SUBMIT_SEND_BOX } from '../actions/submitSendBox';\nimport sendBoxAttachmentsSelector from '../selectors/sendBoxAttachments';\nimport sendBoxValueSelector from '../selectors/sendBoxValue';\nimport whileConnected from './effects/whileConnected';\n\nfunction* submitSendBox() {\n  yield takeEvery(SUBMIT_SEND_BOX, function* ({ payload: { channelData, method } }) {\n    const attachments = yield select(sendBoxAttachmentsSelector);\n    const sendBoxValue = yield select(sendBoxValueSelector);\n\n    // TODO: [P2] If the trimmed value is empty, we should not send.\n    // TODO: [P2] We should expose this logic (\"cannot send empty message\") to other components such as UI.\n    if (attachments.length || sendBoxValue) {\n      yield put(sendMessage(sendBoxValue.trim(), method, { attachments, channelData }));\n\n      yield put(setSendBox(''));\n      yield put(setSendBoxAttachments(Object.freeze([])));\n    }\n  });\n}\n\nexport default function* submitSendBoxSaga() {\n  // TODO: [P2] We should expose this logic (\"send only when connected\") to other components such as UI.\n  yield whileConnected(submitSendBox);\n}\n","import type { SendBoxAttachment } from '../types/SendBoxAttachment';\nimport type { ReduxState } from '../types/internal/ReduxState';\n\nexport default function sendBoxAttachments({ sendBoxAttachments }: ReduxState): readonly SendBoxAttachment[] {\n  return sendBoxAttachments;\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendBoxValue }: ReduxState): string => sendBoxValue;\n","import { select, takeEvery } from 'redux-saga/effects';\nimport { VOICE_POST_ACTIVITY } from '../actions/postVoiceActivity';\nimport languageSelector from '../selectors/language';\nimport dateToLocaleISOString from '../utils/dateToLocaleISOString';\nimport whileConnected from './effects/whileConnected';\nimport observeOnce from './effects/observeOnce';\n\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { VoicePostActivityAction } from '../actions/postVoiceActivity';\n\n/**\n * Saga for handling outgoing voice activities.\n *\n * Unlike regular postActivitySaga, this saga:\n * - Does NOT wait for echo back\n * - Does NOT store activity in Redux\n * - Does NOT dispatch PENDING/FULFILLED/REJECTED actions\n * - Fire and forget - just send to WebSocket\n *\n * This prevents memory leaks from storing thousands of voice chunks.\n */\nfunction* postVoiceActivity(\n  directLine: DirectLineJSBotConnection,\n  userID: string,\n  username: string,\n  { payload: { activity } }: VoicePostActivityAction,\n  ponyfill: GlobalScopePonyfill\n) {\n  const locale: string = yield select(languageSelector);\n  const localTimeZone =\n    typeof window.Intl === 'undefined' ? undefined : new Intl.DateTimeFormat().resolvedOptions().timeZone;\n  const now = new ponyfill.Date();\n\n  const outgoingActivity = {\n    ...activity,\n    channelId: 'webchat',\n    from: {\n      id: userID,\n      name: username,\n      role: 'user'\n    },\n    locale,\n    localTimestamp: dateToLocaleISOString(now),\n    localTimezone: localTimeZone,\n    ...(activity.type === 'event'\n      ? {\n          name: activity.name,\n          value: activity.value\n        }\n      : {})\n  };\n\n  try {\n    yield observeOnce(directLine.postActivity(outgoingActivity as DirectLineActivity));\n  } catch (error) {\n    console.error('botframework-webchat: Failed to post voice activity to chat adapter.', error);\n  }\n}\n\nexport default function* voiceActivitySaga(ponyfill: GlobalScopePonyfill) {\n  yield whileConnected(function* voiceActivityWhileConnected({\n    directLine,\n    userID,\n    username\n  }: {\n    directLine: DirectLineJSBotConnection;\n    userID: string;\n    username: string;\n  }) {\n    yield takeEvery(VOICE_POST_ACTIVITY, function* (action: VoicePostActivityAction) {\n      yield* postVoiceActivity(directLine, userID, username, action, ponyfill);\n    });\n  });\n}\n","export default function onErrorResumeNext<T>(fn: () => T): T | undefined;\nexport default function onErrorResumeNext<T, U = T>(fn: () => T, defaultValue: U): T | U;\n\n/**\n * Calls the function and returns its return value.\n *\n * If the function failed, return default value if specified, otherwise, `undefined`.\n */\nexport default function onErrorResumeNext<T>(fn: () => T, defaultValue?: T): T | undefined {\n  try {\n    return fn();\n  } catch {\n    return defaultValue;\n  }\n}\n","import { WebChatActivity } from '../../types/WebChatActivity';\nimport isVoiceTranscriptActivity from './isVoiceTranscriptActivity';\n\nconst getVoiceActivityRole = (activity: WebChatActivity): 'bot' | 'user' | undefined => {\n  if (isVoiceTranscriptActivity(activity)) {\n    if (activity.value.origin === 'agent') {\n      return 'bot';\n    } else if (activity.value.origin === 'user') {\n      return 'user';\n    }\n  }\n\n  return undefined;\n};\n\nexport default getVoiceActivityRole;\n","import { WebChatActivity } from '../../types/WebChatActivity';\nimport isVoiceTranscriptActivity from './isVoiceTranscriptActivity';\n\nconst getVoiceActivityText = (activity: WebChatActivity): string | undefined => {\n  if (isVoiceTranscriptActivity(activity)) {\n    return activity.value.transcription;\n  }\n  return undefined;\n};\n\nexport default getVoiceActivityText;\n","import { literal, object, pipe, readonly, type InferOutput } from 'valibot';\n\nconst CLEAR_SUGGESTED_ACTIONS = 'WEB_CHAT/CLEAR_SUGGESTED_ACTIONS' as const;\n\nconst clearSuggestedActionsActionSchema = pipe(\n  object({\n    type: literal(CLEAR_SUGGESTED_ACTIONS)\n  }),\n  readonly()\n);\n\ntype ClearSuggestedActionsAction = InferOutput<typeof clearSuggestedActionsActionSchema>;\n\nexport default function clearSuggestedActions(): ClearSuggestedActionsAction {\n  return {\n    type: CLEAR_SUGGESTED_ACTIONS\n  };\n}\n\nexport { CLEAR_SUGGESTED_ACTIONS, clearSuggestedActionsActionSchema, type ClearSuggestedActionsAction };\n","import { createBuildInfo } from '@msinternal/botframework-webchat-base/utils';\n\nconst buildInfo = createBuildInfo('botframework-webchat:core');\n\nbuildInfo.set('buildTool', globalThis.WEB_CHAT_BUILD_INFO_BUILD_TOOL);\nbuildInfo.set('moduleFormat', globalThis.WEB_CHAT_BUILD_INFO_MODULE_FORMAT);\nbuildInfo.set('version', globalThis.WEB_CHAT_BUILD_INFO_VERSION);\n\nexport default buildInfo;\n","import connect from './actions/connect';\nimport disconnect from './actions/disconnect';\nimport dismissNotification from './actions/dismissNotification';\nimport emitTypingIndicator from './actions/emitTypingIndicator';\nimport markActivity from './actions/markActivity';\nimport muteVoiceRecording from './actions/muteVoiceRecording';\nimport postActivity from './actions/postActivity';\nimport postVoiceActivity from './actions/postVoiceActivity';\nimport type { VoiceHandler } from './actions/registerVoiceHandler';\nimport registerVoiceHandler from './actions/registerVoiceHandler';\nimport sendEvent from './actions/sendEvent';\nimport sendFiles from './actions/sendFiles';\nimport sendMessage from './actions/sendMessage';\nimport sendMessageBack from './actions/sendMessageBack';\nimport sendPostBack from './actions/sendPostBack';\nimport setDictateInterims from './actions/setDictateInterims';\nimport setDictateState from './actions/setDictateState';\nimport setLanguage from './actions/setLanguage';\nimport setNotification from './actions/setNotification';\nimport setSendBox from './actions/setSendBox';\nimport setSendBoxAttachments from './actions/setSendBoxAttachments';\nimport setSendTimeout from './actions/setSendTimeout';\nimport setSendTypingIndicator from './actions/setSendTypingIndicator';\nimport type { VoiceState } from './actions/setVoiceState';\nimport setVoiceState from './actions/setVoiceState';\nimport startDictate from './actions/startDictate';\nimport startSpeakingActivity from './actions/startSpeakingActivity';\nimport startVoiceRecording from './actions/startVoiceRecording';\nimport stopDictate from './actions/stopDictate';\nimport stopSpeakingActivity from './actions/stopSpeakingActivity';\nimport stopVoiceRecording from './actions/stopVoiceRecording';\nimport submitSendBox from './actions/submitSendBox';\nimport unmuteVoiceRecording from './actions/unmuteVoiceRecording';\nimport unregisterVoiceHandler from './actions/unregisterVoiceHandler';\nimport * as ActivityClientState from './constants/ActivityClientState';\nimport * as DictateState from './constants/DictateState';\nimport createStore, {\n  withDevTools as createStoreWithDevTools,\n  withOptions as createStoreWithOptions\n} from './createStore';\nimport getActivityLivestreamingMetadata from './utils/getActivityLivestreamingMetadata';\nimport getOrgSchemaMessage from './utils/getOrgSchemaMessage';\nimport onErrorResumeNext from './utils/onErrorResumeNext';\nimport getVoiceActivityRole from './utils/voiceActivity/getVoiceActivityRole';\nimport getVoiceActivityText from './utils/voiceActivity/getVoiceActivityText';\nimport isVoiceActivity from './utils/voiceActivity/isVoiceActivity';\nimport isVoiceTranscriptActivity from './utils/voiceActivity/isVoiceTranscriptActivity';\n\nexport {\n  isForbiddenPropertyName,\n  withResolvers,\n  type PromiseWithResolvers\n} from '@msinternal/botframework-webchat-base/utils';\n\nexport {\n  CLEAR_SUGGESTED_ACTIONS,\n  default as clearSuggestedActions,\n  clearSuggestedActionsActionSchema,\n  type ClearSuggestedActionsAction\n} from './actions/clearSuggestedActions';\n\nexport {\n  SET_SUGGESTED_ACTIONS,\n  default as setSuggestedActions,\n  setSuggestedActionsActionSchema,\n  type SetSuggestedActionsAction\n} from './actions/setSuggestedActions';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { SendBoxAttachment } from './types/SendBoxAttachment';\nimport type { WebChatActivity } from './types/WebChatActivity';\nimport type { DirectLineActivity } from './types/external/DirectLineActivity';\nimport type { DirectLineAnimationCard } from './types/external/DirectLineAnimationCard';\nimport type { DirectLineAttachment } from './types/external/DirectLineAttachment';\nimport type { DirectLineAudioCard } from './types/external/DirectLineAudioCard';\nimport type { DirectLineCardAction } from './types/external/DirectLineCardAction';\nimport type { DirectLineHeroCard } from './types/external/DirectLineHeroCard';\nimport type { DirectLineJSBotConnection } from './types/external/DirectLineJSBotConnection';\nimport type { DirectLineOAuthCard } from './types/external/DirectLineOAuthCard';\nimport type { DirectLineReceiptCard } from './types/external/DirectLineReceiptCard';\nimport type { DirectLineSignInCard } from './types/external/DirectLineSignInCard';\nimport type { DirectLineSuggestedAction } from './types/external/DirectLineSuggestedAction';\nimport type { DirectLineThumbnailCard } from './types/external/DirectLineThumbnailCard';\nimport type { DirectLineVideoCard } from './types/external/DirectLineVideoCard';\nimport type { Observable } from './types/external/Observable';\n\n/** @deprecated */\nexport { singleToArray, type OneOrMany } from '@msinternal/botframework-webchat-base/utils';\n\nconst Constants = { ActivityClientState, DictateState };\n\nexport {\n  connect,\n  Constants,\n  createStore,\n  createStoreWithDevTools,\n  createStoreWithOptions,\n  disconnect,\n  dismissNotification,\n  emitTypingIndicator,\n  getActivityLivestreamingMetadata,\n  getOrgSchemaMessage,\n  getVoiceActivityRole,\n  getVoiceActivityText,\n  isVoiceActivity,\n  isVoiceTranscriptActivity,\n  markActivity,\n  muteVoiceRecording,\n  onErrorResumeNext,\n  postActivity,\n  postVoiceActivity,\n  registerVoiceHandler,\n  sendEvent,\n  sendFiles,\n  sendMessage,\n  sendMessageBack,\n  sendPostBack,\n  setDictateInterims,\n  setDictateState,\n  setLanguage,\n  setNotification,\n  setSendBox,\n  setSendBoxAttachments,\n  setSendTimeout,\n  setSendTypingIndicator,\n  setVoiceState,\n  startDictate,\n  startSpeakingActivity,\n  startVoiceRecording,\n  stopDictate,\n  stopSpeakingActivity,\n  stopVoiceRecording,\n  submitSendBox,\n  unmuteVoiceRecording,\n  unregisterVoiceHandler\n};\n\nexport type {\n  DirectLineActivity,\n  DirectLineAnimationCard,\n  DirectLineAttachment,\n  DirectLineAudioCard,\n  DirectLineCardAction,\n  DirectLineHeroCard,\n  DirectLineJSBotConnection,\n  DirectLineOAuthCard,\n  DirectLineReceiptCard,\n  DirectLineSignInCard,\n  DirectLineSuggestedAction,\n  DirectLineThumbnailCard,\n  DirectLineVideoCard,\n  GlobalScopePonyfill,\n  Observable,\n  SendBoxAttachment,\n  VoiceHandler,\n  VoiceState,\n  WebChatActivity\n};\n\n// #region Build info\nimport buildInfo from './buildInfo';\n\nconst { object: buildInfoObject, version } = buildInfo;\n\nexport { buildInfoObject as buildInfo, version };\n// #endregion\n"],"mappings":"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","names":["CONNECT","CONNECT_FULFILLED","CONNECT_FULFILLING","CONNECT_PENDING","CONNECT_REJECTED","CONNECT_STILL_PENDING","connect","directLine","userID","username","DISCONNECT","DISCONNECT_PENDING","DISCONNECT_REJECTED","DISCONNECT_FULFILLED","disconnect","DISMISS_NOTIFICATION","dismissNotification","id","dismissNotification_default","EMIT_TYPING_INDICATOR","emitTypingIndicator","MARK_ACTIVITY","markActivity","activityID","name","value","markActivity_default","VOICE_MUTE_RECORDING","muteVoiceRecording","muteVoiceRecording_default","POST_ACTIVITY","POST_ACTIVITY_FULFILLED","POST_ACTIVITY_IMPEDED","POST_ACTIVITY_PENDING","POST_ACTIVITY_REJECTED","postActivity","activity","method","postActivity_default","VOICE_POST_ACTIVITY","postVoiceActivity","activity","postVoiceActivity_default","VOICE_REGISTER_HANDLER","registerVoiceHandler","id","voiceHandler","registerVoiceHandler_default","SEND_EVENT","sendEvent","name","value","SEND_FILES","sendFiles","files","SEND_MESSAGE","sendMessage","text","method","attachments","channelData","SEND_MESSAGE_BACK","sendMessageback","value","text","displayText","SEND_POST_BACK","sendPostback","value","SET_DICTATE_INTERIMS","setDictateInterims","dictateInterims","SET_DICTATE_STATE","setDictateState","dictateState","SET_LANGUAGE","setLanguage","language","random","uniqueID","SET_NOTIFICATION","setNotification","alt","data","id","level","message","uniqueID","SET_SEND_BOX","setSendBox","text","SET_SEND_BOX_ATTACHMENTS","setSendBoxAttachments","attachments","SET_SEND_TIMEOUT","setSendTimeout","sendTimeout","SET_SEND_TYPING_INDICATOR","setSendTypingIndicator","value","VOICE_SET_STATE","setVoiceState","voiceState","setVoiceState_default","START_DICTATE","startDictate","START_SPEAKING_ACTIVITY","startSpeakingActivity","VOICE_START_RECORDING","startVoiceRecording","startVoiceRecording_default","STOP_DICTATE","stopDictate","STOP_SPEAKING_ACTIVITY","stopSpeakingActivity","VOICE_STOP_RECORDING","stopVoiceRecording","stopVoiceRecording_default","SUBMIT_SEND_BOX","submitSendBox","method","channelData","VOICE_UNMUTE_RECORDING","unmuteVoiceRecording","unmuteVoiceRecording_default","VOICE_UNREGISTER_HANDLER","unregisterVoiceHandler","id","unregisterVoiceHandler_default","ActivityClientState_exports","__export","SENDING","SEND_FAILED","SENT","DictateState_exports","__export","DICTATING","IDLE","STARTING","STOPPING","WILL_START","composeWithDevTools","applyMiddleware","createReduxStore","createSagaMiddleware","SAGA_ERROR","sagaError","combineReducers","g","f","h","i","j","k","m","b","a","l","c","e","d","n","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","S","test","require_function_apply","NATIVE_BIND","er","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","b","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","tr","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ir","$TypeError","require_to_indexed_object","IndexedObject","Vt","requireObjectCoercible","Sr","require_is_object","isCallable","q","require_path","require_get_built_in","path","nr","globalThis","d","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","$","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","oe","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","ae","require_is_symbol","getBuiltIn","C","isPrototypeOf","Ir","USE_SYMBOL_AS_UID","ue","$Symbol","require_try_to_string","require_a_callable","tryToString","or","require_get_method","aCallable","x","P","func","require_ordinary_to_primitive","T","isObject","I","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","G","defineGlobalProperty","Ti","SHARED","store","require_shared","ar","require_to_object","require_has_own_property","toObject","Pi","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","fe","hasOwn","A","uid","pe","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","se","getMethod","Pr","ordinaryToPrimitive","qi","wellKnownSymbol","g","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Di","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","w","createElement","he","require_object_get_own_property_descriptor","propertyIsEnumerableModule","$t","createPropertyDescriptor","Er","toIndexedObject","ee","toPropertyKey","ye","IE8_DOM_DEFINE","me","$getOwnPropertyDescriptor","O","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","Qr","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","Yi","anObject","D","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","cr","object","require_export","Hr","Gi","be","sr","createNonEnumerableProperty","vr","wrapConstructor","NativeConstructor","Wrapper","a","c","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_add_to_unscopables","require_does_not_exceed_safe_integer","MAX_SAFE_INTEGER","require_math_trunc","ceil","floor","n","require_to_integer_or_infinity","trunc","an","number","require_to_length","toIntegerOrInfinity","xr","min","len","require_length_of_array_like","toLength","cn","obj","require_to_absolute_index","max","index","length","integer","require_create_property","require_es_array_to_spliced","_","addToUnscopables","en","doesNotExceedSafeInteger","nn","lengthOfArrayLike","Se","toAbsoluteIndex","createProperty","dn","$Array","start","deleteCount","actualStart","argumentsLength","k","insertCount","actualDeleteCount","newLen","require_entry_unbind","require_to_spliced","Re","entryUnbind","qn","parent","mn","require_esnext_array_to_spliced","Tn","On","En","In","require_environment","userAgentStartsWith","require_environment_is_node","ENVIRONMENT","Pe","require_define_built_in","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","Mn","require_object_set_prototype_of","uncurryThisAccessor","An","aPossiblePrototype","Un","CORRECT_SETTER","setter","proto","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","Nr","CORRECT_ARGUMENTS","tryGet","tag","require_object_to_string","Ar","require_set_to_string_tag","Wn","TAG","SET_METHOD","require_define_built_in_accessor","require_set_species","defineBuiltInAccessor","Hn","SPECIES","CONSTRUCTOR_NAME","Constructor","require_an_instance","Prototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","_e","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_a_constructor","isConstructor","so","require_species_constructor","aConstructor","vo","defaultConstructor","require_html","require_array_slice","require_validate_arguments_length","passed","required","require_environment_is_ios","require_task","html","qo","arraySlice","mo","validateArgumentsLength","To","IS_IOS","Ne","IS_NODE","Cr","set","clear","Dispatch","Function","MessageChannel","String","counter","queue","ONREADYSTATECHANGE","$location","defer","channel","port","run","runner","eventListener","event","globalPostMessageDefer","handler","args","require_safe_get_built_in","require_queue","Queue","item","entry","tail","next","require_environment_is_ios_pebble","require_environment_is_webos_webkit","require_microtask","safeGetBuiltIn","Ao","macrotask","$e","Ge","IS_IOS_PEBBLE","Uo","IS_WEBOS_WEBKIT","Lo","MutationObserver","Promise","microtask","notify","toggle","node","promise","then","flush","error","require_host_report_errors","require_perform","require_weak_map_basic_detection","WeakMap","require_shared_key","keys","require_hidden_keys","require_internal_state","NATIVE_WEAK_MAP","Zo","sharedKey","ta","hiddenKeys","na","OBJECT_ALREADY_INITIALIZED","TypeError","get","has","enforce","getterFor","TYPE","state","metadata","STATE","require_promise_native_constructor","require_promise_constructor_detection","NativePromiseConstructor","z","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","resolve","FakePromise","constructor","require_new_promise_capability","PromiseCapability","reject","$$resolve","$$reject","require_es_promise_constructor","defineBuiltIn","we","setPrototypeOf","Ln","setToStringTag","zn","setSpecies","Zn","anInstance","eo","speciesConstructor","po","task","Yo","hostReportErrors","Jo","perform","Fr","InternalStateModule","sa","PromiseConstructorDetection","J","newPromiseCapabilityModule","U","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","PromiseConstructor","PromisePrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","isThenable","callReaction","reaction","ok","domain","exited","onHandleUnhandled","isReject","reactions","onUnhandled","dispatchEvent","reason","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","require_iterators","require_is_array_iterator_method","Iterators","ut","ITERATOR","ArrayPrototype","require_get_iterator_method","require_get_iterator","getIteratorMethod","st","usingIterator","iteratorMethod","require_iterator_close","iterator","kind","innerResult","innerError","require_iterate","isArrayIteratorMethod","Ua","getIterator","Ga","iteratorClose","Wa","Result","stopped","ResultPrototype","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","step","stop","condition","$iterator","callFn","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_promise_statics_incorrect_iteration","checkCorrectnessOfIteration","ru","require_es_promise_all","iterate","ct","PROMISE_STATICS_INCORRECT_ITERATION","lt","capability","$promiseResolve","values","remaining","alreadyCalled","require_es_promise_catch","require_es_promise_race","require_es_promise_reject","r","capabilityReject","require_promise_resolve","promiseCapability","require_es_promise_resolve","promiseResolve","su","PromiseConstructorWrapper","CHECK_WRAPPER","require_es_promise","Da","tu","nu","ou","au","lu","require_es_promise_with_resolvers","require_with_resolvers","fu","dt","promiseWithResolvers","yu","require_esnext_promise_with_resolvers","hu","mu","Tu","gu","kebabCase","ofs","setMetaTag","contentMap","meta","BuildInfo","#name","#map","#object","#commit","createBuildInfo","createBuildInfo_default","FORBIDDEN_PROPERTY_NAMES","isForbiddenPropertyName","propertyName","OBJECT_PROTOTYPE","EMPTY_ARRAY","singleToArray","singleOrArray","import_to_spliced","n","Pn","toSpliced","array","start","deleteCount","items","wn","coreJSToSpliced","import_with_resolvers","Su","withResolvers","Iu","coreJSWithResolvers","updateIn","v4","DELETE_ACTIVITY","INCOMING_ACTIVITY","incomingActivity","activity","incomingActivity_default","SENDING","SEND_FAILED","SENT","updateIn","DIRECT_LINE_PLACEHOLDER_URL","patchActivity","activity","Date","updateIn","contentUrl","channelData","setReceivedAtInActivity","computePartListTimestamp","partList","max","logicalTimestamp","yieldSessionActivities","session","activityMap","lastEntry","activityEntry","computeSortedActivities","temporalState","howToGroupingMap","livestreamSessionMap","sortedChatHistoryList","sortedEntry","howToGrouping","howToPartEntry","deleteActivityByLocalId","state","localId","nextActivityIdToLocalIdMap","nextActivityMap","nextClientActivityIdToLocalIdMap","nextHowToGroupingMap","nextLivestreamSessionMap","nextSortedChatHistoryList","entry","howToGroupingId","partIndex","part","nextPartList","nextHowToGroupingMapEntry","computePartListTimestamp","sortedChatHistoryListIndex","livestreamSessionId","livestreamSessionMapEntry","activityIndex","activity","nextActivities","lastActivity","finalActivity","logicalTimestamp","nextLivestreamSessionMapEntry","changed","nextSortedActivities","computeSortedActivities","queryLocalIdAByActivityId","state","activityId","queryLocalIdAByClientActivityId","state","clientActivityId","check","parse","pipe","string","channelDataNameSchema","pipe","string","check","value","updateActivityChannelDataInternalSkipNameCheck","state","activityLocalId","name","activityEntry","nextActivity","nextActivityMap","nextSortedActivities","existingActivityIndex","activity","getLocalIdFromActivity","updateActivityChannelData","parse","updateActivityChannelData_default","any","array","check","findItem","integer","is","literal","minValue","nonEmpty","number","object","optional","pipe","safeParse","string","transform","undefinedable","union","parse","getOrgSchemaMessage","graph","entity","parse","k","EMPTY_ARRAY","streamSequenceSchema","pipe","number","integer","minValue","eitherChannelDataOrEntities","activitySchema","metadataSchema","metadataInEntitiesSchema","object","literal","union","array","any","findItem","value","is","check","transform","entities","livestreamingActivitySchema","optional","string","undefinedable","nonEmpty","getActivityLivestreamingMetadata","activity","result","safeParse","output","livestreamMetadata","sessionId","getOrgSchemaMessage","getLogicalTimestamp","activity","ponyfill","sequenceId","timestamp","getPartGroupingMetadataMap","activity","metadataMap","message","getOrgSchemaMessage","item","firstPosition","type","getPartGroupingMetadataMap_default","insertSorted","sortedArray","item","compareFn","indexToInsert","i","xn","POSITION_INCREMENT","INITIAL_STATE","upsert","ponyfill","state","activity","activityLocalId","getLocalIdFromActivity","logicalTimestamp","getLogicalTimestamp","activityLivestreamingMetadata","getActivityLivestreamingMetadata","sessionId","existingSession","finalized","getPartGroupingMetadataMap_default","nextSessionEntry","insertSorted","x","y","newIndexInSession","entry","successorInSession","insertIndex","i","prevLastSessionActivity","prevPosition","queryPositionFromActivity","nextSiblingPosition","newPosition","positionedActivity","setPositionInActivity","nextActivityIdToLocalIdMap","nextActivityMap","clientActivityID","nextClientActivityIdToLocalIdMap","nextLivestreamSessionMap","xn","nextHowToGroupingMap","nextSortedChatHistoryList","sortedChatHistoryListEntry","livestreamSessionMapEntry","nextLivestreamSessionMapEntry","howToGrouping","howToGroupingId","howToGroupingPosition","partGroupingMapEntry","nextPartList","existingPartEntryIndex","nextPartEntry","nextPartGroupingEntry","computePartListTimestamp","existingSortedChatHistoryListEntryIndex","xLogicalTimestamp","yLogicalTimestamp","xActivity","yActivity","xLocalTimestamp","yLocalTimestamp","nextSortedActivities","computeSortedActivities","lastPosition","index","nextSortedActivitiesLength","currentActivity","currentActivityId","hasNextSibling","position","nextPosition","activityMapEntry","nextActivityEntry","upsert_default","DEFAULT_STATE","INITIAL_STATE","getClientActivityID","activity","createGroupedActivitiesReducer","ponyfill","restrictedStoreDebugAPI","state","action","DELETE_ACTIVITY","localId","queryLocalIdAByActivityId","deleteActivityByLocalId","MARK_ACTIVITY","updateActivityChannelData_default","POST_ACTIVITY_PENDING","patchActivity","setReceivedAtInActivity","generateLocalIdInActivity","updateIn","SENDING","setSendStatusInOutgoingActivity","upsert_default","POST_ACTIVITY_IMPEDED","queryLocalIdAByClientActivityId","updateActivityChannelDataInternalSkipNameCheck","SEND_FAILED","POST_ACTIVITY_REJECTED","POST_ACTIVITY_FULFILLED","existingActivity","SENT","setLocalIdInActivity","setPositionInActivity","getPositionFromActivity","INCOMING_ACTIVITY","id","clientActivityID","existingLocalId","getLocalIdFromActivity","existingSendStatus","querySendStatusFromOutgoingActivity","v4","createGroupedActivitiesReducer_default","combineActivitiesReducer","ponyfill","restrictedStoreDebugAPI","existingSlicedReducer","groupedActivitiesReducer","createGroupedActivitiesReducer_default","state","action","_activities","groupedActivities","existingState","nextState","nextGroupedActivities","existingStateEntries","nextStateEntries","key","value","mt","RECONNECT","RECONNECT_FULFILLED","RECONNECT_FULFILLING","RECONNECT_PENDING","RECONNECT_REJECTED","DEFAULT_STATE","connectivityStatus","state","type","meta","CONNECT_PENDING","RECONNECT_PENDING","CONNECT_FULFILLED","RECONNECT_FULFILLED","CONNECT_REJECTED","CONNECT_STILL_PENDING","DISCONNECT_FULFILLED","SAGA_ERROR","createInternalReducer","ponyfill","updateIn","DEFAULT_STATE","createNotificationsReducer","Date","state","action","type","now","DISMISS_NOTIFICATION","updateIn","SAGA_ERROR","SET_NOTIFICATION","alt","data","id","level","message","mt","notification","updateIn","DEFAULT_STATE","createLastTypingReducer","Date","state","payload","type","INCOMING_ACTIVITY","POST_ACTIVITY_PENDING","id","name","role","activityType","now","updateIn","at","DEFAULT_STATE","dictateInterims","state","payload","type","SET_DICTATE_INTERIMS","DEFAULT_STATE","dictateState","state","payload","type","SET_DICTATE_STATE","START_DICTATE","STOP_DICTATE","DEFAULT_STATE","language","state","payload","type","SET_LANGUAGE","CONNECTION_STATUS_UPDATE","connectionStatusUpdate","connectionStatus","DEFAULT_STATE","readyState","state","payload","type","CONNECTION_STATUS_UPDATE","SET_REFERENCE_GRAMMAR_ID","setReferenceGrammarID","referenceGrammarID","DEFAULT_STATE","referenceGrammarID","state","payload","type","SET_REFERENCE_GRAMMAR_ID","DEFAULT_STATE","sendBoxAttachments","state","payload","type","SET_SEND_BOX_ATTACHMENTS","DEFAULT_STATE","sendBoxValue","state","payload","type","SET_SEND_BOX","DEFAULT_STATE","sendTimeout","state","payload","type","SET_SEND_TIMEOUT","DEFAULT_STATE","sendTypingIndicator","state","payload","type","SET_SEND_TYPING_INDICATOR","shouldSpeakIncomingActivity","state","type","START_SPEAKING_ACTIVITY","STOP_SPEAKING_ACTIVITY","parse","DEFAULT_STATE","suggestedActions","state","action","SET_RAW_STATE","parsedAction","parse","setRawStateActionSchema","suggestedActions_default","parse","DEFAULT_STATE","suggestedActionsOriginActivity","state","action","SET_RAW_STATE","parsedAction","parse","setRawStateActionSchema","suggestedActionsOriginActivity_default","DEFAULT_STATE","voiceActivity","state","action","VOICE_MUTE_RECORDING","VOICE_REGISTER_HANDLER","newHandlers","VOICE_UNREGISTER_HANDLER","VOICE_SET_STATE","VOICE_START_RECORDING","VOICE_STOP_RECORDING","VOICE_UNMUTE_RECORDING","createReducer","ponyfill","restrictedStoreDebugAPI","combineActivitiesReducer","combineReducers","connectivityStatus","dictateInterims","dictateState","createInternalReducer","language","createNotificationsReducer","readyState","referenceGrammarID","sendBoxAttachments","sendBoxValue","sendTimeout","sendTypingIndicator","shouldSpeakIncomingActivity","suggestedActions_default","suggestedActionsOriginActivity_default","createLastTypingReducer","voiceActivity","fork","take","takeEvery","safeParse","custom","function_","is","literal","object","pipe","readonly","REGISTER_ACTION_SINK","registerActionSinkActionSchema","value","custom","function_","is","literal","object","pipe","readonly","UNREGISTER_ACTION_SINK","unregisterActionSinkActionSchema","value","actionSinkSaga","takeEvery","type","REGISTER_ACTION_SINK","action","result","safeParse","registerActionSinkActionSchema","sink","take","UNREGISTER_ACTION_SINK","unregisterActionSinkActionSchema","put","takeEvery","array","custom","is","literal","object","optional","pipe","readonly","EMPTY_ARRAY","SET_SUGGESTED_ACTIONS","setSuggestedActionsActionSchema","value","setSuggestedActions","suggestedActions","originActivity","call","cancel","fork","take","whileConnectedEffect","fn","args","call","userID","username","directLine","take","CONNECT_FULFILLING","RECONNECT_FULFILLING","task","fork","DISCONNECT_PENDING","RECONNECT_PENDING","cancel","clearSuggestedActions","put","setSuggestedActions","clearSuggestedActionsOnPostActivity","takeEvery","payload","type","POST_ACTIVITY_PENDING","clearSuggestedActionsOnPostActivitySaga","whileConnectedEffect","call","put","takeLatest","createPromiseQueue","promiseWithResolvers","queue","value","resolve","Ru","CONNECTIVITY_STATUS_NOTIFICATION_ID","subscribeToPromiseQueue","observable","push","shift","createPromiseQueue","subscription","connectionStatusToNotification","directLine","unsubscribe","reconnecting","call","put","setNotification","connectionStatusToNotificationSaga_default","takeLatest","CONNECT","put","call","observeEachEffect","observable","saga","call","queue","createPromiseQueue","subscription","result","observeConnectionStatus","directLine","observeEachEffect","connectionStatus","put","connectionStatusUpdate","setReferenceGrammarID","connectionStatusUpdateSaga","whileConnectedEffect","call","cancel","cancelled","fork","put","race","take","jwtDecode","fork","put","forkPutEffect","actions","action","UPDATE_CONNECTION_STATUS","updateConnectionStatus","connectionStatus","CONNECTING","ONLINE","UNINITIALIZED","randomUserID","uniqueID","observeAndPutConnectionStatusUpdate","directLine","connectionStatusQueue","createPromiseQueue","connectionStatusSubscription","connectionStatus","call","put","updateConnectionStatus","rectifyUserID","userIDFromAction","token","userIDFromToken","jwtDecode","result","connectSaga","activitySubscription","unsubscribeActivity","take","UPDATE_CONNECTION_STATUS","err","cancelled","reconnectSaga","runAsyncEffect","type","meta","payload","callEffectFactory","forkPutEffect","takeDisconnectAsError","DISCONNECT","runAsyncEffectUntilDisconnect","baseAction","race","connectSaga_default","username","CONNECT","updateConnectionStatusTask","fork","rectifiedUserID","disconnectMeta","endDirectLine","RECONNECT","error","cancel","DISCONNECT_PENDING","DISCONNECT_FULFILLED","call","put","race","take","sleep","interval","ponyfill","resolve","SLOW_CONNECTION_AFTER","detectSlowConnectionSaga","ponyfill","take","CONNECT_PENDING","RECONNECT_PENDING","race","CONNECT_FULFILLED","RECONNECT_FULFILLED","CONNECT_REJECTED","RECONNECT_REJECTED","call","sleep","put","CONNECT_STILL_PENDING","put","takeEvery","postTypingActivity","put","postActivity_default","emitTypingActivityToPostActivity","takeEvery","type","EMIT_TYPING_INDICATOR","emitTypingActivityToPostActivitySaga","whileConnectedEffect","put","select","takeEvery","activities","of","predicate","state","ofType","targetType","of","type","activities_default","activities","speakingActivity","activity","markAllAsSpoken","speakingActivities","select","of","speakingActivity","activity","put","markActivity_default","markAllAsSpokenOnStopSpeakActivitySaga","takeEvery","STOP_SPEAKING_ACTIVITY","put","select","updateIn","QUEUE_INCOMING_ACTIVITY","queueIncomingActivity","activity","check","is","literal","looseObject","object","pipe","string","VoiceActivitySchema","value","isVoiceActivity","activity","isVoiceActivity_default","check","is","literal","object","picklist","pipe","string","VoiceTranscriptActivitySchema","value","isVoiceTranscriptActivity","activity","isVoiceTranscriptActivity_default","PASSTHRU_FN","value","patchActivityWithFromRole","activity","userID","updateIn","patchNullAsUndefined","name","patchFromName","channelId","from","observeActivity","directLine","observeEachEffect","isVoiceActivity_default","isVoiceTranscriptActivity_default","recording","voiceHandlers","select","state","audioContent","handler","put","setVoiceState_default","queueIncomingActivity","observeActivitySaga","whileConnectedEffect","all","call","cancelled","put","race","select","take","takeEvery","language_default","language","sendTimeout_default","sendTimeout","pad","value","count","stringValue","dateToLocaleISOString","date","timezoneOffset","timezoneSign","absoluteTimezoneOffset","deleteKey","map","keys","nextMap","key","mt","call","observeOnceEffect","observable","subscription","resolve","reject","HARD_SEND_TIMEOUT","postActivity","directLine","userID","username","numActivitiesPosted","method","activity","ponyfill","attachments","clientActivityID","uniqueID","locale","select","language_default","localTimeZone","now","outgoingActivity","deleteKey","dateToLocaleISOString","contentType","contentUrl","name","thumbnailUrl","setSendStatusInOutgoingActivity","meta","put","POST_ACTIVITY_PENDING","echoed","echoBackCall","call","take","INCOMING_ACTIVITY","sendTimeout","sendTimeout_default","echoBack","race","all","observeOnceEffect","sleep","POST_ACTIVITY_IMPEDED","POST_ACTIVITY_FULFILLED","err","POST_ACTIVITY_REJECTED","cancelled","postActivitySaga","whileConnectedEffect","takeEvery","POST_ACTIVITY","action","call","cancelled","fork","put","race","select","take","activityFromBot_default","activity","REPLY_TIMEOUT","takeEveryAndSelect","actionType","selector","fn","cancelled","action","take","state","select","fork","waitForActivityId","replyToId","initialActivities","activities","activity","INCOMING_ACTIVITY","activities_default","queueIncomingActivity","userID","ponyfill","QUEUE_INCOMING_ACTIVITY","initialBotActivities","role","race","call","sleep","put","incomingActivity_default","messageActivities","ofType","lastMessageActivity","activityFromBot_default","actions","to","suggestedActions","setSuggestedActions","queueIncomingActivitySaga","whileConnectedEffect","put","takeEvery","postActivityWithEvent","name","value","put","postActivity_default","sendEventToPostActivity","takeEvery","payload","type","SEND_EVENT","sendEventToPostActivitySaga","whileConnectedEffect","put","takeEvery","mime","getType","mime","postActivityWithFiles","files","put","postActivity_default","name","thumbnail","url","size","sendFilesToPostActivity","takeEvery","payload","type","SEND_FILES","sendFilesToPostActivitySaga","whileConnectedEffect","put","takeEvery","postActivityWithMessageBack","displayText","text","value","put","postActivity_default","sendMessageBackToPostActivity","takeEvery","SEND_MESSAGE_BACK","sendMessageBackToPostActivitySaga","whileConnectedEffect","put","takeEvery","postActivityWithMessage","attachments","channelData","method","text","put","postActivity_default","blob","thumbnailURL","size","sendMessageToPostActivity","takeEvery","payload","type","SEND_MESSAGE","sendMessageToPostActivitySaga","whileConnectedEffect","put","takeEvery","postActivityWithPostBack","value","put","postActivity_default","sendPostBackToPostActivity","takeEvery","SEND_POST_BACK","sendPostBackToPostActivitySaga","whileConnectedEffect","call","cancel","put","select","take","takeLatest","sendTypingIndicator_default","sendTypingIndicator","SEND_INTERVAL","takeSendTypingIndicator","value","take","payload","type","SET_SEND_TYPING_INDICATOR","sendTypingIndicatorOnSetSendBox","_","ponyfill","Date","select","sendTypingIndicator_default","lastSend","task","takeLatest","SET_SEND_BOX","POST_ACTIVITY","interval","call","sleep","put","emitTypingIndicator","cancel","sendTypingIndicatorOnSetSendBoxSaga","whileConnectedEffect","put","select","takeEvery","speakableActivity","activity","dictateState_default","dictateState","shouldSpeakIncomingActivity_default","shouldSpeakIncomingActivity","speakActivityAndStartDictateOnIncomingActivityFromOthers","userID","takeEvery","payload","type","INCOMING_ACTIVITY","activity","shouldSpeakIncomingActivity","select","shouldSpeakIncomingActivity_default","dictateState","dictateState_default","shouldSpeak","speakableActivity","speak","put","markActivity_default","setDictateState","stopDictate","speakActivityAndStartDictateOnIncomingActivityFromOthersSaga","whileConnectedEffect","put","select","takeEvery","startDictateOnSpeakComplete","speakingActivities","select","of","speakingActivity","dictateState_default","put","startDictate","startDictateOnSpeakCompleteSaga","takeEvery","type","MARK_ACTIVITY","SET_DICTATE_STATE","put","select","takeEvery","startSpeakActivityOnPostActivity","takeEvery","type","POST_ACTIVITY_PENDING","meta","payload","select","dictateState_default","put","startSpeakingActivity","startSpeakActivityOnPostActivitySaga","whileConnectedEffect","put","select","takeEvery","stopDictateOnCardAction","takeEvery","payload","type","POST_ACTIVITY_PENDING","select","dictateState_default","put","stopDictate","stopDictateOnCardActionSaga","whileConnectedEffect","put","select","takeEvery","stopSpeakingActivityOnInput","takeEvery","payload","type","SET_SEND_BOX","POST_ACTIVITY_PENDING","SET_DICTATE_INTERIMS","meta","dictateState","select","dictateState_default","put","stopSpeakingActivity","stopSpeakingActivityOnInputSaga","whileConnectedEffect","put","select","takeEvery","sendBoxAttachments","sendBoxValue_default","sendBoxValue","submitSendBox","takeEvery","SUBMIT_SEND_BOX","channelData","method","attachments","select","sendBoxAttachments","sendBoxValue","sendBoxValue_default","put","sendMessage","setSendBox","setSendBoxAttachments","submitSendBoxSaga","whileConnectedEffect","select","takeEvery","postVoiceActivity","directLine","userID","username","activity","ponyfill","locale","select","language_default","localTimeZone","now","outgoingActivity","dateToLocaleISOString","observeOnceEffect","error","voiceActivitySaga","whileConnectedEffect","takeEvery","VOICE_POST_ACTIVITY","action","createSagas","ponyfill","fork","actionSinkSaga","clearSuggestedActionsOnPostActivitySaga","connectionStatusToNotificationSaga_default","connectionStatusUpdateSaga","connectSaga_default","detectSlowConnectionSaga","emitTypingActivityToPostActivitySaga","markAllAsSpokenOnStopSpeakActivitySaga","observeActivitySaga","postActivitySaga","voiceActivitySaga","queueIncomingActivitySaga","sendEventToPostActivitySaga","sendFilesToPostActivitySaga","sendMessageBackToPostActivitySaga","sendMessageToPostActivitySaga","sendPostBackToPostActivitySaga","sendTypingIndicatorOnSetSendBoxSaga","speakActivityAndStartDictateOnIncomingActivityFromOthersSaga","startDictateOnSpeakCompleteSaga","startSpeakActivityOnPostActivitySaga","stopDictateOnCardActionSaga","stopSpeakingActivityOnInputSaga","submitSendBoxSaga","createEnhancerAndSagaMiddleware","getStore","middlewares","sagaMiddleware","createSagaMiddleware","args","err","store","sagaError","applyMiddleware","withOptions","options","initialState","globalThisOrWindow","ponyfillFromOptions","ponyfill","restrictedStoreDebugAPI","RestrictedStoreDebugAPI","enhancer","createReduxStore","createReducer","composeWithDevTools","StoreDebugAPIRegistry_default","createSagas","createStore","withDevTools","onErrorResumeNext","fn","defaultValue","getVoiceActivityRole","activity","isVoiceTranscriptActivity_default","getVoiceActivityRole_default","getVoiceActivityText","activity","isVoiceTranscriptActivity_default","getVoiceActivityText_default","literal","object","pipe","readonly","CLEAR_SUGGESTED_ACTIONS","clearSuggestedActionsActionSchema","clearSuggestedActions","buildInfo","_u","buildInfo_default","Constants","ActivityClientState_exports","DictateState_exports","buildInfoObject","version","buildInfo_default"]}