@webex/plugin-meetings 3.0.0-beta.33 → 3.0.0-beta.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +2 -1
  4. package/dist/constants.js.map +1 -1
  5. package/dist/meeting/muteState.js +13 -0
  6. package/dist/meeting/muteState.js.map +1 -1
  7. package/dist/meeting/request.js +135 -85
  8. package/dist/meeting/request.js.map +1 -1
  9. package/dist/metrics/config.js +1 -11
  10. package/dist/metrics/config.js.map +1 -1
  11. package/dist/metrics/index.js +3 -25
  12. package/dist/metrics/index.js.map +1 -1
  13. package/dist/reachability/index.js +25 -17
  14. package/dist/reachability/index.js.map +1 -1
  15. package/dist/reachability/request.js +12 -5
  16. package/dist/reachability/request.js.map +1 -1
  17. package/dist/roap/index.js +9 -6
  18. package/dist/roap/index.js.map +1 -1
  19. package/dist/roap/request.js +114 -83
  20. package/dist/roap/request.js.map +1 -1
  21. package/dist/roap/turnDiscovery.js +6 -4
  22. package/dist/roap/turnDiscovery.js.map +1 -1
  23. package/dist/types/constants.d.ts +2 -1
  24. package/dist/types/meeting/muteState.d.ts +8 -0
  25. package/dist/types/meeting/request.d.ts +10 -0
  26. package/dist/types/metrics/config.d.ts +0 -9
  27. package/dist/types/metrics/index.d.ts +0 -8
  28. package/dist/types/reachability/request.d.ts +5 -3
  29. package/dist/types/roap/request.d.ts +6 -3
  30. package/package.json +20 -19
  31. package/src/constants.ts +2 -1
  32. package/src/meeting/muteState.ts +11 -0
  33. package/src/meeting/request.ts +35 -1
  34. package/src/metrics/config.ts +0 -10
  35. package/src/metrics/index.ts +3 -24
  36. package/src/reachability/index.ts +12 -4
  37. package/src/reachability/request.ts +10 -5
  38. package/src/roap/index.ts +6 -6
  39. package/src/roap/request.ts +93 -78
  40. package/src/roap/turnDiscovery.ts +4 -4
  41. package/test/unit/spec/meeting/index.js +1 -0
  42. package/test/unit/spec/meeting/muteState.js +11 -0
  43. package/test/unit/spec/meeting/request.js +27 -0
  44. package/test/unit/spec/reachability/index.ts +18 -7
  45. package/test/unit/spec/reachability/request.js +66 -0
  46. package/test/unit/spec/roap/index.ts +10 -7
  47. package/test/unit/spec/roap/request.ts +187 -84
  48. package/test/unit/spec/roap/turnDiscovery.ts +8 -4
@@ -130,7 +130,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
130
130
  sessionId: this.sessionId
131
131
  });
132
132
  },
133
- version: "3.0.0-beta.33"
133
+ version: "3.0.0-beta.35"
134
134
  });
135
135
  var _default = Breakout;
136
136
  exports.default = _default;
@@ -367,7 +367,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
367
367
  }
368
368
  });
369
369
  },
370
- version: "3.0.0-beta.33"
370
+ version: "3.0.0-beta.35"
371
371
  });
372
372
  var _default = Breakouts;
373
373
  exports.default = _default;
package/dist/constants.js CHANGED
@@ -915,7 +915,8 @@ var RESOURCE = {
915
915
  };
916
916
  exports.RESOURCE = RESOURCE;
917
917
  var REACHABILITY = {
918
- localStorage: 'reachability.result',
918
+ localStorageResult: 'reachability.result',
919
+ localStorageJoinCookie: 'reachability.joinCookie',
919
920
  namespace: 'Reachability'
920
921
  };
921
922
  exports.REACHABILITY = REACHABILITY;
@@ -1 +1 @@
1
- {"version":3,"names":["AUDIO","AUDIO_INPUT","AUDIO_STATUS","ALERT","ANSWER","CALL","CORRELATION_ID","CONVERSATION_URL","CALENDAR","CALENDAR_EVENTS_API","CMR_MEETINGS","CLAIM","CONTROLS","CONTENT","COMPLETE","WHITEBOARD","GATHERING","DEVELOPMENT","DECLINE","ERROR","ENDED","HECATE","HOST","JOIN","LEAVE","LIVE","LOCAL","LOCI","LOCUS_URL","END","MAX_RANDOM_DELAY_FOR_MEETING_INFO","MEETINGINFO","MEET","MEET_M","MEDIA","OFFLINE","ONLINE","PARTICIPANT","PROVISIONAL_TYPE_DIAL_IN","PROVISIONAL_TYPE_DIAL_OUT","REMOTE","READY","SEND_DTMF_ENDPOINT","SENDRECV","SIP_URI","SHARE","TYPE","VIDEO","VIDEO_INPUT","VIDEO_STATUS","_ANSWER_","_ACTIVE_","_CALL_","_CREATED_","_CONFLICT_","_CONVERSATION_URL_","_ERROR_","_FORCED_","_IDLE_","_IN_LOBBY_","_IN_MEETING_","_INCOMING_","_IN_","_ID_","_JOIN_","_JOINED_","_LOCUS_ID_","_LEFT_","_MEETING_LINK_","_MEETING_UUID_","_MEETING_","_MEETING_CENTER_","_MEETING_ID_","_NOT_IN_MEETING_","_NONE_","_OBSERVE_","_PERSONAL_ROOM_","_PEOPLE_","hydraTypes","PEOPLE","_REQUESTED_","_RESOURCE_ROOM_","_RECEIVE_ONLY_","_REMOVE_","_ROOM_","ROOM","_SIP_BRIDGE_","_SIP_URI_","_SEND_RECEIVE_","_SEND_ONLY_","_INACTIVE_","_SLIDES_","_S_LINE","_USER_","_UNKNOWN_","_WEBEX_MEETING_","_WAIT_","_MOVE_MEDIA_","PARTICIPANT_DELTAS","TARGETS","STATES","DISABLED","MUTED","UNKNOWN","UNMUTED","ALTERNATE_REDIRECT_TRUE","HTTPS_PROTOCOL","MEETINGS","MEDIA_PEER_CONNECTION_NAME","SHARE_PEER_CONNECTION_NAME","USE_URI_LOOKUP_FALSE","WWW_DOT","WEBEX_DOT_COM","CONVERSATION_SERVICE","WBXAPPAPI_SERVICE","DEFAULT_EXCLUDED_STATS","LAYOUT_TYPES","MODERATOR_TRUE","MODERATOR_FALSE","INTENT_TO_JOIN","ICE_TIMEOUT","ICE_FAIL_TIMEOUT","RETRY_TIMEOUT","PC_BAIL_TIMEOUT","DIALER_REGEX","SIP_ADDRESS","PHONE_NUMBER","E164_FORMAT","IPV4_REGEX","VALID_EMAIL_ADDRESS","VALID_PMR_ADDRESS","VALID_PMR_LINK","VALID_PIN","UUID_REG","API","CALLIOPEDISCOVERY","LOCUS","CALENDAR_EVENTS","CREATE","UPDATE","CREATE_MINIMAL","UPDATE_MINIMAL","DELETE","DEFAULT_GET_STATS_FILTER","types","RECORDING_STATE","RECORDING","IDLE","PAUSED","RESUMED","SHARE_STATUS","NO_SHARE","REMOTE_SHARE_ACTIVE","LOCAL_SHARE_ACTIVE","WHITEBOARD_SHARE_ACTIVE","EVENT_TRIGGERS","MEETINGS_READY","MEETINGS_REGISTERED","MEETINGS_UNREGISTERED","MEDIA_READY","MEDIA_STOPPED","MEDIA_UPDATE","MEDIA_CODEC_MISSING","MEDIA_CODEC_LOADED","MEETING_STARTED_SHARING_LOCAL","MEETING_STOPPED_SHARING_LOCAL","MEETING_STARTED_SHARING_REMOTE","MEETING_STOPPED_SHARING_REMOTE","MEETING_STARTED_SHARING_WHITEBOARD","MEETING_STOPPED_SHARING_WHITEBOARD","MEETING_MEDIA_LOCAL_STARTED","MEETING_MEDIA_REMOTE_STARTED","MEETING_STARTED_RECORDING","MEETING_STOPPED_RECORDING","MEETING_STARTED_RECEIVING_TRANSCRIPTION","MEETING_STOPPED_RECEIVING_TRANSCRIPTION","MEETING_RECEIVE_REACTIONS","MEETING_PAUSED_RECORDING","MEETING_RESUMED_RECORDING","MEETING_ADDED","MEETING_REMOVED","MEETING_RINGING","MEETING_RINGING_STOP","MEETING_SELF_LOBBY_WAITING","MEETING_SELF_GUEST_ADMITTED","MEETING_SELF_MUTED_BY_OTHERS","MEETING_SELF_UNMUTED_BY_OTHERS","MEETING_SELF_REQUESTED_TO_UNMUTE","MEETING_SELF_PHONE_AUDIO_UPDATE","MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST","MEETING_SELF_IS_SHARING_BLOCKED","MEETING_CONTROLS_LAYOUT_UPDATE","MEETING_ENTRY_EXIT_TONE_UPDATE","MEETING_BREAKOUTS_UPDATE","MEETING_BREAKOUTS_CLOSING","MEETING_BREAKOUTS_MESSAGE","MEMBERS_UPDATE","MEMBERS_CONTENT_UPDATE","MEMBERS_HOST_UPDATE","MEMBERS_SELF_UPDATE","MEETING_RECONNECTION_STARTING","MEETING_RECONNECTION_SUCCESS","MEETING_RECONNECTION_FAILURE","MEETING_UNLOCKED","MEETING_LOCKED","MEETING_INFO_AVAILABLE","MEETING_LOG_UPLOAD_SUCCESS","MEETING_LOG_UPLOAD_FAILURE","MEETING_ACTIONS_UPDATE","MEETING_STATE_CHANGE","MEETING_MEETING_CONTAINER_UPDATE","MEETING_EMBEDDED_APPS_UPDATE","MEDIA_QUALITY","MEETINGS_NETWORK_DISCONNECTED","MEETINGS_NETWORK_CONNECTED","MEETING_SELF_LEFT","NETWORK_QUALITY","MEDIA_NEGOTIATED","ACTIVE_SPEAKER_CHANGED","REMOTE_VIDEO_SOURCE_COUNT_CHANGED","REMOTE_AUDIO_SOURCE_COUNT_CHANGED","REMOTE_MEDIA_AUDIO_CREATED","REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED","REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED","EVENT_TYPES","SELF","OTHER","REMOTE_AUDIO","REMOTE_VIDEO","REMOTE_SHARE","LOCAL_SHARE","MEETING_REMOVED_REASON","SELF_REMOVED","FULLSTATE_REMOVED","MEETING_INACTIVE_TERMINATING","CLIENT_LEAVE_REQUEST","USER_ENDED_SHARE_STREAMS","NO_MEETINGS_TO_SYNC","MEETING_CONNECTION_FAILED","CALL_REMOVED_REASON","CALL_INACTIVE","PARTNER_LEFT","SELF_LEFT","SHARE_STOPPED_REASON","SELF_STOPPED","MEETING_REJOIN","EVENTS","SELF_UNADMITTED_GUEST","SELF_ADMITTED_GUEST","MEDIA_INACTIVITY","CONVERSATION_URL_UPDATE","DESTROY_MEETING","REQUEST_UPLOAD_LOGS","REMOTE_RESPONSE","LOCUS_INFO_UPDATE_PARTICIPANTS","LOCUS_INFO_UPDATE_HOST","LOCUS_INFO_UPDATE_MEDIA_SHARES","LOCUS_INFO_UPDATE_SELF","LOCUS_INFO_UPDATE_URL","LOCUS_INFO_CAN_ASSIGN_HOST","DISCONNECT_DUE_TO_INACTIVITY","MEDIA_STATE","active","inactive","ERROR_DICTIONARY","PARAMETER","NAME","MESSAGE","CODE","JOIN_MEETING","RECONNECTION","PERMISSION","STATS","PASSWORD","CAPTCHA","FLOOR_ACTION","GRANTED","RELEASED","ACCEPTED","FULL_STATE","INITIALIZING","INACTIVE","ACTIVE","TERMINATING","HTTP_VERBS","PUT","POST","GET","PATCH","ICE_GATHERING_STATE","NEW","ICE_STATE","CHECKING","CONNECTED","CLOSED","COMPLETED","FAILED","DISCONNECTED","CONNECTION_STATE","CONNECTING","STATE","SEQUENCE","UN_DEF","EMPTY","DEF","NA","RANGE_START","RANGE_END","SYNCDEBUG","BREAKOUTS","STATUS","CLOSING","BREAKOUTS_CLOSING","SESSION_TYPES","MAIN","SESSION_STATES","ASSIGNED","ALLOWED","ASSIGNED_CURRENT","REQUESTED","BREAKOUTS_SUPPORTED","LOCUSINFO","CONTROLS_MEETING_LAYOUT_UPDATED","CONTROLS_RECORDING_UPDATED","CONTROLS_MEETING_TRANSCRIBE_UPDATED","CONTROLS_MEETING_BREAKOUT_UPDATED","CONTROLS_MEETING_CONTAINER_UPDATED","CONTROLS_ENTRY_EXIT_TONE_UPDATED","SELF_REMOTE_MUTE_STATUS_UPDATED","LOCAL_UNMUTE_REQUESTED","LOCAL_UNMUTE_REQUIRED","SELF_MODERATOR_CHANGED","MEETING_UPDATE","MEDIA_STATUS_CHANGE","FULL_STATE_TYPE_UPDATE","FULL_STATE_MEETING_STATE_CHANGE","MEETING_STATE_CHANGE_TO_ACTIVE","MEETING_INFO_UPDATED","SELF_OBSERVING","EMBEDDED_APPS_UPDATED","SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE","SELF_IS_SHARING_BLOCKED_CHANGE","SELF_MEETING_BREAKOUTS_CHANGED","LINKS_SERVICES","LOCUSEVENT","LOCUS_MERCURY","CONTROLS_UPDATED","DIFFERENCE","BREAKOUT_ROSTER","FLOOR_GRANTED","FLOOR_RELEASED","MESSAGE_ROAP","PARTICIPANT_JOIN","PARTICIPANT_LEFT","PARTICIPANT_DECLINED","PARTICIPANT_UPDATED","PARTICIPANT_CONTROLS_UPDATED","PARTICIPANT_ROLES_UPDATED","PARTICIPANT_AUDIO_MUTED","PARTICIPANT_AUDIO_UNMUTED","PARTICIPANT_VIDEO_MUTED","PARTICIPANT_VIDEO_UNMUTED","RECORDING_STARTED","RECORDING_START_FAILED","RECORDING_STOPPED","SELF_CHANGED","MEDIA_TRACK_CONSTRAINT","CURSOR","AWLAYS","MOTION","NEVER","MEETING_ERRORS","METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION","BIDIRECTIONAL_ROSTER_NOT_ALLOWED","INVALID_LOCUS_URL","ARGUMENT_NULL_OR_EMPTY","INVALID_USER","INVALID_PHONE_NUMBER_OR_COUNTRY_CODE","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","PHONE_NUMBER_INVALID_COUNTRY_CODE","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","PHONE_NUMBER_TOO_SHORT_NSN","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","INVALID_MEETING_LINK","INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST","INVALID_LOCUS_ID","EMPTY_SCHEDULED_MEETING_START_TIME","INVALID_SCHEDULED_MEETING_DURATION_MINUTES","INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES","EMPTY_SCHEDULED_MEETING_ORGANIZER","INVALID_MEETING_ID_FORMAT","INVALID_SIP_URL_FORMAT","EMPTY_INVITEE_RECORD","EMPTY_INVITEE_ADDRESS","DESKPHONE_NOTHING_DIALABLE_FOUND","INVALID_INVITEE_ADDRESS","INVALID_ATTENDEE_ID","INVALID_IN_LOBBY","MISSING_REQUESTING_PARTICIPANT_ID","INVALID_REQUESTING_PARTICIPANT_ID","SUPPLEMENTARY_USER_INFO_NOT_FOUND","UNAUTHORIZED","REMOVED_PARTICIPANT","FREE_USER_MAX_PARTICIPANTS_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_EXCEEDED","SERVICE_MAX_PARTICIPANTS_EXCEEDED","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","JOIN_RESTRICTED_USER","GET_RESTRICTED_USER","JOIN_RESTRICTED_USER_NOT_IN_ROOM","CREATE_MEDIA_RESTRICTED_USER","DUPLICATE_RESOURCE_CREATION_REQUEST","MEETING_NOT_FOUND","NOT_WEBEX_SITE","INVALID_SCHEDULED_MEETING_ORGANIZER","FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED","SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED","RESOURCE_GUEST_FORBIDDEN","SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT","MODERATOR_ROLE_REMOVAL_NOT_ALLOWED","RECORDING_CONTROL_NOT_SUPPORTED","HOST_PIN_LOCKED","INVALID_HOST_PIN","REQUESTING_PARTICIPANT_NOT_MODERATOR","CONVERSATION_NOT_FOUND","MEETING_LINK_NOT_FOUND","MEETING_INFO_NOT_FOUND","SCHEDULED_MEETING_NOT_FOUND","RECORDING_NOT_STARTED","RECORDING_NOT_ENABLED","RECORDING_USER_STORAGE_FULL","RECORDING_SITE_STORAGE_FULL","NO_SCHEDULED_MEETING","MEETING_FULL_UPDATE_NOT_ALLOWED","MODERATOR_ROLE_REMOVAL_NOT_VALID","MODERATOR_ROLE_ADDITION_NOT_VALID","INVALID_CALL_START_TIME","MEETING_STARTED_UPDATE_NOT_ALLOWED","EXCEEDED_MAX_JOINED_PARTICIPANTS","EXCEEDED_SERVICE_MAX_PARTICIPANTS","MEETING_IS_LOCKED","MEETING_IS_TERMINATING","MEETING_REQUIRE_MODERATOR_PIN_INTENT","MEETING_REQUIRE_MODERATOR_PIN","MEETING_REQUIRE_MODERATOR_ROLE","PMR_ACCOUNT_SUSPENDED","PMR_ACCOUNT_LOCKED","INVALID_JOIN_TIME","REQUIRES_WEBEX_LOGIN","TOO_MANY_REQUESTS","UNABLE_TO_LOOK_UP_DEVICE_INFORMATION","UNABLE_TO_LOOK_UP_CONVERSATION","UNABLE_TO_LOOK_UP_CI_USER","UNABLE_TO_CREATE_CONFLUENCE","SERVICE_UNAVAILABLE","SOCKET_TIMEOUT","NO_HTTP_RESPONSE","MEETING_END_REASON","MEDIA_RELEASED","DISPLAY_HINTS","ADD_GUEST","ROSTER_WAITING_TO_JOIN","RECORDING_CONTROL_START","RECORDING_CONTROL_PAUSE","RECORDING_CONTROL_STOP","RECORDING_CONTROL_RESUME","LOCK_CONTROL_UNLOCK","LOCK_CONTROL_LOCK","LOCK_STATUS_LOCKED","LOCK_STATUS_UNLOCKED","RAISE_HAND","LOWER_ALL_HANDS","LOWER_SOMEONE_ELSES_HAND","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","CAPTION_START","CAPTION_STATUS_ACTIVE","DISPLAY_REAL_TIME_TRANSLATION","ENABLE_CAPTION_PANEL","DISPLAY_NON_ENGLISH_ASR","TRANSCRIPTION_CONTROL_START","TRANSCRIPTION_CONTROL_STOP","WEBEX_ASSISTANT_STATUS_ACTIVE","WAITING_FOR_OTHERS","ENABLE_REACTIONS","DISABLE_REACTIONS","REACTIONS_ACTIVE","REACTIONS_INACTIVE","ENABLE_MUTE_ON_ENTRY","DISABLE_MUTE_ON_ENTRY","ENABLE_HARD_MUTE","DISABLE_HARD_MUTE","SELF_ROLES","COHOST","MODERATOR","MEETING_STATE","INCOMING","DIALING","NOTIFIED","DECLINED","ON_GOING","JOINED","LEFT","MEETING_STATE_MACHINE","TRANSITIONS","FAIL","RING","RESET","RINGING","ANSWERED","MEETING_AUDIO_STATE_MACHINE","TOGGLE","INIT","MUTE_SELF","UNMUTE_SELF","MEETING_VIDEO_STATE_MACHINE","PEER_CONNECTION_STATE","IN_PROGRESS","FAILURE","DEFAULT_TRY_COUNT","DEFAULT_STATUS","RESOURCE","CLUSTERS","REACHABILITY","localStorage","namespace","ROAP","ROAP_TYPES","OFFER","OK","TURN_DISCOVERY_REQUEST","TURN_DISCOVERY_RESPONSE","ROAP_MERCURY","ROAP_VERSION","MediaContent","main","slides","NETWORK_STATUS","RECONNECTING","NETWORK_TYPE","VPN","WIFI","ETHERNET","SEND_DIRECTION","RECEIVE_DIRECTION","MQA_STATS","MQA_SIZE","CA_TYPE","DEFAULT_IP","DEFAULT_SHARE_SENDER_STATS","common","direction","isMain","mariFecEnabled","mariQosEnabled","multistreamEnabled","availableBitrate","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","queueDelay","remoteJitter","remoteLossRate","remoteReceiveRate","roundTripTime","rtcpBitrate","rtcpPackets","rtpBitrate","rtpPackets","stunBitrate","stunPackets","transportType","streams","codec","duplicateSsci","requestedBitrate","requestedFrames","ssci","transmittedBitrate","transmittedFrameRate","h264CodecProfile","localConfigurationChanges","remoteConfigurationChanges","requestedFrameSize","requestedKeyFrames","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedWidth","intervalMetadata","memoryUsage","cpuBitWidth","mainProcessMaximumMemoryBytes","osBitWidth","processAverageMemoryUsage","processMaximumMemoryBytes","processMaximumMemoryUsage","systemAverageMemoryUsage","systemMaximumMemoryUsage","peerReflexiveIP","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","QUALITY_LEVELS","LOW","MEDIUM","HIGH","AVAILABLE_RESOLUTIONS","video","width","max","ideal","height","VIDEO_RESOLUTIONS","MQA_INTEVAL","MEDIA_DEVICES","MICROPHONE","SPEAKER","CAMERA","METRICS_JOIN_TIMES_MAX_DURATION","PSTN_STATUS","TRANSFERRING","SUCCESS","PASSWORD_STATUS","NOT_REQUIRED","REQUIRED","VERIFIED","MEETING_INFO_FAILURE_REASON","NONE","WRONG_PASSWORD","WRONG_CAPTCHA","BNR_STATUS","SHOULD_ENABLE","ENABLED","SHOULD_DISABLE","NOT_ENABLED","EMBEDDED_APP_TYPES","SLIDO"],"sources":["constants.ts"],"sourcesContent":["// @ts-ignore\nimport {hydraTypes} from '@webex/common';\n\n// *********** LOWERCASE / CAMELCASE STRINGS ************\n\nexport const AUDIO = 'audio';\nexport const AUDIO_INPUT = 'audioinput';\nexport const AUDIO_STATUS = 'audioStatus';\nexport const ALERT = 'alert';\nexport const ANSWER = 'answer';\n\nexport const CALL = 'call';\nexport const CORRELATION_ID = 'correlationId';\nexport const CONVERSATION_URL = 'conversationUrl';\nexport const CALENDAR = 'calendar';\nexport const CALENDAR_EVENTS_API = 'calendarEvents';\nexport const CMR_MEETINGS = 'cmrmeetings';\nexport const CLAIM = 'claim';\nexport const CONTROLS = 'controls';\nexport const CONTENT = 'content';\nexport const COMPLETE = 'complete';\nexport const WHITEBOARD = 'whiteboard';\nexport const GATHERING = 'gathering';\nexport const DEVELOPMENT = 'development';\nexport const DECLINE = 'decline';\n\nexport const ERROR = 'error';\nexport const ENDED = 'ended';\n\nexport const HECATE = 'hecate';\n\nexport const HOST = 'host';\n\nexport const JOIN = 'join';\n\nexport const LEAVE = 'leave';\nexport const LIVE = 'live';\nexport const LOCAL = 'local';\nexport const LOCI = 'loci';\nexport const LOCUS_URL = 'locusUrl';\nexport const END = 'end';\n\nexport const MAX_RANDOM_DELAY_FOR_MEETING_INFO = 3 * 60 * 1000;\nexport const MEETINGINFO = 'meetingInfo';\nexport const MEET = 'meet';\nexport const MEET_M = 'm';\nexport const MEDIA = 'media';\n\nexport const OFFLINE = 'offline';\nexport const ONLINE = 'online';\n\nexport const PARTICIPANT = 'participant';\n\nexport const PROVISIONAL_TYPE_DIAL_IN = 'DIAL_IN';\nexport const PROVISIONAL_TYPE_DIAL_OUT = 'DIAL_OUT';\n\nexport const REMOTE = 'remote';\nexport const READY = 'ready';\n\nexport const SEND_DTMF_ENDPOINT = 'sendDtmf';\nexport const SENDRECV = 'sendrecv';\nexport const SIP_URI = 'sipUri';\nexport const SHARE = 'share';\n\nexport const TYPE = 'type';\n\nexport const VIDEO = 'video';\nexport const VIDEO_INPUT = 'videoinput';\nexport const VIDEO_STATUS = 'videoStatus';\n\n// *********** UPPERCASE ONLY STRINGS ************\n// Please alphabetize\nexport const _ANSWER_ = 'ANSWER';\nexport const _ACTIVE_ = 'ACTIVE';\nexport const _CALL_ = 'CALL';\nexport const _CREATED_ = 'CREATED';\nexport const _CONFLICT_ = 'CONFLICT';\nexport const _CONVERSATION_URL_ = 'CONVERSATION_URL';\n\nexport const _ERROR_ = 'ERROR';\n\nexport const _FORCED_ = 'FORCED';\n\nexport const _IDLE_ = 'IDLE';\nexport const _IN_LOBBY_ = 'IN_LOBBY';\nexport const _IN_MEETING_ = 'IN_MEETING';\nexport const _INCOMING_ = 'INCOMING';\nexport const _IN_ = 'IN';\nexport const _ID_ = 'id';\n\nexport const _JOIN_ = 'JOIN';\nexport const _JOINED_ = 'JOINED';\n\nexport const _LOCUS_ID_ = 'LOCUS_ID';\nexport const _LEFT_ = 'LEFT';\n\nexport const _MEETING_LINK_ = 'MEETING_LINK';\nexport const _MEETING_UUID_ = 'MEETING_UUID';\nexport const _MEETING_ = 'MEETING';\nexport const _MEETING_CENTER_ = 'MEETING_CENTER';\nexport const _MEETING_ID_ = 'MEETING_ID';\n\nexport const _NOT_IN_MEETING_ = 'NOT_IN_MEETING';\nexport const _NONE_ = 'NONE';\n\nexport const _OBSERVE_ = 'OBSERVE';\n\nexport const _PERSONAL_ROOM_ = 'PERSONAL_ROOM';\nexport const _PEOPLE_ = hydraTypes.PEOPLE;\n\nexport const _REQUESTED_ = 'REQUESTED';\nexport const _RESOURCE_ROOM_ = 'RESOURCE_ROOM';\nexport const _RECEIVE_ONLY_ = 'RECVONLY';\nexport const _REMOVE_ = 'REMOVE';\nexport const _ROOM_ = hydraTypes.ROOM;\n\nexport const _SIP_BRIDGE_ = 'SIP_BRIDGE';\nexport const _SIP_URI_ = 'SIP_URI';\nexport const _SEND_RECEIVE_ = 'SENDRECV';\nexport const _SEND_ONLY_ = 'SENDONLY';\nexport const _INACTIVE_ = 'INACTIVE';\nexport const _SLIDES_ = 'SLIDES';\nexport const _S_LINE = 's=-';\n\nexport const _USER_ = 'USER';\nexport const _UNKNOWN_ = 'UNKNOWN';\n\nexport const _WEBEX_MEETING_ = 'WEBEX_MEETING';\nexport const _WAIT_ = 'WAIT';\nexport const _MOVE_MEDIA_ = 'MOVE_MEDIA';\n\n// *********** PARTICIPANT DELTAS ***********\nexport const PARTICIPANT_DELTAS = {\n TARGETS: {\n AUDIO: 'audio',\n VIDEO: 'video',\n },\n STATES: {\n DISABLED: 'disabled',\n MUTED: 'muted',\n UNKNOWN: 'unknown',\n UNMUTED: 'unmuted',\n },\n};\n\n// *********** STRING HELPERS ***********\n// Please alphabetize\nexport const ALTERNATE_REDIRECT_TRUE = 'alternateRedirect=true';\n\nexport const HTTPS_PROTOCOL = 'https://';\n\nexport const MEETINGS = 'Meetings';\n\nexport const MEDIA_PEER_CONNECTION_NAME = 'MediaPeerConnection';\n\nexport const SHARE_PEER_CONNECTION_NAME = 'SharePeerConnection';\n\nexport const USE_URI_LOOKUP_FALSE = 'useUriLookup=false';\n\nexport const WWW_DOT = 'www.';\n\nexport const WEBEX_DOT_COM = 'webex.com';\n\nexport const CONVERSATION_SERVICE = 'identityLookup';\n\nexport const WBXAPPAPI_SERVICE = 'webex-appapi-service';\n\n// ******************* ARRAYS ********************\n// Please alphabetize\nexport const DEFAULT_EXCLUDED_STATS = ['timestamp', 'ssrc', 'priority'];\n\n/**\n * @description @description Layout type for remote video participants. Allowed values are: Single, Equal, ActivePresence, Prominent, OnePlusN\n * @type {array}\n * @constant\n */\nexport const LAYOUT_TYPES = ['Single', 'Equal', 'ActivePresence', 'Prominent', 'OnePlusN'];\n\n// ******************* BOOLEANS *******************\n// Please alphabetize\nexport const MODERATOR_TRUE = true;\nexport const MODERATOR_FALSE = false;\n\n// ******************** NUMBERS ********************\n\nexport const INTENT_TO_JOIN = [2423005, 2423006, 2423016, 2423017, 2423018];\nexport const ICE_TIMEOUT = 2000;\nexport const ICE_FAIL_TIMEOUT = 3000;\n\nexport const RETRY_TIMEOUT = 3000;\n\nexport const PC_BAIL_TIMEOUT = 8000;\n\n// ******************** REGEX **********************\n// Please alphabetize\nexport const DIALER_REGEX = {\n // modified from https://github.com/kirm/sip.js base\n // and with https://tools.ietf.org/html/rfc3261\n // requires the @ symbol\n SIP_ADDRESS:\n /^(sips?)?:?(?:([^\\s>:@]+)(?::([^\\s@>]+))?@)([\\w\\-.]+)(?::(\\d+))?((?:;[^\\s=?>;]+(?:=[^\\s?;]+)?)*)(?:\\?(([^\\s&=>]+=[^\\s&=>]+)(&[^\\s&=>]+=[^\\s&=>]+)*))?$/,\n // standard telephony num regex\n PHONE_NUMBER:\n /^(?:(?:\\+?1\\s*(?:[.-]\\s*)?)?(?:\\(\\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\\s*\\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\\s*(?:[.-]\\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\s*(?:[.-]\\s*)?([0-9]{4})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/,\n E164_FORMAT: /^\\+[1-9]\\d{1,14}$/,\n};\n\n// eslint-disable-next-line max-len\nexport const IPV4_REGEX = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}|.local/g;\n\nexport const VALID_EMAIL_ADDRESS =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nexport const VALID_PMR_ADDRESS =\n /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com/i;\nexport const VALID_PMR_LINK =\n /(https:\\/\\/)?([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com\\/(meet|join)\\/([a-z0-9][-a-z0-9, '.']{0,62})\\/?/i;\nexport const VALID_PIN = /([0-9]{4,6})/;\nexport const UUID_REG =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n// ******************** OBJECTS ********************\n// Please alphabetize, and keep objects organized\n\n// TODO: move all api params to API section\nexport const API = {\n CALLIOPEDISCOVERY: 'calliopeDiscovery',\n LOCUS: 'locus',\n};\n\nexport const CALENDAR_EVENTS = {\n CREATE: 'event:calendar.meeting.create',\n UPDATE: 'event:calendar.meeting.update',\n CREATE_MINIMAL: 'event:calendar.meeting.create.minimal',\n UPDATE_MINIMAL: 'event:calendar.meeting.update.minimal',\n DELETE: 'event:calendar.meeting.delete',\n};\n\nexport const DEFAULT_GET_STATS_FILTER = {\n types: [\n 'track',\n 'transport',\n 'candidate-pair',\n 'outbound-rtp',\n 'outboundrtp',\n 'inbound-rtp',\n 'inboundrtp',\n 'remote-inbound-rtp',\n 'remote-outbound-rtp',\n 'remote-candidate',\n 'local-candidate',\n 'media-source',\n ],\n};\n\nexport const RECORDING_STATE = {\n RECORDING: 'recording',\n IDLE: 'idle',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n};\n\nexport const SHARE_STATUS = {\n NO_SHARE: 'no_share',\n REMOTE_SHARE_ACTIVE: 'remote_share_active',\n LOCAL_SHARE_ACTIVE: 'local_share_active',\n WHITEBOARD_SHARE_ACTIVE: 'whiteboard_share_active',\n};\n\n// TODO: do we want to scope by meeting, members when they come off those objects themselves?\nexport const EVENT_TRIGGERS = {\n MEETINGS_READY: 'meetings:ready',\n MEETINGS_REGISTERED: 'meetings:registered',\n MEETINGS_UNREGISTERED: 'meetings:unregistered',\n MEDIA_READY: 'media:ready',\n MEDIA_STOPPED: 'media:stopped',\n MEDIA_UPDATE: 'media:update',\n MEDIA_CODEC_MISSING: 'media:codec:missing',\n MEDIA_CODEC_LOADED: 'media:codec:loaded',\n MEETING_STARTED_SHARING_LOCAL: 'meeting:startedSharingLocal',\n MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',\n MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',\n MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',\n MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',\n MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',\n MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',\n MEETING_MEDIA_REMOTE_STARTED: 'meeting:media:remote:start',\n MEETING_STARTED_RECORDING: 'meeting:recording:started',\n MEETING_STOPPED_RECORDING: 'meeting:recording:stopped',\n MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',\n MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',\n MEETING_RECEIVE_REACTIONS: 'meeting:receiveReactions',\n MEETING_PAUSED_RECORDING: 'meeting:recording:paused',\n MEETING_RESUMED_RECORDING: 'meeting:recording:resumed',\n MEETING_ADDED: 'meeting:added',\n MEETING_REMOVED: 'meeting:removed',\n MEETING_RINGING: 'meeting:ringing',\n MEETING_RINGING_STOP: 'meeting:ringingStop',\n MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',\n MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',\n MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',\n MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',\n MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',\n MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',\n MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',\n MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',\n MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',\n MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',\n MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',\n MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',\n MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',\n MEMBERS_UPDATE: 'members:update',\n MEMBERS_CONTENT_UPDATE: 'members:content:update',\n MEMBERS_HOST_UPDATE: 'members:host:update',\n MEMBERS_SELF_UPDATE: 'members:self:update',\n MEETING_RECONNECTION_STARTING: 'meeting:reconnectionStarting',\n MEETING_RECONNECTION_SUCCESS: 'meeting:reconnectionSuccess',\n MEETING_RECONNECTION_FAILURE: 'meeting:reconnectionFailure',\n MEETING_UNLOCKED: 'meeting:unlocked',\n MEETING_LOCKED: 'meeting:locked',\n MEETING_INFO_AVAILABLE: 'meeting:meetingInfoAvailable',\n MEETING_LOG_UPLOAD_SUCCESS: 'meeting:logUpload:success',\n MEETING_LOG_UPLOAD_FAILURE: 'meeting:logUpload:failure',\n MEETING_ACTIONS_UPDATE: 'meeting:actionsUpdate',\n MEETING_STATE_CHANGE: 'meeting:stateChange',\n MEETING_MEETING_CONTAINER_UPDATE: 'meeting:meetingContainer:update',\n MEETING_EMBEDDED_APPS_UPDATE: 'meeting:embeddedApps:update',\n MEDIA_QUALITY: 'media:quality',\n MEETINGS_NETWORK_DISCONNECTED: 'network:disconnected',\n MEETINGS_NETWORK_CONNECTED: 'network:connected',\n MEETING_SELF_LEFT: 'meeting:self:left',\n NETWORK_QUALITY: 'network:quality',\n MEDIA_NEGOTIATED: 'media:negotiated',\n // the following events apply only to multistream media connections\n ACTIVE_SPEAKER_CHANGED: 'media:activeSpeakerChanged',\n REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',\n REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',\n REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',\n REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',\n REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',\n};\n\nexport const EVENT_TYPES = {\n SELF: 'self',\n OTHER: 'other',\n LOCAL: 'local',\n REMOTE: 'remote',\n REMOTE_AUDIO: 'remoteAudio',\n REMOTE_VIDEO: 'remoteVideo',\n REMOTE_SHARE: 'remoteShare',\n LOCAL_SHARE: 'localShare',\n ERROR: 'error',\n};\n\n// Handles the reason when meeting gets destroyed\n// host removed you from the meeting\n// You are the host and you left the meeting\n// Meeting actually ended\nexport const MEETING_REMOVED_REASON = {\n SELF_REMOVED: 'SELF_REMOVED', // server or host removed you from the meeting\n FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure\n MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting\n CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting\n USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share\n NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists\n MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue\n};\n\n// One one one calls ends for the following reasons\n// Partner reject the call or ends the call\n// self cancel or end the ongoing call\nexport const CALL_REMOVED_REASON = {\n CALL_INACTIVE: 'CALL_INACTIVE', // partner and you leave the call\n PARTNER_LEFT: 'PARTNER_LEFT', // partner left the call\n SELF_LEFT: 'SELF_LEFT', // you left/declined the call\n};\n\nexport const SHARE_STOPPED_REASON = {\n SELF_STOPPED: 'SELF_STOPPED',\n MEETING_REJOIN: 'MEETING_REJOIN',\n};\n\nexport const EVENTS = {\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n CONVERSATION_URL_UPDATE: 'CONVERSATION_URL_UPDATE',\n DESTROY_MEETING: 'DESTROY_MEETING',\n REQUEST_UPLOAD_LOGS: 'REQUEST_UPLOAD_LOGS',\n REMOTE_RESPONSE: 'REMOTE_RESPONSE',\n // TODO: move all of these to LOCUSINFO.EVENTS\n LOCUS_INFO_UPDATE_PARTICIPANTS: 'LOCUS_INFO_UPDATE_PARTICIPANTS',\n LOCUS_INFO_UPDATE_HOST: 'LOCUS_INFO_UPDATE_HOST',\n LOCUS_INFO_UPDATE_MEDIA_SHARES: 'LOCUS_INFO_UPDATE_MEDIA_SHARES',\n LOCUS_INFO_UPDATE_SELF: 'LOCUS_INFO_UPDATE_SELF',\n LOCUS_INFO_UPDATE_URL: 'LOCUS_INFO_UPDATE_URL',\n LOCUS_INFO_CAN_ASSIGN_HOST: 'LOCUS_INFO_CAN_ASSIGN_HOST',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n};\n\nexport const MEDIA_STATE = {\n active: 'active',\n inactive: 'inactive',\n};\n\nexport const ERROR_DICTIONARY = {\n PARAMETER: {\n NAME: 'ParameterError',\n MESSAGE:\n 'The parameters passed to the function, or object properties needed in the function were null, missing where required, or otherwise incorrect.',\n CODE: 0,\n },\n INTENT_TO_JOIN: {\n NAME: 'IntentToJoinError',\n MESSAGE:\n 'The meeting is locked. This is expected behavior. Call #join again with pin and/or moderator option',\n CODE: 1,\n },\n JOIN_MEETING: {\n NAME: 'JoinMeetingError',\n MESSAGE: 'There was an issue joining the meeting, meeting could be in a bad state.',\n CODE: 2,\n },\n RECONNECTION: {\n NAME: 'ReconnectionError',\n MESSAGE:\n 'There was an error in the reconnection flow, the meeting may not reconnect, disconnect and dial again.',\n CODE: 3,\n },\n MEDIA: {\n NAME: 'MediaError',\n MESSAGE: 'There was an error with media, the meeting may not have live audio, video or share.',\n CODE: 4,\n },\n PERMISSION: {\n NAME: 'PermissionError',\n MESSAGE:\n 'Not allowed to execute the function, some properties on server, or local client state do not allow you to complete this action.',\n CODE: 5,\n },\n STATS: {\n NAME: 'StatsError',\n MESSAGE: 'An error occurred with getStats, stats may not continue for this data stream.',\n CODE: 6,\n },\n PASSWORD: {\n NAME: 'PasswordError',\n MESSAGE: 'Password is required, please use verifyPassword()',\n CODE: 7,\n },\n CAPTCHA: {\n NAME: 'CaptchaError',\n MESSAGE: 'Captcha is required.',\n CODE: 8,\n },\n};\n\nexport const FLOOR_ACTION = {\n GRANTED: 'GRANTED',\n RELEASED: 'RELEASED',\n ACCEPTED: 'ACCEPTED',\n};\n\nexport const FULL_STATE = {\n INITIALIZING: 'INITIALIZING',\n INACTIVE: 'INACTIVE',\n ACTIVE: 'ACTIVE',\n TERMINATING: 'TERMINATING',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const HTTP_VERBS = {\n PUT: 'PUT',\n POST: 'POST',\n GET: 'GET',\n PATCH: 'PATCH',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState\nexport const ICE_GATHERING_STATE = {\n NEW: 'new',\n GATHERING: 'gathering',\n COMPLETE: 'complete',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState\nexport const ICE_STATE = {\n CHECKING: 'checking',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n COMPLETED: 'completed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const CONNECTION_STATE = {\n NEW: 'new',\n CONNECTING: 'connecting',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const LOCUS = {\n STATE: {\n INACTIVE: 'INACTIVE',\n ENDED: 'ENDED',\n INITIALIZING: 'INITIALIZING',\n },\n SEQUENCE: {\n UN_DEF: 'undef',\n EMPTY: 'empty',\n DEF: 'def',\n NA: 'na',\n RANGE_START: 'rangeStart',\n RANGE_END: 'rangeEnd',\n },\n SYNCDEBUG: 'sync_debug',\n};\n\nexport const BREAKOUTS = {\n STATUS: {\n CLOSING: 'CLOSING',\n },\n EVENTS: {\n BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',\n MESSAGE: 'MESSAGE',\n MEMBERS_UPDATE: 'MEMBERS_UPDATE',\n },\n SESSION_TYPES: {\n MAIN: 'MAIN',\n },\n SESSION_STATES: {\n ACTIVE: 'active',\n ASSIGNED: 'assigned',\n ALLOWED: 'allowed',\n ASSIGNED_CURRENT: 'assignedCurrent',\n REQUESTED: 'requested',\n },\n BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',\n};\n\nexport const LOCUSINFO = {\n EVENTS: {\n CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',\n CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',\n CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',\n CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',\n CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',\n CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',\n LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',\n LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',\n SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',\n MEETING_UPDATE: 'MEETING_UPDATE',\n MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',\n FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',\n FULL_STATE_MEETING_STATE_CHANGE: 'FULL_STATE_MEETING_STATE_CHANGE',\n MEETING_STATE_CHANGE_TO_ACTIVE: 'MEETING_STATE_CHANGE_TO_ACTIVE',\n MEETING_INFO_UPDATED: 'MEETING_INFO_UPDATED',\n MEETING_LOCKED: 'MEETING_LOCKED',\n MEETING_UNLOCKED: 'MEETING_UNLOCKED',\n SELF_OBSERVING: 'SELF_OBSERVING',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',\n SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',\n SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',\n SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n LINKS_SERVICES: 'LINKS_SERVICES',\n },\n};\n\nexport const LOCUSEVENT = {\n LOCUS_MERCURY: 'event:locus',\n\n // update the tp unit status\n CONTROLS_UPDATED: 'locus.controls_updated',\n\n // delta events\n DIFFERENCE: 'locus.difference',\n\n // Breakout sessions\n BREAKOUT_ROSTER: 'breakout.roster',\n\n // screen sharing\n FLOOR_GRANTED: 'locus.floor_granted',\n FLOOR_RELEASED: 'locus.floor_released',\n\n // Roap\n MESSAGE_ROAP: 'locus.message.roap',\n\n // Join events\n PARTICIPANT_JOIN: 'locus.participant_joined',\n PARTICIPANT_LEFT: 'locus.participant_left',\n PARTICIPANT_DECLINED: 'locus.participant_declined',\n PARTICIPANT_UPDATED: 'locus.participant_updated',\n PARTICIPANT_CONTROLS_UPDATED: 'locus.participant_controls_updated',\n PARTICIPANT_ROLES_UPDATED: 'locus.participant_roles_updated',\n PARTICIPANT_AUDIO_MUTED: 'locus.participant_audio_muted',\n PARTICIPANT_AUDIO_UNMUTED: 'locus.participant_audio_unmuted',\n PARTICIPANT_VIDEO_MUTED: 'locus.participant_video_muted',\n PARTICIPANT_VIDEO_UNMUTED: 'locus.participant_video_unmuted',\n\n RECORDING_STARTED: 'locus.recording_started',\n RECORDING_START_FAILED: 'locus.recording_start_failed',\n RECORDING_STOPPED: 'locus.recording_stopped',\n\n SELF_CHANGED: 'locus.self_changed',\n};\n\nexport const MEDIA_TRACK_CONSTRAINT = {\n CURSOR: {\n // The mouse cursor should always be captured in the generated stream.\n AWLAYS: 'always',\n // The cursor should only be visible while moving, then removed.\n MOTION: 'motion',\n // The cursor should never be visible in the generated stream.\n NEVER: 'never',\n },\n};\n\nexport const MEETING_ERRORS = {\n METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION: 'METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION',\n\n BIDIRECTIONAL_ROSTER_NOT_ALLOWED: 'BIDIRECTIONAL_ROSTER_NOT_ALLOWED',\n INVALID_LOCUS_URL: 'INVALID_LOCUS_URL',\n ARGUMENT_NULL_OR_EMPTY: 'ARGUMENT_NULL_OR_EMPTY',\n INVALID_USER: 'INVALID_USER',\n INVALID_PHONE_NUMBER_OR_COUNTRY_CODE: 'INVALID_PHONE_NUMBER_OR_COUNTRY_CODE',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE',\n PHONE_NUMBER_INVALID_COUNTRY_CODE: 'PHONE_NUMBER_INVALID_COUNTRY_CODE',\n PHONE_NUMBER_NOT_A_NUMBER: 'PHONE_NUMBER_NOT_A_NUMBER',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PHONE_NUMBER_TOO_SHORT_AFTER_IDD',\n PHONE_NUMBER_TOO_SHORT_NSN: 'PHONE_NUMBER_TOO_SHORT_NSN',\n PHONE_NUMBER_TOO_LONG: 'PHONE_NUMBER_TOO_LONG',\n INVALID_DIALABLE_KEY: 'INVALID_DIALABLE_KEY',\n INVALID_MEETING_LINK: 'INVALID_MEETING_LINK',\n INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST: 'INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST',\n INVALID_LOCUS_ID: 'INVALID_LOCUS_ID',\n EMPTY_SCHEDULED_MEETING_START_TIME: 'EMPTY_SCHEDULED_MEETING_START_TIME',\n INVALID_SCHEDULED_MEETING_DURATION_MINUTES: 'INVALID_SCHEDULED_MEETING_DURATION_MINUTES',\n INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES:\n 'INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES',\n EMPTY_SCHEDULED_MEETING_ORGANIZER: 'EMPTY_SCHEDULED_MEETING_ORGANIZER',\n INVALID_MEETING_ID_FORMAT: 'INVALID_MEETING_ID_FORMAT',\n INVALID_SIP_URL_FORMAT: 'INVALID_SIP_URL_FORMAT',\n EMPTY_INVITEE_RECORD: 'EMPTY_INVITEE_RECORD',\n EMPTY_INVITEE_ADDRESS: 'EMPTY_INVITEE_ADDRESS',\n DESKPHONE_NOTHING_DIALABLE_FOUND: 'DESKPHONE_NOTHING_DIALABLE_FOUND',\n INVALID_INVITEE_ADDRESS: 'INVALID_INVITEE_ADDRESS',\n INVALID_ATTENDEE_ID: 'INVALID_ATTENDEE_ID',\n INVALID_IN_LOBBY: 'INVALID_IN_LOBBY',\n MISSING_REQUESTING_PARTICIPANT_ID: 'MISSING_REQUESTING_PARTICIPANT_ID',\n INVALID_REQUESTING_PARTICIPANT_ID: 'INVALID_REQUESTING_PARTICIPANT_ID',\n SUPPLEMENTARY_USER_INFO_NOT_FOUND: 'SUPPLEMENTARY_USER_INFO_NOT_FOUND',\n\n UNAUTHORIZED: 'UNAUTHORIZED',\n REMOVED_PARTICIPANT: 'REMOVED_PARTICIPANT',\n\n FREE_USER_MAX_PARTICIPANTS_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_EXCEEDED',\n INACTIVE: 'INACTIVE',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'ONE_ON_ONE_TO_SELF_NOT_ALLOWED',\n JOIN_RESTRICTED_USER: 'JOIN_RESTRICTED_USER',\n GET_RESTRICTED_USER: 'GET_RESTRICTED_USER',\n JOIN_RESTRICTED_USER_NOT_IN_ROOM: 'JOIN_RESTRICTED_USER_NOT_IN_ROOM',\n CREATE_MEDIA_RESTRICTED_USER: 'CREATE_MEDIA_RESTRICTED_USER',\n DUPLICATE_RESOURCE_CREATION_REQUEST: 'DUPLICATE_RESOURCE_CREATION_REQUEST',\n MEETING_NOT_FOUND: 'MEETING_NOT_FOUND',\n NOT_WEBEX_SITE: 'NOT_WEBEX_SITE',\n INVALID_SCHEDULED_MEETING_ORGANIZER: 'INVALID_SCHEDULED_MEETING_ORGANIZER',\n FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED',\n SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED',\n RESOURCE_GUEST_FORBIDDEN: 'RESOURCE_GUEST_FORBIDDEN',\n SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT: 'SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT',\n MODERATOR_ROLE_REMOVAL_NOT_ALLOWED: 'MODERATOR_ROLE_REMOVAL_NOT_ALLOWED',\n RECORDING_CONTROL_NOT_SUPPORTED: 'RECORDING_CONTROL_NOT_SUPPORTED',\n HOST_PIN_LOCKED: 'HOST_PIN_LOCKED',\n INVALID_HOST_PIN: 'INVALID_HOST_PIN',\n REQUESTING_PARTICIPANT_NOT_MODERATOR: 'REQUESTING_PARTICIPANT_NOT_MODERATOR',\n\n CONVERSATION_NOT_FOUND: 'CONVERSATION_NOT_FOUND',\n MEETING_LINK_NOT_FOUND: 'MEETING_LINK_NOT_FOUND',\n MEETING_INFO_NOT_FOUND: 'MEETING_INFO_NOT_FOUND',\n SCHEDULED_MEETING_NOT_FOUND: 'SCHEDULED_MEETING_NOT_FOUND',\n\n RECORDING_NOT_STARTED: 'RECORDING_NOT_STARTED',\n RECORDING_NOT_ENABLED: 'RECORDING_NOT_ENABLED',\n RECORDING_USER_STORAGE_FULL: 'RECORDING_USER_STORAGE_FULL',\n RECORDING_SITE_STORAGE_FULL: 'RECORDING_SITE_STORAGE_FULL',\n\n NO_SCHEDULED_MEETING: 'NO_SCHEDULED_MEETING',\n MEETING_FULL_UPDATE_NOT_ALLOWED: 'MEETING_FULL_UPDATE_NOT_ALLOWED',\n MODERATOR_ROLE_REMOVAL_NOT_VALID: 'MODERATOR_ROLE_REMOVAL_NOT_VALID',\n MODERATOR_ROLE_ADDITION_NOT_VALID: 'MODERATOR_ROLE_ADDITION_NOT_VALID',\n INVALID_CALL_START_TIME: 'INVALID_CALL_START_TIME',\n MEETING_STARTED_UPDATE_NOT_ALLOWED: 'MEETING_STARTED_UPDATE_NOT_ALLOWED',\n\n EXCEEDED_MAX_JOINED_PARTICIPANTS: 'EXCEEDED_MAX_JOINED_PARTICIPANTS',\n EXCEEDED_SERVICE_MAX_PARTICIPANTS: 'EXCEEDED_SERVICE_MAX_PARTICIPANTS',\n MEETING_IS_LOCKED: 'MEETING_IS_LOCKED',\n MEETING_IS_TERMINATING: 'MEETING_IS_TERMINATING',\n MEETING_REQUIRE_MODERATOR_PIN_INTENT: 'MEETING_REQUIRE_MODERATOR_PIN_INTENT',\n MEETING_REQUIRE_MODERATOR_PIN: 'MEETING_REQUIRE_MODERATOR_PIN',\n MEETING_REQUIRE_MODERATOR_ROLE: 'MEETING_REQUIRE_MODERATOR_ROLE',\n PMR_ACCOUNT_SUSPENDED: 'PMR_ACCOUNT_SUSPENDED',\n PMR_ACCOUNT_LOCKED: 'PMR_ACCOUNT_LOCKED',\n INVALID_JOIN_TIME: 'INVALID_JOIN_TIME',\n REQUIRES_WEBEX_LOGIN: 'REQUIRES_WEBEX_LOGIN',\n\n TOO_MANY_REQUESTS: 'TOO_MANY_REQUESTS',\n\n UNABLE_TO_LOOK_UP_DEVICE_INFORMATION: 'UNABLE_TO_LOOK_UP_DEVICE_INFORMATION',\n UNABLE_TO_LOOK_UP_CONVERSATION: 'UNABLE_TO_LOOK_UP_CONVERSATION',\n UNABLE_TO_LOOK_UP_CI_USER: 'UNABLE_TO_LOOK_UP_CI_USER',\n UNABLE_TO_CREATE_CONFLUENCE: 'UNABLE_TO_CREATE_CONFLUENCE',\n\n SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',\n\n SOCKET_TIMEOUT: 'SOCKET_TIMEOUT',\n NO_HTTP_RESPONSE: 'NO_HTTP_RESPONSE',\n};\n\nexport const MEETING_END_REASON = {\n INACTIVE: 'INACTIVE',\n MEDIA_RELEASED: 'MEDIA_RELEASED',\n};\n\nexport const DISPLAY_HINTS = {\n ADD_GUEST: 'ADD_GUEST',\n ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',\n RECORDING_CONTROL_START: 'RECORDING_CONTROL_START',\n RECORDING_CONTROL_PAUSE: 'RECORDING_CONTROL_PAUSE',\n RECORDING_CONTROL_STOP: 'RECORDING_CONTROL_STOP',\n RECORDING_CONTROL_RESUME: 'RECORDING_CONTROL_RESUME',\n LOCK_CONTROL_UNLOCK: 'LOCK_CONTROL_UNLOCK',\n LOCK_CONTROL_LOCK: 'LOCK_CONTROL_LOCK',\n LOCK_STATUS_LOCKED: 'LOCK_STATUS_LOCKED',\n LOCK_STATUS_UNLOCKED: 'LOCK_STATUS_UNLOCKED',\n RAISE_HAND: 'RAISE_HAND',\n LOWER_ALL_HANDS: 'LOWER_ALL_HANDS',\n LOWER_SOMEONE_ELSES_HAND: 'LOWER_SOMEONE_ELSES_HAND',\n LEAVE_TRANSFER_HOST_END_MEETING: 'LEAVE_TRANSFER_HOST_END_MEETING',\n LEAVE_END_MEETING: 'LEAVE_END_MEETING',\n CAPTION_START: 'CAPTION_START',\n CAPTION_STATUS_ACTIVE: 'CAPTION_STATUS_ACTIVE',\n DISPLAY_REAL_TIME_TRANSLATION: 'DISPLAY_REAL_TIME_TRANSLATION',\n ENABLE_CAPTION_PANEL: 'ENABLE_CAPTION_PANEL',\n DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',\n TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',\n TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',\n WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',\n WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',\n ENABLE_REACTIONS: 'ENABLE_REACTIONS',\n DISABLE_REACTIONS: 'DISABLE_REACTIONS',\n REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',\n REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',\n ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',\n DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',\n ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',\n DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',\n};\n\nexport const SELF_ROLES = {\n COHOST: 'COHOST',\n MODERATOR: 'MODERATOR',\n};\n\nexport const MEETING_STATE = {\n STATES: {\n IDLE: 'IDLE',\n INCOMING: 'INCOMING',\n DIALING: 'DIALING',\n NOTIFIED: 'NOTIFIED',\n DECLINED: 'DECLINED',\n ON_GOING: 'ON_GOING',\n JOINED: 'JOINED',\n TERMINATING: 'TERMINATING',\n LEFT: 'LEFT',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n },\n};\n\nexport const MEETING_STATE_MACHINE = {\n TRANSITIONS: {\n FAIL: 'fail',\n RING: 'ring',\n REMOTE: 'remote',\n JOIN: 'join',\n DECLINE: 'decline',\n LEAVE: 'leave',\n END: 'end',\n RESET: 'reset',\n },\n STATES: {\n ERROR: 'ERROR',\n IDLE: 'IDLE',\n ENDED: 'ENDED',\n DECLINED: 'DECLINED',\n RINGING: 'RINGING',\n JOINED: 'JOINED',\n ANSWERED: 'ANSWERED',\n },\n};\n\nexport const MEETING_AUDIO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_AUDIO_OFF',\n UNMUTE_SELF: 'SELF_AUDIO_ON',\n },\n};\n\nexport const MEETING_VIDEO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_VIDEO_OFF',\n UNMUTE_SELF: 'SELF_VIDEO_ON',\n },\n};\n\nexport const PEER_CONNECTION_STATE = {\n CLOSED: 'closed',\n FAILED: 'failed',\n};\n\nexport const RECONNECTION = {\n STATE: {\n IN_PROGRESS: 'IN_PROGRESS',\n COMPLETE: 'COMPLETE',\n FAILURE: 'FAILURE',\n DEFAULT_TRY_COUNT: 0,\n DEFAULT_STATUS: '',\n },\n};\n\nexport const RESOURCE = {\n CLUSTERS: 'clusters',\n REACHABILITY: 'reachability',\n LOCI: 'loci',\n};\n\nexport const REACHABILITY = {\n localStorage: 'reachability.result',\n namespace: 'Reachability',\n};\n\nexport const ROAP = {\n ROAP_TYPES: {\n OFFER: 'OFFER',\n ANSWER: 'ANSWER',\n OK: 'OK',\n ERROR: 'ERROR',\n TURN_DISCOVERY_REQUEST: 'TURN_DISCOVERY_REQUEST',\n TURN_DISCOVERY_RESPONSE: 'TURN_DISCOVERY_RESPONSE',\n },\n ROAP_MERCURY: 'event:locus.message.roap',\n ROAP_VERSION: '2',\n};\n\nexport const MediaContent = {\n main: 'main',\n slides: 'slides',\n};\n\nexport const NETWORK_STATUS = {\n DISCONNECTED: 'DISCONNECTED',\n RECONNECTING: 'RECONNECTING',\n CONNECTED: 'CONNECTED',\n};\n\nexport const NETWORK_TYPE = {\n VPN: 'vpn',\n UNKNOWN: 'unknown',\n WIFI: 'wifi',\n ETHERNET: 'ethernet',\n};\n\nexport const STATS = {\n SEND_DIRECTION: 'send',\n RECEIVE_DIRECTION: 'recv',\n REMOTE: 'remote',\n LOCAL: 'local',\n};\n\nexport const MQA_STATS = {\n MQA_SIZE: 120, // MQA is done on 60 second intervals by server def, add a buffer for missed events\n CA_TYPE: 'MQA',\n DEFAULT_IP: '0.0.0.0',\n DEFAULT_SHARE_SENDER_STATS: {\n common: {\n common: {\n direction: 'sendrecv', // TODO: parse from SDP and save globally\n isMain: false, // always true for share sender\n mariFecEnabled: false, // unavailable\n mariQosEnabled: false, // unavailable\n multistreamEnabled: false, // unavailable\n },\n availableBitrate: 0,\n dtlsBitrate: 0, // unavailable\n dtlsPackets: 0, // unavailable\n fecBitrate: 0, // unavailable\n fecPackets: 0, // unavailable\n maxBitrate: 0, // unavailable\n queueDelay: 0, // unavailable\n remoteJitter: 0, // unavailable\n remoteLossRate: 0,\n remoteReceiveRate: 0, // unavailable\n roundTripTime: 0,\n rtcpBitrate: 0, // unavailable\n rtcpPackets: 0, // unavailable\n rtpBitrate: 0, // unavailable\n rtpPackets: 0,\n stunBitrate: 0, // unavailable\n stunPackets: 0, // unavailable\n transportType: 'UDP', // TODO: parse the transport type from the SDP and save globally\n },\n streams: [\n {\n common: {\n codec: 'H264', // TODO: parse the codec from the SDP and save globally\n duplicateSsci: 0, // unavailable\n requestedBitrate: 0, // unavailable\n requestedFrames: 0, // unavailable\n rtpPackets: 0,\n ssci: 0, // unavailable\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n h264CodecProfile: 'BP', // TODO: parse the profile level from h264 in the SDP and save globally\n localConfigurationChanges: 0, // unavailable\n remoteConfigurationChanges: 0, // unavailable\n requestedFrameSize: 0, // unavailable\n requestedKeyFrames: 0, // unavailable\n transmittedFrameSize: 0, // unavailable\n transmittedHeight: 0,\n transmittedKeyFrames: 0,\n transmittedWidth: 0,\n },\n ],\n },\n intervalMetadata: {\n memoryUsage: {\n cpuBitWidth: 0,\n mainProcessMaximumMemoryBytes: 0,\n osBitWidth: 0,\n processAverageMemoryUsage: 0,\n processMaximumMemoryBytes: 0,\n processMaximumMemoryUsage: 0,\n systemAverageMemoryUsage: 0,\n systemMaximumMemoryUsage: 0,\n },\n peerReflexiveIP: 'NULL', // TODO: save after ice trickling completes and use as a global variable\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n },\n};\n\n// ****** MEDIA QUALITY CONSTANTS ****** //\n\n// these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib\nexport const QUALITY_LEVELS = {\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH',\n '360p': '360p',\n '480p': '480p',\n '720p': '720p',\n '1080p': '1080p',\n};\n\nexport const AVAILABLE_RESOLUTIONS = {\n '360p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 360,\n ideal: 360,\n },\n },\n },\n '480p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 480,\n ideal: 480,\n },\n },\n },\n '720p': {\n video: {\n width: {\n max: 1280,\n ideal: 1280,\n },\n height: {\n max: 720,\n ideal: 720,\n },\n },\n },\n '1080p': {\n video: {\n width: {\n max: 1920,\n ideal: 1920,\n },\n height: {\n max: 1080,\n ideal: 1080,\n },\n },\n },\n};\n\nexport const VIDEO_RESOLUTIONS = {\n [QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],\n [QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],\n [QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],\n};\n\n/*\n * mqa Interval for sending stats metrics\n */\n\nexport const MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000\n\nexport const MEDIA_DEVICES = {\n MICROPHONE: 'microphone',\n SPEAKER: 'speaker',\n CAMERA: 'camera',\n};\n\nexport const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;\n\nexport const PSTN_STATUS = {\n JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect\n CONNECTED: 'CONNECTED', // user is connected to audio with pstn device\n LEFT: 'LEFT', // user has disconnected from the pstn device\n TRANSFERRING: 'TRANSFERRING', // usually happens in dial-out after the CONNECTED state\n SUCCESS: 'SUCCESS', // happens after the transfer (TRANSFERRING) is successful\n UNKNOWN: '', // placeholder if we haven't been told what the status is\n};\n\nexport const PASSWORD_STATUS = {\n NOT_REQUIRED: 'NOT_REQUIRED', // password is not required to join the meeting\n REQUIRED: 'REQUIRED', // client needs to provide the password by calling verifyPassword() before calling join()\n UNKNOWN: 'UNKNOWN', // we are waiting for information from the backend if password is required or not\n VERIFIED: 'VERIFIED', // client has already provided the password and it has been verified, client can proceed to call join()\n};\n\nexport const MEETING_INFO_FAILURE_REASON = {\n NONE: 'NONE', // meeting info was retrieved succesfully\n WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided\n WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided\n OTHER: 'OTHER', // any other error (network, etc)\n};\n\nexport const BNR_STATUS = {\n SHOULD_ENABLE: 'SHOULD_ENABLE',\n ENABLED: 'ENABLED',\n SHOULD_DISABLE: 'SHOULD_DISABLE',\n NOT_ENABLED: 'NOT_ENABLED',\n};\n\nexport const EMBEDDED_APP_TYPES = {\n SLIDO: 'SLIDO',\n OTHER: 'OTHER',\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["AUDIO","AUDIO_INPUT","AUDIO_STATUS","ALERT","ANSWER","CALL","CORRELATION_ID","CONVERSATION_URL","CALENDAR","CALENDAR_EVENTS_API","CMR_MEETINGS","CLAIM","CONTROLS","CONTENT","COMPLETE","WHITEBOARD","GATHERING","DEVELOPMENT","DECLINE","ERROR","ENDED","HECATE","HOST","JOIN","LEAVE","LIVE","LOCAL","LOCI","LOCUS_URL","END","MAX_RANDOM_DELAY_FOR_MEETING_INFO","MEETINGINFO","MEET","MEET_M","MEDIA","OFFLINE","ONLINE","PARTICIPANT","PROVISIONAL_TYPE_DIAL_IN","PROVISIONAL_TYPE_DIAL_OUT","REMOTE","READY","SEND_DTMF_ENDPOINT","SENDRECV","SIP_URI","SHARE","TYPE","VIDEO","VIDEO_INPUT","VIDEO_STATUS","_ANSWER_","_ACTIVE_","_CALL_","_CREATED_","_CONFLICT_","_CONVERSATION_URL_","_ERROR_","_FORCED_","_IDLE_","_IN_LOBBY_","_IN_MEETING_","_INCOMING_","_IN_","_ID_","_JOIN_","_JOINED_","_LOCUS_ID_","_LEFT_","_MEETING_LINK_","_MEETING_UUID_","_MEETING_","_MEETING_CENTER_","_MEETING_ID_","_NOT_IN_MEETING_","_NONE_","_OBSERVE_","_PERSONAL_ROOM_","_PEOPLE_","hydraTypes","PEOPLE","_REQUESTED_","_RESOURCE_ROOM_","_RECEIVE_ONLY_","_REMOVE_","_ROOM_","ROOM","_SIP_BRIDGE_","_SIP_URI_","_SEND_RECEIVE_","_SEND_ONLY_","_INACTIVE_","_SLIDES_","_S_LINE","_USER_","_UNKNOWN_","_WEBEX_MEETING_","_WAIT_","_MOVE_MEDIA_","PARTICIPANT_DELTAS","TARGETS","STATES","DISABLED","MUTED","UNKNOWN","UNMUTED","ALTERNATE_REDIRECT_TRUE","HTTPS_PROTOCOL","MEETINGS","MEDIA_PEER_CONNECTION_NAME","SHARE_PEER_CONNECTION_NAME","USE_URI_LOOKUP_FALSE","WWW_DOT","WEBEX_DOT_COM","CONVERSATION_SERVICE","WBXAPPAPI_SERVICE","DEFAULT_EXCLUDED_STATS","LAYOUT_TYPES","MODERATOR_TRUE","MODERATOR_FALSE","INTENT_TO_JOIN","ICE_TIMEOUT","ICE_FAIL_TIMEOUT","RETRY_TIMEOUT","PC_BAIL_TIMEOUT","DIALER_REGEX","SIP_ADDRESS","PHONE_NUMBER","E164_FORMAT","IPV4_REGEX","VALID_EMAIL_ADDRESS","VALID_PMR_ADDRESS","VALID_PMR_LINK","VALID_PIN","UUID_REG","API","CALLIOPEDISCOVERY","LOCUS","CALENDAR_EVENTS","CREATE","UPDATE","CREATE_MINIMAL","UPDATE_MINIMAL","DELETE","DEFAULT_GET_STATS_FILTER","types","RECORDING_STATE","RECORDING","IDLE","PAUSED","RESUMED","SHARE_STATUS","NO_SHARE","REMOTE_SHARE_ACTIVE","LOCAL_SHARE_ACTIVE","WHITEBOARD_SHARE_ACTIVE","EVENT_TRIGGERS","MEETINGS_READY","MEETINGS_REGISTERED","MEETINGS_UNREGISTERED","MEDIA_READY","MEDIA_STOPPED","MEDIA_UPDATE","MEDIA_CODEC_MISSING","MEDIA_CODEC_LOADED","MEETING_STARTED_SHARING_LOCAL","MEETING_STOPPED_SHARING_LOCAL","MEETING_STARTED_SHARING_REMOTE","MEETING_STOPPED_SHARING_REMOTE","MEETING_STARTED_SHARING_WHITEBOARD","MEETING_STOPPED_SHARING_WHITEBOARD","MEETING_MEDIA_LOCAL_STARTED","MEETING_MEDIA_REMOTE_STARTED","MEETING_STARTED_RECORDING","MEETING_STOPPED_RECORDING","MEETING_STARTED_RECEIVING_TRANSCRIPTION","MEETING_STOPPED_RECEIVING_TRANSCRIPTION","MEETING_RECEIVE_REACTIONS","MEETING_PAUSED_RECORDING","MEETING_RESUMED_RECORDING","MEETING_ADDED","MEETING_REMOVED","MEETING_RINGING","MEETING_RINGING_STOP","MEETING_SELF_LOBBY_WAITING","MEETING_SELF_GUEST_ADMITTED","MEETING_SELF_MUTED_BY_OTHERS","MEETING_SELF_UNMUTED_BY_OTHERS","MEETING_SELF_REQUESTED_TO_UNMUTE","MEETING_SELF_PHONE_AUDIO_UPDATE","MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST","MEETING_SELF_IS_SHARING_BLOCKED","MEETING_CONTROLS_LAYOUT_UPDATE","MEETING_ENTRY_EXIT_TONE_UPDATE","MEETING_BREAKOUTS_UPDATE","MEETING_BREAKOUTS_CLOSING","MEETING_BREAKOUTS_MESSAGE","MEMBERS_UPDATE","MEMBERS_CONTENT_UPDATE","MEMBERS_HOST_UPDATE","MEMBERS_SELF_UPDATE","MEETING_RECONNECTION_STARTING","MEETING_RECONNECTION_SUCCESS","MEETING_RECONNECTION_FAILURE","MEETING_UNLOCKED","MEETING_LOCKED","MEETING_INFO_AVAILABLE","MEETING_LOG_UPLOAD_SUCCESS","MEETING_LOG_UPLOAD_FAILURE","MEETING_ACTIONS_UPDATE","MEETING_STATE_CHANGE","MEETING_MEETING_CONTAINER_UPDATE","MEETING_EMBEDDED_APPS_UPDATE","MEDIA_QUALITY","MEETINGS_NETWORK_DISCONNECTED","MEETINGS_NETWORK_CONNECTED","MEETING_SELF_LEFT","NETWORK_QUALITY","MEDIA_NEGOTIATED","ACTIVE_SPEAKER_CHANGED","REMOTE_VIDEO_SOURCE_COUNT_CHANGED","REMOTE_AUDIO_SOURCE_COUNT_CHANGED","REMOTE_MEDIA_AUDIO_CREATED","REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED","REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED","EVENT_TYPES","SELF","OTHER","REMOTE_AUDIO","REMOTE_VIDEO","REMOTE_SHARE","LOCAL_SHARE","MEETING_REMOVED_REASON","SELF_REMOVED","FULLSTATE_REMOVED","MEETING_INACTIVE_TERMINATING","CLIENT_LEAVE_REQUEST","USER_ENDED_SHARE_STREAMS","NO_MEETINGS_TO_SYNC","MEETING_CONNECTION_FAILED","CALL_REMOVED_REASON","CALL_INACTIVE","PARTNER_LEFT","SELF_LEFT","SHARE_STOPPED_REASON","SELF_STOPPED","MEETING_REJOIN","EVENTS","SELF_UNADMITTED_GUEST","SELF_ADMITTED_GUEST","MEDIA_INACTIVITY","CONVERSATION_URL_UPDATE","DESTROY_MEETING","REQUEST_UPLOAD_LOGS","REMOTE_RESPONSE","LOCUS_INFO_UPDATE_PARTICIPANTS","LOCUS_INFO_UPDATE_HOST","LOCUS_INFO_UPDATE_MEDIA_SHARES","LOCUS_INFO_UPDATE_SELF","LOCUS_INFO_UPDATE_URL","LOCUS_INFO_CAN_ASSIGN_HOST","DISCONNECT_DUE_TO_INACTIVITY","MEDIA_STATE","active","inactive","ERROR_DICTIONARY","PARAMETER","NAME","MESSAGE","CODE","JOIN_MEETING","RECONNECTION","PERMISSION","STATS","PASSWORD","CAPTCHA","FLOOR_ACTION","GRANTED","RELEASED","ACCEPTED","FULL_STATE","INITIALIZING","INACTIVE","ACTIVE","TERMINATING","HTTP_VERBS","PUT","POST","GET","PATCH","ICE_GATHERING_STATE","NEW","ICE_STATE","CHECKING","CONNECTED","CLOSED","COMPLETED","FAILED","DISCONNECTED","CONNECTION_STATE","CONNECTING","STATE","SEQUENCE","UN_DEF","EMPTY","DEF","NA","RANGE_START","RANGE_END","SYNCDEBUG","BREAKOUTS","STATUS","CLOSING","BREAKOUTS_CLOSING","SESSION_TYPES","MAIN","SESSION_STATES","ASSIGNED","ALLOWED","ASSIGNED_CURRENT","REQUESTED","BREAKOUTS_SUPPORTED","LOCUSINFO","CONTROLS_MEETING_LAYOUT_UPDATED","CONTROLS_RECORDING_UPDATED","CONTROLS_MEETING_TRANSCRIBE_UPDATED","CONTROLS_MEETING_BREAKOUT_UPDATED","CONTROLS_MEETING_CONTAINER_UPDATED","CONTROLS_ENTRY_EXIT_TONE_UPDATED","SELF_REMOTE_MUTE_STATUS_UPDATED","LOCAL_UNMUTE_REQUESTED","LOCAL_UNMUTE_REQUIRED","SELF_MODERATOR_CHANGED","MEETING_UPDATE","MEDIA_STATUS_CHANGE","FULL_STATE_TYPE_UPDATE","FULL_STATE_MEETING_STATE_CHANGE","MEETING_STATE_CHANGE_TO_ACTIVE","MEETING_INFO_UPDATED","SELF_OBSERVING","EMBEDDED_APPS_UPDATED","SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE","SELF_IS_SHARING_BLOCKED_CHANGE","SELF_MEETING_BREAKOUTS_CHANGED","LINKS_SERVICES","LOCUSEVENT","LOCUS_MERCURY","CONTROLS_UPDATED","DIFFERENCE","BREAKOUT_ROSTER","FLOOR_GRANTED","FLOOR_RELEASED","MESSAGE_ROAP","PARTICIPANT_JOIN","PARTICIPANT_LEFT","PARTICIPANT_DECLINED","PARTICIPANT_UPDATED","PARTICIPANT_CONTROLS_UPDATED","PARTICIPANT_ROLES_UPDATED","PARTICIPANT_AUDIO_MUTED","PARTICIPANT_AUDIO_UNMUTED","PARTICIPANT_VIDEO_MUTED","PARTICIPANT_VIDEO_UNMUTED","RECORDING_STARTED","RECORDING_START_FAILED","RECORDING_STOPPED","SELF_CHANGED","MEDIA_TRACK_CONSTRAINT","CURSOR","AWLAYS","MOTION","NEVER","MEETING_ERRORS","METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION","BIDIRECTIONAL_ROSTER_NOT_ALLOWED","INVALID_LOCUS_URL","ARGUMENT_NULL_OR_EMPTY","INVALID_USER","INVALID_PHONE_NUMBER_OR_COUNTRY_CODE","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","PHONE_NUMBER_INVALID_COUNTRY_CODE","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","PHONE_NUMBER_TOO_SHORT_NSN","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","INVALID_MEETING_LINK","INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST","INVALID_LOCUS_ID","EMPTY_SCHEDULED_MEETING_START_TIME","INVALID_SCHEDULED_MEETING_DURATION_MINUTES","INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES","EMPTY_SCHEDULED_MEETING_ORGANIZER","INVALID_MEETING_ID_FORMAT","INVALID_SIP_URL_FORMAT","EMPTY_INVITEE_RECORD","EMPTY_INVITEE_ADDRESS","DESKPHONE_NOTHING_DIALABLE_FOUND","INVALID_INVITEE_ADDRESS","INVALID_ATTENDEE_ID","INVALID_IN_LOBBY","MISSING_REQUESTING_PARTICIPANT_ID","INVALID_REQUESTING_PARTICIPANT_ID","SUPPLEMENTARY_USER_INFO_NOT_FOUND","UNAUTHORIZED","REMOVED_PARTICIPANT","FREE_USER_MAX_PARTICIPANTS_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_EXCEEDED","SERVICE_MAX_PARTICIPANTS_EXCEEDED","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","JOIN_RESTRICTED_USER","GET_RESTRICTED_USER","JOIN_RESTRICTED_USER_NOT_IN_ROOM","CREATE_MEDIA_RESTRICTED_USER","DUPLICATE_RESOURCE_CREATION_REQUEST","MEETING_NOT_FOUND","NOT_WEBEX_SITE","INVALID_SCHEDULED_MEETING_ORGANIZER","FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED","SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED","SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED","RESOURCE_GUEST_FORBIDDEN","SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT","MODERATOR_ROLE_REMOVAL_NOT_ALLOWED","RECORDING_CONTROL_NOT_SUPPORTED","HOST_PIN_LOCKED","INVALID_HOST_PIN","REQUESTING_PARTICIPANT_NOT_MODERATOR","CONVERSATION_NOT_FOUND","MEETING_LINK_NOT_FOUND","MEETING_INFO_NOT_FOUND","SCHEDULED_MEETING_NOT_FOUND","RECORDING_NOT_STARTED","RECORDING_NOT_ENABLED","RECORDING_USER_STORAGE_FULL","RECORDING_SITE_STORAGE_FULL","NO_SCHEDULED_MEETING","MEETING_FULL_UPDATE_NOT_ALLOWED","MODERATOR_ROLE_REMOVAL_NOT_VALID","MODERATOR_ROLE_ADDITION_NOT_VALID","INVALID_CALL_START_TIME","MEETING_STARTED_UPDATE_NOT_ALLOWED","EXCEEDED_MAX_JOINED_PARTICIPANTS","EXCEEDED_SERVICE_MAX_PARTICIPANTS","MEETING_IS_LOCKED","MEETING_IS_TERMINATING","MEETING_REQUIRE_MODERATOR_PIN_INTENT","MEETING_REQUIRE_MODERATOR_PIN","MEETING_REQUIRE_MODERATOR_ROLE","PMR_ACCOUNT_SUSPENDED","PMR_ACCOUNT_LOCKED","INVALID_JOIN_TIME","REQUIRES_WEBEX_LOGIN","TOO_MANY_REQUESTS","UNABLE_TO_LOOK_UP_DEVICE_INFORMATION","UNABLE_TO_LOOK_UP_CONVERSATION","UNABLE_TO_LOOK_UP_CI_USER","UNABLE_TO_CREATE_CONFLUENCE","SERVICE_UNAVAILABLE","SOCKET_TIMEOUT","NO_HTTP_RESPONSE","MEETING_END_REASON","MEDIA_RELEASED","DISPLAY_HINTS","ADD_GUEST","ROSTER_WAITING_TO_JOIN","RECORDING_CONTROL_START","RECORDING_CONTROL_PAUSE","RECORDING_CONTROL_STOP","RECORDING_CONTROL_RESUME","LOCK_CONTROL_UNLOCK","LOCK_CONTROL_LOCK","LOCK_STATUS_LOCKED","LOCK_STATUS_UNLOCKED","RAISE_HAND","LOWER_ALL_HANDS","LOWER_SOMEONE_ELSES_HAND","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","CAPTION_START","CAPTION_STATUS_ACTIVE","DISPLAY_REAL_TIME_TRANSLATION","ENABLE_CAPTION_PANEL","DISPLAY_NON_ENGLISH_ASR","TRANSCRIPTION_CONTROL_START","TRANSCRIPTION_CONTROL_STOP","WEBEX_ASSISTANT_STATUS_ACTIVE","WAITING_FOR_OTHERS","ENABLE_REACTIONS","DISABLE_REACTIONS","REACTIONS_ACTIVE","REACTIONS_INACTIVE","ENABLE_MUTE_ON_ENTRY","DISABLE_MUTE_ON_ENTRY","ENABLE_HARD_MUTE","DISABLE_HARD_MUTE","SELF_ROLES","COHOST","MODERATOR","MEETING_STATE","INCOMING","DIALING","NOTIFIED","DECLINED","ON_GOING","JOINED","LEFT","MEETING_STATE_MACHINE","TRANSITIONS","FAIL","RING","RESET","RINGING","ANSWERED","MEETING_AUDIO_STATE_MACHINE","TOGGLE","INIT","MUTE_SELF","UNMUTE_SELF","MEETING_VIDEO_STATE_MACHINE","PEER_CONNECTION_STATE","IN_PROGRESS","FAILURE","DEFAULT_TRY_COUNT","DEFAULT_STATUS","RESOURCE","CLUSTERS","REACHABILITY","localStorageResult","localStorageJoinCookie","namespace","ROAP","ROAP_TYPES","OFFER","OK","TURN_DISCOVERY_REQUEST","TURN_DISCOVERY_RESPONSE","ROAP_MERCURY","ROAP_VERSION","MediaContent","main","slides","NETWORK_STATUS","RECONNECTING","NETWORK_TYPE","VPN","WIFI","ETHERNET","SEND_DIRECTION","RECEIVE_DIRECTION","MQA_STATS","MQA_SIZE","CA_TYPE","DEFAULT_IP","DEFAULT_SHARE_SENDER_STATS","common","direction","isMain","mariFecEnabled","mariQosEnabled","multistreamEnabled","availableBitrate","dtlsBitrate","dtlsPackets","fecBitrate","fecPackets","maxBitrate","queueDelay","remoteJitter","remoteLossRate","remoteReceiveRate","roundTripTime","rtcpBitrate","rtcpPackets","rtpBitrate","rtpPackets","stunBitrate","stunPackets","transportType","streams","codec","duplicateSsci","requestedBitrate","requestedFrames","ssci","transmittedBitrate","transmittedFrameRate","h264CodecProfile","localConfigurationChanges","remoteConfigurationChanges","requestedFrameSize","requestedKeyFrames","transmittedFrameSize","transmittedHeight","transmittedKeyFrames","transmittedWidth","intervalMetadata","memoryUsage","cpuBitWidth","mainProcessMaximumMemoryBytes","osBitWidth","processAverageMemoryUsage","processMaximumMemoryBytes","processMaximumMemoryUsage","systemAverageMemoryUsage","systemMaximumMemoryUsage","peerReflexiveIP","processAverageCPU","processMaximumCPU","systemAverageCPU","systemMaximumCPU","QUALITY_LEVELS","LOW","MEDIUM","HIGH","AVAILABLE_RESOLUTIONS","video","width","max","ideal","height","VIDEO_RESOLUTIONS","MQA_INTEVAL","MEDIA_DEVICES","MICROPHONE","SPEAKER","CAMERA","METRICS_JOIN_TIMES_MAX_DURATION","PSTN_STATUS","TRANSFERRING","SUCCESS","PASSWORD_STATUS","NOT_REQUIRED","REQUIRED","VERIFIED","MEETING_INFO_FAILURE_REASON","NONE","WRONG_PASSWORD","WRONG_CAPTCHA","BNR_STATUS","SHOULD_ENABLE","ENABLED","SHOULD_DISABLE","NOT_ENABLED","EMBEDDED_APP_TYPES","SLIDO"],"sources":["constants.ts"],"sourcesContent":["// @ts-ignore\nimport {hydraTypes} from '@webex/common';\n\n// *********** LOWERCASE / CAMELCASE STRINGS ************\n\nexport const AUDIO = 'audio';\nexport const AUDIO_INPUT = 'audioinput';\nexport const AUDIO_STATUS = 'audioStatus';\nexport const ALERT = 'alert';\nexport const ANSWER = 'answer';\n\nexport const CALL = 'call';\nexport const CORRELATION_ID = 'correlationId';\nexport const CONVERSATION_URL = 'conversationUrl';\nexport const CALENDAR = 'calendar';\nexport const CALENDAR_EVENTS_API = 'calendarEvents';\nexport const CMR_MEETINGS = 'cmrmeetings';\nexport const CLAIM = 'claim';\nexport const CONTROLS = 'controls';\nexport const CONTENT = 'content';\nexport const COMPLETE = 'complete';\nexport const WHITEBOARD = 'whiteboard';\nexport const GATHERING = 'gathering';\nexport const DEVELOPMENT = 'development';\nexport const DECLINE = 'decline';\n\nexport const ERROR = 'error';\nexport const ENDED = 'ended';\n\nexport const HECATE = 'hecate';\n\nexport const HOST = 'host';\n\nexport const JOIN = 'join';\n\nexport const LEAVE = 'leave';\nexport const LIVE = 'live';\nexport const LOCAL = 'local';\nexport const LOCI = 'loci';\nexport const LOCUS_URL = 'locusUrl';\nexport const END = 'end';\n\nexport const MAX_RANDOM_DELAY_FOR_MEETING_INFO = 3 * 60 * 1000;\nexport const MEETINGINFO = 'meetingInfo';\nexport const MEET = 'meet';\nexport const MEET_M = 'm';\nexport const MEDIA = 'media';\n\nexport const OFFLINE = 'offline';\nexport const ONLINE = 'online';\n\nexport const PARTICIPANT = 'participant';\n\nexport const PROVISIONAL_TYPE_DIAL_IN = 'DIAL_IN';\nexport const PROVISIONAL_TYPE_DIAL_OUT = 'DIAL_OUT';\n\nexport const REMOTE = 'remote';\nexport const READY = 'ready';\n\nexport const SEND_DTMF_ENDPOINT = 'sendDtmf';\nexport const SENDRECV = 'sendrecv';\nexport const SIP_URI = 'sipUri';\nexport const SHARE = 'share';\n\nexport const TYPE = 'type';\n\nexport const VIDEO = 'video';\nexport const VIDEO_INPUT = 'videoinput';\nexport const VIDEO_STATUS = 'videoStatus';\n\n// *********** UPPERCASE ONLY STRINGS ************\n// Please alphabetize\nexport const _ANSWER_ = 'ANSWER';\nexport const _ACTIVE_ = 'ACTIVE';\nexport const _CALL_ = 'CALL';\nexport const _CREATED_ = 'CREATED';\nexport const _CONFLICT_ = 'CONFLICT';\nexport const _CONVERSATION_URL_ = 'CONVERSATION_URL';\n\nexport const _ERROR_ = 'ERROR';\n\nexport const _FORCED_ = 'FORCED';\n\nexport const _IDLE_ = 'IDLE';\nexport const _IN_LOBBY_ = 'IN_LOBBY';\nexport const _IN_MEETING_ = 'IN_MEETING';\nexport const _INCOMING_ = 'INCOMING';\nexport const _IN_ = 'IN';\nexport const _ID_ = 'id';\n\nexport const _JOIN_ = 'JOIN';\nexport const _JOINED_ = 'JOINED';\n\nexport const _LOCUS_ID_ = 'LOCUS_ID';\nexport const _LEFT_ = 'LEFT';\n\nexport const _MEETING_LINK_ = 'MEETING_LINK';\nexport const _MEETING_UUID_ = 'MEETING_UUID';\nexport const _MEETING_ = 'MEETING';\nexport const _MEETING_CENTER_ = 'MEETING_CENTER';\nexport const _MEETING_ID_ = 'MEETING_ID';\n\nexport const _NOT_IN_MEETING_ = 'NOT_IN_MEETING';\nexport const _NONE_ = 'NONE';\n\nexport const _OBSERVE_ = 'OBSERVE';\n\nexport const _PERSONAL_ROOM_ = 'PERSONAL_ROOM';\nexport const _PEOPLE_ = hydraTypes.PEOPLE;\n\nexport const _REQUESTED_ = 'REQUESTED';\nexport const _RESOURCE_ROOM_ = 'RESOURCE_ROOM';\nexport const _RECEIVE_ONLY_ = 'RECVONLY';\nexport const _REMOVE_ = 'REMOVE';\nexport const _ROOM_ = hydraTypes.ROOM;\n\nexport const _SIP_BRIDGE_ = 'SIP_BRIDGE';\nexport const _SIP_URI_ = 'SIP_URI';\nexport const _SEND_RECEIVE_ = 'SENDRECV';\nexport const _SEND_ONLY_ = 'SENDONLY';\nexport const _INACTIVE_ = 'INACTIVE';\nexport const _SLIDES_ = 'SLIDES';\nexport const _S_LINE = 's=-';\n\nexport const _USER_ = 'USER';\nexport const _UNKNOWN_ = 'UNKNOWN';\n\nexport const _WEBEX_MEETING_ = 'WEBEX_MEETING';\nexport const _WAIT_ = 'WAIT';\nexport const _MOVE_MEDIA_ = 'MOVE_MEDIA';\n\n// *********** PARTICIPANT DELTAS ***********\nexport const PARTICIPANT_DELTAS = {\n TARGETS: {\n AUDIO: 'audio',\n VIDEO: 'video',\n },\n STATES: {\n DISABLED: 'disabled',\n MUTED: 'muted',\n UNKNOWN: 'unknown',\n UNMUTED: 'unmuted',\n },\n};\n\n// *********** STRING HELPERS ***********\n// Please alphabetize\nexport const ALTERNATE_REDIRECT_TRUE = 'alternateRedirect=true';\n\nexport const HTTPS_PROTOCOL = 'https://';\n\nexport const MEETINGS = 'Meetings';\n\nexport const MEDIA_PEER_CONNECTION_NAME = 'MediaPeerConnection';\n\nexport const SHARE_PEER_CONNECTION_NAME = 'SharePeerConnection';\n\nexport const USE_URI_LOOKUP_FALSE = 'useUriLookup=false';\n\nexport const WWW_DOT = 'www.';\n\nexport const WEBEX_DOT_COM = 'webex.com';\n\nexport const CONVERSATION_SERVICE = 'identityLookup';\n\nexport const WBXAPPAPI_SERVICE = 'webex-appapi-service';\n\n// ******************* ARRAYS ********************\n// Please alphabetize\nexport const DEFAULT_EXCLUDED_STATS = ['timestamp', 'ssrc', 'priority'];\n\n/**\n * @description @description Layout type for remote video participants. Allowed values are: Single, Equal, ActivePresence, Prominent, OnePlusN\n * @type {array}\n * @constant\n */\nexport const LAYOUT_TYPES = ['Single', 'Equal', 'ActivePresence', 'Prominent', 'OnePlusN'];\n\n// ******************* BOOLEANS *******************\n// Please alphabetize\nexport const MODERATOR_TRUE = true;\nexport const MODERATOR_FALSE = false;\n\n// ******************** NUMBERS ********************\n\nexport const INTENT_TO_JOIN = [2423005, 2423006, 2423016, 2423017, 2423018];\nexport const ICE_TIMEOUT = 2000;\nexport const ICE_FAIL_TIMEOUT = 3000;\n\nexport const RETRY_TIMEOUT = 3000;\n\nexport const PC_BAIL_TIMEOUT = 8000;\n\n// ******************** REGEX **********************\n// Please alphabetize\nexport const DIALER_REGEX = {\n // modified from https://github.com/kirm/sip.js base\n // and with https://tools.ietf.org/html/rfc3261\n // requires the @ symbol\n SIP_ADDRESS:\n /^(sips?)?:?(?:([^\\s>:@]+)(?::([^\\s@>]+))?@)([\\w\\-.]+)(?::(\\d+))?((?:;[^\\s=?>;]+(?:=[^\\s?;]+)?)*)(?:\\?(([^\\s&=>]+=[^\\s&=>]+)(&[^\\s&=>]+=[^\\s&=>]+)*))?$/,\n // standard telephony num regex\n PHONE_NUMBER:\n /^(?:(?:\\+?1\\s*(?:[.-]\\s*)?)?(?:\\(\\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\\s*\\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\\s*(?:[.-]\\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\s*(?:[.-]\\s*)?([0-9]{4})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/,\n E164_FORMAT: /^\\+[1-9]\\d{1,14}$/,\n};\n\n// eslint-disable-next-line max-len\nexport const IPV4_REGEX = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}|.local/g;\n\nexport const VALID_EMAIL_ADDRESS =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nexport const VALID_PMR_ADDRESS =\n /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com/i;\nexport const VALID_PMR_LINK =\n /(https:\\/\\/)?([a-z0-9][-a-z0-9, '.']{0,62})\\.webex\\.com\\/(meet|join)\\/([a-z0-9][-a-z0-9, '.']{0,62})\\/?/i;\nexport const VALID_PIN = /([0-9]{4,6})/;\nexport const UUID_REG =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n// ******************** OBJECTS ********************\n// Please alphabetize, and keep objects organized\n\n// TODO: move all api params to API section\nexport const API = {\n CALLIOPEDISCOVERY: 'calliopeDiscovery',\n LOCUS: 'locus',\n};\n\nexport const CALENDAR_EVENTS = {\n CREATE: 'event:calendar.meeting.create',\n UPDATE: 'event:calendar.meeting.update',\n CREATE_MINIMAL: 'event:calendar.meeting.create.minimal',\n UPDATE_MINIMAL: 'event:calendar.meeting.update.minimal',\n DELETE: 'event:calendar.meeting.delete',\n};\n\nexport const DEFAULT_GET_STATS_FILTER = {\n types: [\n 'track',\n 'transport',\n 'candidate-pair',\n 'outbound-rtp',\n 'outboundrtp',\n 'inbound-rtp',\n 'inboundrtp',\n 'remote-inbound-rtp',\n 'remote-outbound-rtp',\n 'remote-candidate',\n 'local-candidate',\n 'media-source',\n ],\n};\n\nexport const RECORDING_STATE = {\n RECORDING: 'recording',\n IDLE: 'idle',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n};\n\nexport const SHARE_STATUS = {\n NO_SHARE: 'no_share',\n REMOTE_SHARE_ACTIVE: 'remote_share_active',\n LOCAL_SHARE_ACTIVE: 'local_share_active',\n WHITEBOARD_SHARE_ACTIVE: 'whiteboard_share_active',\n};\n\n// TODO: do we want to scope by meeting, members when they come off those objects themselves?\nexport const EVENT_TRIGGERS = {\n MEETINGS_READY: 'meetings:ready',\n MEETINGS_REGISTERED: 'meetings:registered',\n MEETINGS_UNREGISTERED: 'meetings:unregistered',\n MEDIA_READY: 'media:ready',\n MEDIA_STOPPED: 'media:stopped',\n MEDIA_UPDATE: 'media:update',\n MEDIA_CODEC_MISSING: 'media:codec:missing',\n MEDIA_CODEC_LOADED: 'media:codec:loaded',\n MEETING_STARTED_SHARING_LOCAL: 'meeting:startedSharingLocal',\n MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',\n MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',\n MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',\n MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',\n MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',\n MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',\n MEETING_MEDIA_REMOTE_STARTED: 'meeting:media:remote:start',\n MEETING_STARTED_RECORDING: 'meeting:recording:started',\n MEETING_STOPPED_RECORDING: 'meeting:recording:stopped',\n MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',\n MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',\n MEETING_RECEIVE_REACTIONS: 'meeting:receiveReactions',\n MEETING_PAUSED_RECORDING: 'meeting:recording:paused',\n MEETING_RESUMED_RECORDING: 'meeting:recording:resumed',\n MEETING_ADDED: 'meeting:added',\n MEETING_REMOVED: 'meeting:removed',\n MEETING_RINGING: 'meeting:ringing',\n MEETING_RINGING_STOP: 'meeting:ringingStop',\n MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',\n MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',\n MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',\n MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',\n MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',\n MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',\n MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',\n MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',\n MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',\n MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',\n MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',\n MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',\n MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',\n MEMBERS_UPDATE: 'members:update',\n MEMBERS_CONTENT_UPDATE: 'members:content:update',\n MEMBERS_HOST_UPDATE: 'members:host:update',\n MEMBERS_SELF_UPDATE: 'members:self:update',\n MEETING_RECONNECTION_STARTING: 'meeting:reconnectionStarting',\n MEETING_RECONNECTION_SUCCESS: 'meeting:reconnectionSuccess',\n MEETING_RECONNECTION_FAILURE: 'meeting:reconnectionFailure',\n MEETING_UNLOCKED: 'meeting:unlocked',\n MEETING_LOCKED: 'meeting:locked',\n MEETING_INFO_AVAILABLE: 'meeting:meetingInfoAvailable',\n MEETING_LOG_UPLOAD_SUCCESS: 'meeting:logUpload:success',\n MEETING_LOG_UPLOAD_FAILURE: 'meeting:logUpload:failure',\n MEETING_ACTIONS_UPDATE: 'meeting:actionsUpdate',\n MEETING_STATE_CHANGE: 'meeting:stateChange',\n MEETING_MEETING_CONTAINER_UPDATE: 'meeting:meetingContainer:update',\n MEETING_EMBEDDED_APPS_UPDATE: 'meeting:embeddedApps:update',\n MEDIA_QUALITY: 'media:quality',\n MEETINGS_NETWORK_DISCONNECTED: 'network:disconnected',\n MEETINGS_NETWORK_CONNECTED: 'network:connected',\n MEETING_SELF_LEFT: 'meeting:self:left',\n NETWORK_QUALITY: 'network:quality',\n MEDIA_NEGOTIATED: 'media:negotiated',\n // the following events apply only to multistream media connections\n ACTIVE_SPEAKER_CHANGED: 'media:activeSpeakerChanged',\n REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',\n REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',\n REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',\n REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',\n REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',\n};\n\nexport const EVENT_TYPES = {\n SELF: 'self',\n OTHER: 'other',\n LOCAL: 'local',\n REMOTE: 'remote',\n REMOTE_AUDIO: 'remoteAudio',\n REMOTE_VIDEO: 'remoteVideo',\n REMOTE_SHARE: 'remoteShare',\n LOCAL_SHARE: 'localShare',\n ERROR: 'error',\n};\n\n// Handles the reason when meeting gets destroyed\n// host removed you from the meeting\n// You are the host and you left the meeting\n// Meeting actually ended\nexport const MEETING_REMOVED_REASON = {\n SELF_REMOVED: 'SELF_REMOVED', // server or host removed you from the meeting\n FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure\n MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting\n CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting\n USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share\n NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists\n MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue\n};\n\n// One one one calls ends for the following reasons\n// Partner reject the call or ends the call\n// self cancel or end the ongoing call\nexport const CALL_REMOVED_REASON = {\n CALL_INACTIVE: 'CALL_INACTIVE', // partner and you leave the call\n PARTNER_LEFT: 'PARTNER_LEFT', // partner left the call\n SELF_LEFT: 'SELF_LEFT', // you left/declined the call\n};\n\nexport const SHARE_STOPPED_REASON = {\n SELF_STOPPED: 'SELF_STOPPED',\n MEETING_REJOIN: 'MEETING_REJOIN',\n};\n\nexport const EVENTS = {\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n CONVERSATION_URL_UPDATE: 'CONVERSATION_URL_UPDATE',\n DESTROY_MEETING: 'DESTROY_MEETING',\n REQUEST_UPLOAD_LOGS: 'REQUEST_UPLOAD_LOGS',\n REMOTE_RESPONSE: 'REMOTE_RESPONSE',\n // TODO: move all of these to LOCUSINFO.EVENTS\n LOCUS_INFO_UPDATE_PARTICIPANTS: 'LOCUS_INFO_UPDATE_PARTICIPANTS',\n LOCUS_INFO_UPDATE_HOST: 'LOCUS_INFO_UPDATE_HOST',\n LOCUS_INFO_UPDATE_MEDIA_SHARES: 'LOCUS_INFO_UPDATE_MEDIA_SHARES',\n LOCUS_INFO_UPDATE_SELF: 'LOCUS_INFO_UPDATE_SELF',\n LOCUS_INFO_UPDATE_URL: 'LOCUS_INFO_UPDATE_URL',\n LOCUS_INFO_CAN_ASSIGN_HOST: 'LOCUS_INFO_CAN_ASSIGN_HOST',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n};\n\nexport const MEDIA_STATE = {\n active: 'active',\n inactive: 'inactive',\n};\n\nexport const ERROR_DICTIONARY = {\n PARAMETER: {\n NAME: 'ParameterError',\n MESSAGE:\n 'The parameters passed to the function, or object properties needed in the function were null, missing where required, or otherwise incorrect.',\n CODE: 0,\n },\n INTENT_TO_JOIN: {\n NAME: 'IntentToJoinError',\n MESSAGE:\n 'The meeting is locked. This is expected behavior. Call #join again with pin and/or moderator option',\n CODE: 1,\n },\n JOIN_MEETING: {\n NAME: 'JoinMeetingError',\n MESSAGE: 'There was an issue joining the meeting, meeting could be in a bad state.',\n CODE: 2,\n },\n RECONNECTION: {\n NAME: 'ReconnectionError',\n MESSAGE:\n 'There was an error in the reconnection flow, the meeting may not reconnect, disconnect and dial again.',\n CODE: 3,\n },\n MEDIA: {\n NAME: 'MediaError',\n MESSAGE: 'There was an error with media, the meeting may not have live audio, video or share.',\n CODE: 4,\n },\n PERMISSION: {\n NAME: 'PermissionError',\n MESSAGE:\n 'Not allowed to execute the function, some properties on server, or local client state do not allow you to complete this action.',\n CODE: 5,\n },\n STATS: {\n NAME: 'StatsError',\n MESSAGE: 'An error occurred with getStats, stats may not continue for this data stream.',\n CODE: 6,\n },\n PASSWORD: {\n NAME: 'PasswordError',\n MESSAGE: 'Password is required, please use verifyPassword()',\n CODE: 7,\n },\n CAPTCHA: {\n NAME: 'CaptchaError',\n MESSAGE: 'Captcha is required.',\n CODE: 8,\n },\n};\n\nexport const FLOOR_ACTION = {\n GRANTED: 'GRANTED',\n RELEASED: 'RELEASED',\n ACCEPTED: 'ACCEPTED',\n};\n\nexport const FULL_STATE = {\n INITIALIZING: 'INITIALIZING',\n INACTIVE: 'INACTIVE',\n ACTIVE: 'ACTIVE',\n TERMINATING: 'TERMINATING',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const HTTP_VERBS = {\n PUT: 'PUT',\n POST: 'POST',\n GET: 'GET',\n PATCH: 'PATCH',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState\nexport const ICE_GATHERING_STATE = {\n NEW: 'new',\n GATHERING: 'gathering',\n COMPLETE: 'complete',\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState\nexport const ICE_STATE = {\n CHECKING: 'checking',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n COMPLETED: 'completed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const CONNECTION_STATE = {\n NEW: 'new',\n CONNECTING: 'connecting',\n CONNECTED: 'connected',\n CLOSED: 'closed',\n FAILED: 'failed',\n DISCONNECTED: 'disconnected',\n};\n\nexport const LOCUS = {\n STATE: {\n INACTIVE: 'INACTIVE',\n ENDED: 'ENDED',\n INITIALIZING: 'INITIALIZING',\n },\n SEQUENCE: {\n UN_DEF: 'undef',\n EMPTY: 'empty',\n DEF: 'def',\n NA: 'na',\n RANGE_START: 'rangeStart',\n RANGE_END: 'rangeEnd',\n },\n SYNCDEBUG: 'sync_debug',\n};\n\nexport const BREAKOUTS = {\n STATUS: {\n CLOSING: 'CLOSING',\n },\n EVENTS: {\n BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',\n MESSAGE: 'MESSAGE',\n MEMBERS_UPDATE: 'MEMBERS_UPDATE',\n },\n SESSION_TYPES: {\n MAIN: 'MAIN',\n },\n SESSION_STATES: {\n ACTIVE: 'active',\n ASSIGNED: 'assigned',\n ALLOWED: 'allowed',\n ASSIGNED_CURRENT: 'assignedCurrent',\n REQUESTED: 'requested',\n },\n BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',\n};\n\nexport const LOCUSINFO = {\n EVENTS: {\n CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',\n CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',\n CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',\n CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',\n CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',\n CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',\n SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',\n SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',\n SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',\n LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',\n LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',\n SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',\n MEETING_UPDATE: 'MEETING_UPDATE',\n MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',\n FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',\n FULL_STATE_MEETING_STATE_CHANGE: 'FULL_STATE_MEETING_STATE_CHANGE',\n MEETING_STATE_CHANGE_TO_ACTIVE: 'MEETING_STATE_CHANGE_TO_ACTIVE',\n MEETING_INFO_UPDATED: 'MEETING_INFO_UPDATED',\n MEETING_LOCKED: 'MEETING_LOCKED',\n MEETING_UNLOCKED: 'MEETING_UNLOCKED',\n SELF_OBSERVING: 'SELF_OBSERVING',\n DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',\n EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',\n SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',\n SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',\n SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',\n MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',\n LINKS_SERVICES: 'LINKS_SERVICES',\n },\n};\n\nexport const LOCUSEVENT = {\n LOCUS_MERCURY: 'event:locus',\n\n // update the tp unit status\n CONTROLS_UPDATED: 'locus.controls_updated',\n\n // delta events\n DIFFERENCE: 'locus.difference',\n\n // Breakout sessions\n BREAKOUT_ROSTER: 'breakout.roster',\n\n // screen sharing\n FLOOR_GRANTED: 'locus.floor_granted',\n FLOOR_RELEASED: 'locus.floor_released',\n\n // Roap\n MESSAGE_ROAP: 'locus.message.roap',\n\n // Join events\n PARTICIPANT_JOIN: 'locus.participant_joined',\n PARTICIPANT_LEFT: 'locus.participant_left',\n PARTICIPANT_DECLINED: 'locus.participant_declined',\n PARTICIPANT_UPDATED: 'locus.participant_updated',\n PARTICIPANT_CONTROLS_UPDATED: 'locus.participant_controls_updated',\n PARTICIPANT_ROLES_UPDATED: 'locus.participant_roles_updated',\n PARTICIPANT_AUDIO_MUTED: 'locus.participant_audio_muted',\n PARTICIPANT_AUDIO_UNMUTED: 'locus.participant_audio_unmuted',\n PARTICIPANT_VIDEO_MUTED: 'locus.participant_video_muted',\n PARTICIPANT_VIDEO_UNMUTED: 'locus.participant_video_unmuted',\n\n RECORDING_STARTED: 'locus.recording_started',\n RECORDING_START_FAILED: 'locus.recording_start_failed',\n RECORDING_STOPPED: 'locus.recording_stopped',\n\n SELF_CHANGED: 'locus.self_changed',\n};\n\nexport const MEDIA_TRACK_CONSTRAINT = {\n CURSOR: {\n // The mouse cursor should always be captured in the generated stream.\n AWLAYS: 'always',\n // The cursor should only be visible while moving, then removed.\n MOTION: 'motion',\n // The cursor should never be visible in the generated stream.\n NEVER: 'never',\n },\n};\n\nexport const MEETING_ERRORS = {\n METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION: 'METRICS_NOT_SERVER_OR_CLIENT_EXCEPTION',\n\n BIDIRECTIONAL_ROSTER_NOT_ALLOWED: 'BIDIRECTIONAL_ROSTER_NOT_ALLOWED',\n INVALID_LOCUS_URL: 'INVALID_LOCUS_URL',\n ARGUMENT_NULL_OR_EMPTY: 'ARGUMENT_NULL_OR_EMPTY',\n INVALID_USER: 'INVALID_USER',\n INVALID_PHONE_NUMBER_OR_COUNTRY_CODE: 'INVALID_PHONE_NUMBER_OR_COUNTRY_CODE',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE',\n PHONE_NUMBER_INVALID_COUNTRY_CODE: 'PHONE_NUMBER_INVALID_COUNTRY_CODE',\n PHONE_NUMBER_NOT_A_NUMBER: 'PHONE_NUMBER_NOT_A_NUMBER',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PHONE_NUMBER_TOO_SHORT_AFTER_IDD',\n PHONE_NUMBER_TOO_SHORT_NSN: 'PHONE_NUMBER_TOO_SHORT_NSN',\n PHONE_NUMBER_TOO_LONG: 'PHONE_NUMBER_TOO_LONG',\n INVALID_DIALABLE_KEY: 'INVALID_DIALABLE_KEY',\n INVALID_MEETING_LINK: 'INVALID_MEETING_LINK',\n INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST: 'INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST',\n INVALID_LOCUS_ID: 'INVALID_LOCUS_ID',\n EMPTY_SCHEDULED_MEETING_START_TIME: 'EMPTY_SCHEDULED_MEETING_START_TIME',\n INVALID_SCHEDULED_MEETING_DURATION_MINUTES: 'INVALID_SCHEDULED_MEETING_DURATION_MINUTES',\n INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES:\n 'INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES',\n EMPTY_SCHEDULED_MEETING_ORGANIZER: 'EMPTY_SCHEDULED_MEETING_ORGANIZER',\n INVALID_MEETING_ID_FORMAT: 'INVALID_MEETING_ID_FORMAT',\n INVALID_SIP_URL_FORMAT: 'INVALID_SIP_URL_FORMAT',\n EMPTY_INVITEE_RECORD: 'EMPTY_INVITEE_RECORD',\n EMPTY_INVITEE_ADDRESS: 'EMPTY_INVITEE_ADDRESS',\n DESKPHONE_NOTHING_DIALABLE_FOUND: 'DESKPHONE_NOTHING_DIALABLE_FOUND',\n INVALID_INVITEE_ADDRESS: 'INVALID_INVITEE_ADDRESS',\n INVALID_ATTENDEE_ID: 'INVALID_ATTENDEE_ID',\n INVALID_IN_LOBBY: 'INVALID_IN_LOBBY',\n MISSING_REQUESTING_PARTICIPANT_ID: 'MISSING_REQUESTING_PARTICIPANT_ID',\n INVALID_REQUESTING_PARTICIPANT_ID: 'INVALID_REQUESTING_PARTICIPANT_ID',\n SUPPLEMENTARY_USER_INFO_NOT_FOUND: 'SUPPLEMENTARY_USER_INFO_NOT_FOUND',\n\n UNAUTHORIZED: 'UNAUTHORIZED',\n REMOVED_PARTICIPANT: 'REMOVED_PARTICIPANT',\n\n FREE_USER_MAX_PARTICIPANTS_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_EXCEEDED',\n INACTIVE: 'INACTIVE',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'ONE_ON_ONE_TO_SELF_NOT_ALLOWED',\n JOIN_RESTRICTED_USER: 'JOIN_RESTRICTED_USER',\n GET_RESTRICTED_USER: 'GET_RESTRICTED_USER',\n JOIN_RESTRICTED_USER_NOT_IN_ROOM: 'JOIN_RESTRICTED_USER_NOT_IN_ROOM',\n CREATE_MEDIA_RESTRICTED_USER: 'CREATE_MEDIA_RESTRICTED_USER',\n DUPLICATE_RESOURCE_CREATION_REQUEST: 'DUPLICATE_RESOURCE_CREATION_REQUEST',\n MEETING_NOT_FOUND: 'MEETING_NOT_FOUND',\n NOT_WEBEX_SITE: 'NOT_WEBEX_SITE',\n INVALID_SCHEDULED_MEETING_ORGANIZER: 'INVALID_SCHEDULED_MEETING_ORGANIZER',\n FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED: 'PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED',\n SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_MAX_PARTICIPANTS_ROSTER_EXCEEDED',\n SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED: 'SERVICE_INITIAL_PARTICIPANTS_ROSTER_EXCEEDED',\n RESOURCE_GUEST_FORBIDDEN: 'RESOURCE_GUEST_FORBIDDEN',\n SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT: 'SERVICE_NO_MACHINE_OR_SERVICE_ACCOUNT',\n MODERATOR_ROLE_REMOVAL_NOT_ALLOWED: 'MODERATOR_ROLE_REMOVAL_NOT_ALLOWED',\n RECORDING_CONTROL_NOT_SUPPORTED: 'RECORDING_CONTROL_NOT_SUPPORTED',\n HOST_PIN_LOCKED: 'HOST_PIN_LOCKED',\n INVALID_HOST_PIN: 'INVALID_HOST_PIN',\n REQUESTING_PARTICIPANT_NOT_MODERATOR: 'REQUESTING_PARTICIPANT_NOT_MODERATOR',\n\n CONVERSATION_NOT_FOUND: 'CONVERSATION_NOT_FOUND',\n MEETING_LINK_NOT_FOUND: 'MEETING_LINK_NOT_FOUND',\n MEETING_INFO_NOT_FOUND: 'MEETING_INFO_NOT_FOUND',\n SCHEDULED_MEETING_NOT_FOUND: 'SCHEDULED_MEETING_NOT_FOUND',\n\n RECORDING_NOT_STARTED: 'RECORDING_NOT_STARTED',\n RECORDING_NOT_ENABLED: 'RECORDING_NOT_ENABLED',\n RECORDING_USER_STORAGE_FULL: 'RECORDING_USER_STORAGE_FULL',\n RECORDING_SITE_STORAGE_FULL: 'RECORDING_SITE_STORAGE_FULL',\n\n NO_SCHEDULED_MEETING: 'NO_SCHEDULED_MEETING',\n MEETING_FULL_UPDATE_NOT_ALLOWED: 'MEETING_FULL_UPDATE_NOT_ALLOWED',\n MODERATOR_ROLE_REMOVAL_NOT_VALID: 'MODERATOR_ROLE_REMOVAL_NOT_VALID',\n MODERATOR_ROLE_ADDITION_NOT_VALID: 'MODERATOR_ROLE_ADDITION_NOT_VALID',\n INVALID_CALL_START_TIME: 'INVALID_CALL_START_TIME',\n MEETING_STARTED_UPDATE_NOT_ALLOWED: 'MEETING_STARTED_UPDATE_NOT_ALLOWED',\n\n EXCEEDED_MAX_JOINED_PARTICIPANTS: 'EXCEEDED_MAX_JOINED_PARTICIPANTS',\n EXCEEDED_SERVICE_MAX_PARTICIPANTS: 'EXCEEDED_SERVICE_MAX_PARTICIPANTS',\n MEETING_IS_LOCKED: 'MEETING_IS_LOCKED',\n MEETING_IS_TERMINATING: 'MEETING_IS_TERMINATING',\n MEETING_REQUIRE_MODERATOR_PIN_INTENT: 'MEETING_REQUIRE_MODERATOR_PIN_INTENT',\n MEETING_REQUIRE_MODERATOR_PIN: 'MEETING_REQUIRE_MODERATOR_PIN',\n MEETING_REQUIRE_MODERATOR_ROLE: 'MEETING_REQUIRE_MODERATOR_ROLE',\n PMR_ACCOUNT_SUSPENDED: 'PMR_ACCOUNT_SUSPENDED',\n PMR_ACCOUNT_LOCKED: 'PMR_ACCOUNT_LOCKED',\n INVALID_JOIN_TIME: 'INVALID_JOIN_TIME',\n REQUIRES_WEBEX_LOGIN: 'REQUIRES_WEBEX_LOGIN',\n\n TOO_MANY_REQUESTS: 'TOO_MANY_REQUESTS',\n\n UNABLE_TO_LOOK_UP_DEVICE_INFORMATION: 'UNABLE_TO_LOOK_UP_DEVICE_INFORMATION',\n UNABLE_TO_LOOK_UP_CONVERSATION: 'UNABLE_TO_LOOK_UP_CONVERSATION',\n UNABLE_TO_LOOK_UP_CI_USER: 'UNABLE_TO_LOOK_UP_CI_USER',\n UNABLE_TO_CREATE_CONFLUENCE: 'UNABLE_TO_CREATE_CONFLUENCE',\n\n SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',\n\n SOCKET_TIMEOUT: 'SOCKET_TIMEOUT',\n NO_HTTP_RESPONSE: 'NO_HTTP_RESPONSE',\n};\n\nexport const MEETING_END_REASON = {\n INACTIVE: 'INACTIVE',\n MEDIA_RELEASED: 'MEDIA_RELEASED',\n};\n\nexport const DISPLAY_HINTS = {\n ADD_GUEST: 'ADD_GUEST',\n ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',\n RECORDING_CONTROL_START: 'RECORDING_CONTROL_START',\n RECORDING_CONTROL_PAUSE: 'RECORDING_CONTROL_PAUSE',\n RECORDING_CONTROL_STOP: 'RECORDING_CONTROL_STOP',\n RECORDING_CONTROL_RESUME: 'RECORDING_CONTROL_RESUME',\n LOCK_CONTROL_UNLOCK: 'LOCK_CONTROL_UNLOCK',\n LOCK_CONTROL_LOCK: 'LOCK_CONTROL_LOCK',\n LOCK_STATUS_LOCKED: 'LOCK_STATUS_LOCKED',\n LOCK_STATUS_UNLOCKED: 'LOCK_STATUS_UNLOCKED',\n RAISE_HAND: 'RAISE_HAND',\n LOWER_ALL_HANDS: 'LOWER_ALL_HANDS',\n LOWER_SOMEONE_ELSES_HAND: 'LOWER_SOMEONE_ELSES_HAND',\n LEAVE_TRANSFER_HOST_END_MEETING: 'LEAVE_TRANSFER_HOST_END_MEETING',\n LEAVE_END_MEETING: 'LEAVE_END_MEETING',\n CAPTION_START: 'CAPTION_START',\n CAPTION_STATUS_ACTIVE: 'CAPTION_STATUS_ACTIVE',\n DISPLAY_REAL_TIME_TRANSLATION: 'DISPLAY_REAL_TIME_TRANSLATION',\n ENABLE_CAPTION_PANEL: 'ENABLE_CAPTION_PANEL',\n DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',\n TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',\n TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',\n WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',\n WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',\n ENABLE_REACTIONS: 'ENABLE_REACTIONS',\n DISABLE_REACTIONS: 'DISABLE_REACTIONS',\n REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',\n REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',\n ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',\n DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',\n ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',\n DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',\n};\n\nexport const SELF_ROLES = {\n COHOST: 'COHOST',\n MODERATOR: 'MODERATOR',\n};\n\nexport const MEETING_STATE = {\n STATES: {\n IDLE: 'IDLE',\n INCOMING: 'INCOMING',\n DIALING: 'DIALING',\n NOTIFIED: 'NOTIFIED',\n DECLINED: 'DECLINED',\n ON_GOING: 'ON_GOING',\n JOINED: 'JOINED',\n TERMINATING: 'TERMINATING',\n LEFT: 'LEFT',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n },\n};\n\nexport const MEETING_STATE_MACHINE = {\n TRANSITIONS: {\n FAIL: 'fail',\n RING: 'ring',\n REMOTE: 'remote',\n JOIN: 'join',\n DECLINE: 'decline',\n LEAVE: 'leave',\n END: 'end',\n RESET: 'reset',\n },\n STATES: {\n ERROR: 'ERROR',\n IDLE: 'IDLE',\n ENDED: 'ENDED',\n DECLINED: 'DECLINED',\n RINGING: 'RINGING',\n JOINED: 'JOINED',\n ANSWERED: 'ANSWERED',\n },\n};\n\nexport const MEETING_AUDIO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_AUDIO_OFF',\n UNMUTE_SELF: 'SELF_AUDIO_ON',\n },\n};\n\nexport const MEETING_VIDEO_STATE_MACHINE = {\n TRANSITIONS: {\n TOGGLE: 'toggle',\n INIT: 'init',\n },\n STATES: {\n MUTE_SELF: 'SELF_VIDEO_OFF',\n UNMUTE_SELF: 'SELF_VIDEO_ON',\n },\n};\n\nexport const PEER_CONNECTION_STATE = {\n CLOSED: 'closed',\n FAILED: 'failed',\n};\n\nexport const RECONNECTION = {\n STATE: {\n IN_PROGRESS: 'IN_PROGRESS',\n COMPLETE: 'COMPLETE',\n FAILURE: 'FAILURE',\n DEFAULT_TRY_COUNT: 0,\n DEFAULT_STATUS: '',\n },\n};\n\nexport const RESOURCE = {\n CLUSTERS: 'clusters',\n REACHABILITY: 'reachability',\n LOCI: 'loci',\n};\n\nexport const REACHABILITY = {\n localStorageResult: 'reachability.result',\n localStorageJoinCookie: 'reachability.joinCookie',\n namespace: 'Reachability',\n};\n\nexport const ROAP = {\n ROAP_TYPES: {\n OFFER: 'OFFER',\n ANSWER: 'ANSWER',\n OK: 'OK',\n ERROR: 'ERROR',\n TURN_DISCOVERY_REQUEST: 'TURN_DISCOVERY_REQUEST',\n TURN_DISCOVERY_RESPONSE: 'TURN_DISCOVERY_RESPONSE',\n },\n ROAP_MERCURY: 'event:locus.message.roap',\n ROAP_VERSION: '2',\n};\n\nexport const MediaContent = {\n main: 'main',\n slides: 'slides',\n};\n\nexport const NETWORK_STATUS = {\n DISCONNECTED: 'DISCONNECTED',\n RECONNECTING: 'RECONNECTING',\n CONNECTED: 'CONNECTED',\n};\n\nexport const NETWORK_TYPE = {\n VPN: 'vpn',\n UNKNOWN: 'unknown',\n WIFI: 'wifi',\n ETHERNET: 'ethernet',\n};\n\nexport const STATS = {\n SEND_DIRECTION: 'send',\n RECEIVE_DIRECTION: 'recv',\n REMOTE: 'remote',\n LOCAL: 'local',\n};\n\nexport const MQA_STATS = {\n MQA_SIZE: 120, // MQA is done on 60 second intervals by server def, add a buffer for missed events\n CA_TYPE: 'MQA',\n DEFAULT_IP: '0.0.0.0',\n DEFAULT_SHARE_SENDER_STATS: {\n common: {\n common: {\n direction: 'sendrecv', // TODO: parse from SDP and save globally\n isMain: false, // always true for share sender\n mariFecEnabled: false, // unavailable\n mariQosEnabled: false, // unavailable\n multistreamEnabled: false, // unavailable\n },\n availableBitrate: 0,\n dtlsBitrate: 0, // unavailable\n dtlsPackets: 0, // unavailable\n fecBitrate: 0, // unavailable\n fecPackets: 0, // unavailable\n maxBitrate: 0, // unavailable\n queueDelay: 0, // unavailable\n remoteJitter: 0, // unavailable\n remoteLossRate: 0,\n remoteReceiveRate: 0, // unavailable\n roundTripTime: 0,\n rtcpBitrate: 0, // unavailable\n rtcpPackets: 0, // unavailable\n rtpBitrate: 0, // unavailable\n rtpPackets: 0,\n stunBitrate: 0, // unavailable\n stunPackets: 0, // unavailable\n transportType: 'UDP', // TODO: parse the transport type from the SDP and save globally\n },\n streams: [\n {\n common: {\n codec: 'H264', // TODO: parse the codec from the SDP and save globally\n duplicateSsci: 0, // unavailable\n requestedBitrate: 0, // unavailable\n requestedFrames: 0, // unavailable\n rtpPackets: 0,\n ssci: 0, // unavailable\n transmittedBitrate: 0,\n transmittedFrameRate: 0,\n },\n h264CodecProfile: 'BP', // TODO: parse the profile level from h264 in the SDP and save globally\n localConfigurationChanges: 0, // unavailable\n remoteConfigurationChanges: 0, // unavailable\n requestedFrameSize: 0, // unavailable\n requestedKeyFrames: 0, // unavailable\n transmittedFrameSize: 0, // unavailable\n transmittedHeight: 0,\n transmittedKeyFrames: 0,\n transmittedWidth: 0,\n },\n ],\n },\n intervalMetadata: {\n memoryUsage: {\n cpuBitWidth: 0,\n mainProcessMaximumMemoryBytes: 0,\n osBitWidth: 0,\n processAverageMemoryUsage: 0,\n processMaximumMemoryBytes: 0,\n processMaximumMemoryUsage: 0,\n systemAverageMemoryUsage: 0,\n systemMaximumMemoryUsage: 0,\n },\n peerReflexiveIP: 'NULL', // TODO: save after ice trickling completes and use as a global variable\n processAverageCPU: 0,\n processMaximumCPU: 0,\n systemAverageCPU: 0,\n systemMaximumCPU: 0,\n },\n};\n\n// ****** MEDIA QUALITY CONSTANTS ****** //\n\n// these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib\nexport const QUALITY_LEVELS = {\n LOW: 'LOW',\n MEDIUM: 'MEDIUM',\n HIGH: 'HIGH',\n '360p': '360p',\n '480p': '480p',\n '720p': '720p',\n '1080p': '1080p',\n};\n\nexport const AVAILABLE_RESOLUTIONS = {\n '360p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 360,\n ideal: 360,\n },\n },\n },\n '480p': {\n video: {\n width: {\n max: 640,\n ideal: 640,\n },\n height: {\n max: 480,\n ideal: 480,\n },\n },\n },\n '720p': {\n video: {\n width: {\n max: 1280,\n ideal: 1280,\n },\n height: {\n max: 720,\n ideal: 720,\n },\n },\n },\n '1080p': {\n video: {\n width: {\n max: 1920,\n ideal: 1920,\n },\n height: {\n max: 1080,\n ideal: 1080,\n },\n },\n },\n};\n\nexport const VIDEO_RESOLUTIONS = {\n [QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],\n [QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],\n [QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],\n [QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],\n [QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],\n};\n\n/*\n * mqa Interval for sending stats metrics\n */\n\nexport const MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000\n\nexport const MEDIA_DEVICES = {\n MICROPHONE: 'microphone',\n SPEAKER: 'speaker',\n CAMERA: 'camera',\n};\n\nexport const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;\n\nexport const PSTN_STATUS = {\n JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect\n CONNECTED: 'CONNECTED', // user is connected to audio with pstn device\n LEFT: 'LEFT', // user has disconnected from the pstn device\n TRANSFERRING: 'TRANSFERRING', // usually happens in dial-out after the CONNECTED state\n SUCCESS: 'SUCCESS', // happens after the transfer (TRANSFERRING) is successful\n UNKNOWN: '', // placeholder if we haven't been told what the status is\n};\n\nexport const PASSWORD_STATUS = {\n NOT_REQUIRED: 'NOT_REQUIRED', // password is not required to join the meeting\n REQUIRED: 'REQUIRED', // client needs to provide the password by calling verifyPassword() before calling join()\n UNKNOWN: 'UNKNOWN', // we are waiting for information from the backend if password is required or not\n VERIFIED: 'VERIFIED', // client has already provided the password and it has been verified, client can proceed to call join()\n};\n\nexport const MEETING_INFO_FAILURE_REASON = {\n NONE: 'NONE', // meeting info was retrieved succesfully\n WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided\n WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided\n OTHER: 'OTHER', // any other error (network, etc)\n};\n\nexport const BNR_STATUS = {\n SHOULD_ENABLE: 'SHOULD_ENABLE',\n ENABLED: 'ENABLED',\n SHOULD_DISABLE: 'SHOULD_DISABLE',\n NOT_ENABLED: 'NOT_ENABLED',\n};\n\nexport const EMBEDDED_APP_TYPES = {\n SLIDO: 'SLIDO',\n OTHER: 'OTHER',\n};\n"],"mappings":"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"}
@@ -288,6 +288,19 @@ var MuteState = /*#__PURE__*/function () {
288
288
  return this.state.client.localMute || this.state.server.localMute || this.state.server.remoteMute;
289
289
  }
290
290
 
291
+ /**
292
+ * Returns true if the user is locally muted
293
+ *
294
+ * @public
295
+ * @memberof MuteState
296
+ * @returns {Boolean}
297
+ */
298
+ }, {
299
+ key: "isLocallyMuted",
300
+ value: function isLocallyMuted() {
301
+ return this.state.client.localMute || this.state.server.localMute;
302
+ }
303
+
291
304
  /**
292
305
  * Returns true if the user is muted as a result of the client request (and not remotely muted)
293
306
  *
@@ -1 +1 @@
1
- {"version":3,"names":["createMuteState","type","meeting","mediaDirection","AUDIO","sendAudio","VIDEO","sendVideo","LoggerProxy","logger","info","id","MuteState","ParameterError","state","client","localMute","server","remoteMute","remoteMuted","unmuteAllowed","syncToServerInProgress","pendingPromiseResolve","pendingPromiseReject","mute","reject","PermissionError","applyClientStateLocally","resolve","applyClientStateToServer","Media","setLocalTrack","mediaProperties","audioTrack","videoTrack","localMuteRequiresSync","remoteMuteRequiresSync","localMuteSyncPromise","sendLocalMuteRequestToServer","then","sendRemoteMuteRequestToServer","catch","e","audioMuted","audio","videoMuted","video","MeetingUtil","remoteUpdateAudioVideo","locus","locusInfo","onFullLocus","remoteUpdateError","warn","members","muteMember","selfId","muted","Error","isMuted","isSelf"],"sources":["muteState.ts"],"sourcesContent":["import LoggerProxy from '../common/logs/logger-proxy';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\nimport Media from '../media';\nimport MeetingUtil from './util';\nimport {AUDIO, VIDEO} from '../constants';\n\n/* Certain aspects of server interaction for video muting are not implemented as we currently don't support remote muting of video.\n If we ever need to support it, search for REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION string to find the places that need updating\n*/\n\n// eslint-disable-next-line import/prefer-default-export\nexport const createMuteState = (type, meeting, mediaDirection) => {\n if (type === AUDIO && !mediaDirection.sendAudio) {\n return null;\n }\n if (type === VIDEO && !mediaDirection.sendVideo) {\n return null;\n }\n\n LoggerProxy.logger.info(\n `Meeting:muteState#createMuteState --> ${type}: creating MuteState for meeting id ${meeting?.id}`\n );\n\n return new MuteState(type, meeting);\n};\n\n/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches\n the last requested state by the client.\n\n More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#\n*/\nclass MuteState {\n pendingPromiseReject: any;\n pendingPromiseResolve: any;\n state: any;\n type: any;\n\n /**\n * Constructor\n *\n * @param {String} type - audio or video\n * @param {Object} meeting - the meeting object (used for reading current remote mute status)\n */\n constructor(type: string, meeting: any) {\n if (type !== AUDIO && type !== VIDEO) {\n throw new ParameterError('Mute state is designed for handling audio or video only');\n }\n this.type = type;\n this.state = {\n client: {\n localMute: false,\n },\n server: {\n localMute: false,\n // initial values available only for audio (REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION)\n remoteMute: type === AUDIO ? meeting.remoteMuted : false,\n unmuteAllowed: type === AUDIO ? meeting.unmuteAllowed : true,\n },\n syncToServerInProgress: false,\n };\n // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * Handles mute/unmute request from the client/user. Returns a promise that's resolved once the server update is completed or\n * at the point that this request becomese superseded by another client request.\n *\n * The client doesn't have to wait for the returned promise to resolve before calling handleClientRequest() again. If\n * handleClientRequest() is called again before the previous one resolved, the MuteState class will make sure that eventually\n * the server state will match the last requested state from the client.\n *\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @param {Boolean} [mute] true for muting, false for unmuting request\n * @returns {Promise}\n */\n public handleClientRequest(meeting?: object, mute?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleClientRequest --> ${this.type}: user requesting new mute state: ${mute}`\n );\n\n if (!mute && !this.state.server.unmuteAllowed) {\n return Promise.reject(\n new PermissionError('User is not allowed to unmute self (hard mute feature is being used)')\n );\n }\n\n // we don't check if we're already in the same state, because even if we were, we would still have to apply the mute state locally,\n // because the client may have changed the audio/vidoe tracks\n this.state.client.localMute = mute;\n this.applyClientStateLocally(meeting);\n\n return new Promise((resolve, reject) => {\n if (this.pendingPromiseResolve) {\n // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = resolve;\n this.pendingPromiseReject = reject;\n this.applyClientStateToServer(meeting);\n });\n }\n\n /**\n * Applies the current mute state to the local track (by enabling or disabling it accordingly)\n *\n * @public\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {void}\n */\n public applyClientStateLocally(meeting?: any) {\n Media.setLocalTrack(\n !this.state.client.localMute,\n this.type === AUDIO ? meeting.mediaProperties.audioTrack : meeting.mediaProperties.videoTrack\n );\n }\n\n /**\n * Updates the server local and remote mute values so that they match the current client desired state.\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {void}\n */\n private applyClientStateToServer(meeting?: object) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: request to server in progress, we need to wait for it to complete`\n );\n\n return;\n }\n\n const localMuteRequiresSync = this.state.client.localMute !== this.state.server.localMute;\n const remoteMuteRequiresSync = !this.state.client.localMute && this.state.server.remoteMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: localMuteRequiresSync: ${localMuteRequiresSync} (${this.state.client.localMute} ?= ${this.state.server.localMute})`\n );\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: remoteMuteRequiresSync: ${remoteMuteRequiresSync}`\n );\n\n if (!localMuteRequiresSync && !remoteMuteRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: client state already matching server state, nothing to do`\n );\n\n if (this.pendingPromiseResolve) {\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n\n return;\n }\n\n this.state.syncToServerInProgress = true;\n\n // first sync local mute with server\n const localMuteSyncPromise = localMuteRequiresSync\n ? this.sendLocalMuteRequestToServer(meeting)\n : Promise.resolve();\n\n localMuteSyncPromise\n .then(() =>\n // then follow it up with remote mute sync\n remoteMuteRequiresSync ? this.sendRemoteMuteRequestToServer(meeting) : Promise.resolve()\n )\n .then(() => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(meeting);\n })\n .catch((e) => {\n this.state.syncToServerInProgress = false;\n\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(e);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n });\n }\n\n /**\n * Sets the local mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendLocalMuteRequestToServer(meeting?: any) {\n const audioMuted =\n this.type === AUDIO ? this.state.client.localMute : meeting.audio?.state.client.localMute;\n const videoMuted =\n this.type === VIDEO ? this.state.client.localMute : meeting.video?.state.client.localMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: sending local mute (audio=${audioMuted}, video=${videoMuted}) to server`\n );\n\n return MeetingUtil.remoteUpdateAudioVideo(audioMuted, videoMuted, meeting)\n .then((locus) => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: local mute (audio=${audioMuted}, video=${videoMuted}) applied to server`\n );\n\n this.state.server.localMute = this.type === AUDIO ? audioMuted : videoMuted;\n\n meeting.locusInfo.onFullLocus(locus);\n\n return locus;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: failed to apply local mute (audio=${audioMuted}, video=${videoMuted}) to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n /**\n * Sets the remote mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendRemoteMuteRequestToServer(meeting?: any) {\n if (this.type === AUDIO) {\n const remoteMute = this.state.client.localMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: sending remote mute:${remoteMute} to server`\n );\n\n return meeting.members\n .muteMember(meeting.members.selfId, remoteMute)\n .then(() => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: remote mute:${remoteMute} applied to server`\n );\n\n this.state.server.remoteMute = remoteMute;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: failed to apply remote mute ${remoteMute} to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n // for now we don't need to support remote muting of video (REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION)\n this.state.server.remoteMute = this.state.client.localMute;\n\n return Promise.resolve();\n }\n\n /**\n * This method should be called whenever the server remote mute state is changed\n *\n * @public\n * @memberof MuteState\n * @param {Boolean} [muted] true if user is remotely muted, false otherwise\n * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when \"hard mute\" feature is used)\n * @returns {undefined}\n */\n public handleServerRemoteMuteUpdate(muted?: boolean, unmuteAllowed?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerRemoteMuteUpdate --> ${this.type}: updating server remoteMute to (${muted})`\n );\n this.state.server.remoteMute = muted;\n this.state.server.unmuteAllowed = unmuteAllowed;\n }\n\n /**\n * This method should be called whenever we receive from the server a requirement to locally unmute\n *\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @returns {undefined}\n */\n public handleServerLocalUnmuteRequired(meeting?: object) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerLocalUnmuteRequired --> ${this.type}: localAudioUnmuteRequired received -> doing local unmute`\n );\n\n this.state.server.remoteMute = false;\n this.state.client.localMute = false;\n\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(\n new Error('Server requested local unmute - this overrides any client request in progress')\n );\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n this.applyClientStateLocally(meeting);\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Returns true if the user is locally or remotely muted\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isMuted() {\n return (\n this.state.client.localMute || this.state.server.localMute || this.state.server.remoteMute\n );\n }\n\n /**\n * Returns true if the user is muted as a result of the client request (and not remotely muted)\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isSelf() {\n return this.state.client.localMute && !this.state.server.remoteMute;\n }\n\n // defined for backwards compatibility with the old AudioStateMachine/VideoStateMachine classes\n get muted() {\n return this.isMuted();\n }\n\n // defined for backwards compatibility with the old AudioStateMachine/VideoStateMachine classes\n get self() {\n return this.isSelf();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["createMuteState","type","meeting","mediaDirection","AUDIO","sendAudio","VIDEO","sendVideo","LoggerProxy","logger","info","id","MuteState","ParameterError","state","client","localMute","server","remoteMute","remoteMuted","unmuteAllowed","syncToServerInProgress","pendingPromiseResolve","pendingPromiseReject","mute","reject","PermissionError","applyClientStateLocally","resolve","applyClientStateToServer","Media","setLocalTrack","mediaProperties","audioTrack","videoTrack","localMuteRequiresSync","remoteMuteRequiresSync","localMuteSyncPromise","sendLocalMuteRequestToServer","then","sendRemoteMuteRequestToServer","catch","e","audioMuted","audio","videoMuted","video","MeetingUtil","remoteUpdateAudioVideo","locus","locusInfo","onFullLocus","remoteUpdateError","warn","members","muteMember","selfId","muted","Error","isMuted","isSelf"],"sources":["muteState.ts"],"sourcesContent":["import LoggerProxy from '../common/logs/logger-proxy';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\nimport Media from '../media';\nimport MeetingUtil from './util';\nimport {AUDIO, VIDEO} from '../constants';\n\n/* Certain aspects of server interaction for video muting are not implemented as we currently don't support remote muting of video.\n If we ever need to support it, search for REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION string to find the places that need updating\n*/\n\n// eslint-disable-next-line import/prefer-default-export\nexport const createMuteState = (type, meeting, mediaDirection) => {\n if (type === AUDIO && !mediaDirection.sendAudio) {\n return null;\n }\n if (type === VIDEO && !mediaDirection.sendVideo) {\n return null;\n }\n\n LoggerProxy.logger.info(\n `Meeting:muteState#createMuteState --> ${type}: creating MuteState for meeting id ${meeting?.id}`\n );\n\n return new MuteState(type, meeting);\n};\n\n/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches\n the last requested state by the client.\n\n More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#\n*/\nclass MuteState {\n pendingPromiseReject: any;\n pendingPromiseResolve: any;\n state: any;\n type: any;\n\n /**\n * Constructor\n *\n * @param {String} type - audio or video\n * @param {Object} meeting - the meeting object (used for reading current remote mute status)\n */\n constructor(type: string, meeting: any) {\n if (type !== AUDIO && type !== VIDEO) {\n throw new ParameterError('Mute state is designed for handling audio or video only');\n }\n this.type = type;\n this.state = {\n client: {\n localMute: false,\n },\n server: {\n localMute: false,\n // initial values available only for audio (REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION)\n remoteMute: type === AUDIO ? meeting.remoteMuted : false,\n unmuteAllowed: type === AUDIO ? meeting.unmuteAllowed : true,\n },\n syncToServerInProgress: false,\n };\n // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * Handles mute/unmute request from the client/user. Returns a promise that's resolved once the server update is completed or\n * at the point that this request becomese superseded by another client request.\n *\n * The client doesn't have to wait for the returned promise to resolve before calling handleClientRequest() again. If\n * handleClientRequest() is called again before the previous one resolved, the MuteState class will make sure that eventually\n * the server state will match the last requested state from the client.\n *\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @param {Boolean} [mute] true for muting, false for unmuting request\n * @returns {Promise}\n */\n public handleClientRequest(meeting?: object, mute?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleClientRequest --> ${this.type}: user requesting new mute state: ${mute}`\n );\n\n if (!mute && !this.state.server.unmuteAllowed) {\n return Promise.reject(\n new PermissionError('User is not allowed to unmute self (hard mute feature is being used)')\n );\n }\n\n // we don't check if we're already in the same state, because even if we were, we would still have to apply the mute state locally,\n // because the client may have changed the audio/vidoe tracks\n this.state.client.localMute = mute;\n this.applyClientStateLocally(meeting);\n\n return new Promise((resolve, reject) => {\n if (this.pendingPromiseResolve) {\n // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = resolve;\n this.pendingPromiseReject = reject;\n this.applyClientStateToServer(meeting);\n });\n }\n\n /**\n * Applies the current mute state to the local track (by enabling or disabling it accordingly)\n *\n * @public\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {void}\n */\n public applyClientStateLocally(meeting?: any) {\n Media.setLocalTrack(\n !this.state.client.localMute,\n this.type === AUDIO ? meeting.mediaProperties.audioTrack : meeting.mediaProperties.videoTrack\n );\n }\n\n /**\n * Updates the server local and remote mute values so that they match the current client desired state.\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {void}\n */\n private applyClientStateToServer(meeting?: object) {\n if (this.state.syncToServerInProgress) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: request to server in progress, we need to wait for it to complete`\n );\n\n return;\n }\n\n const localMuteRequiresSync = this.state.client.localMute !== this.state.server.localMute;\n const remoteMuteRequiresSync = !this.state.client.localMute && this.state.server.remoteMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: localMuteRequiresSync: ${localMuteRequiresSync} (${this.state.client.localMute} ?= ${this.state.server.localMute})`\n );\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: remoteMuteRequiresSync: ${remoteMuteRequiresSync}`\n );\n\n if (!localMuteRequiresSync && !remoteMuteRequiresSync) {\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: client state already matching server state, nothing to do`\n );\n\n if (this.pendingPromiseResolve) {\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n\n return;\n }\n\n this.state.syncToServerInProgress = true;\n\n // first sync local mute with server\n const localMuteSyncPromise = localMuteRequiresSync\n ? this.sendLocalMuteRequestToServer(meeting)\n : Promise.resolve();\n\n localMuteSyncPromise\n .then(() =>\n // then follow it up with remote mute sync\n remoteMuteRequiresSync ? this.sendRemoteMuteRequestToServer(meeting) : Promise.resolve()\n )\n .then(() => {\n this.state.syncToServerInProgress = false;\n LoggerProxy.logger.info(\n `Meeting:muteState#applyClientStateToServer --> ${this.type}: sync with server completed`\n );\n\n // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync\n this.applyClientStateToServer(meeting);\n })\n .catch((e) => {\n this.state.syncToServerInProgress = false;\n\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(e);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n });\n }\n\n /**\n * Sets the local mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendLocalMuteRequestToServer(meeting?: any) {\n const audioMuted =\n this.type === AUDIO ? this.state.client.localMute : meeting.audio?.state.client.localMute;\n const videoMuted =\n this.type === VIDEO ? this.state.client.localMute : meeting.video?.state.client.localMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: sending local mute (audio=${audioMuted}, video=${videoMuted}) to server`\n );\n\n return MeetingUtil.remoteUpdateAudioVideo(audioMuted, videoMuted, meeting)\n .then((locus) => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: local mute (audio=${audioMuted}, video=${videoMuted}) applied to server`\n );\n\n this.state.server.localMute = this.type === AUDIO ? audioMuted : videoMuted;\n\n meeting.locusInfo.onFullLocus(locus);\n\n return locus;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendLocalMuteRequestToServer --> ${this.type}: failed to apply local mute (audio=${audioMuted}, video=${videoMuted}) to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n /**\n * Sets the remote mute value in the server\n *\n * @private\n * @param {Object} [meeting] the meeting object\n * @memberof MuteState\n * @returns {Promise}\n */\n private sendRemoteMuteRequestToServer(meeting?: any) {\n if (this.type === AUDIO) {\n const remoteMute = this.state.client.localMute;\n\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: sending remote mute:${remoteMute} to server`\n );\n\n return meeting.members\n .muteMember(meeting.members.selfId, remoteMute)\n .then(() => {\n LoggerProxy.logger.info(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: remote mute:${remoteMute} applied to server`\n );\n\n this.state.server.remoteMute = remoteMute;\n })\n .catch((remoteUpdateError) => {\n LoggerProxy.logger.warn(\n `Meeting:muteState#sendRemoteMuteRequestToServer --> ${this.type}: failed to apply remote mute ${remoteMute} to server: ${remoteUpdateError}`\n );\n\n return Promise.reject(remoteUpdateError);\n });\n }\n\n // for now we don't need to support remote muting of video (REMOTE_MUTE_VIDEO_MISSING_IMPLEMENTATION)\n this.state.server.remoteMute = this.state.client.localMute;\n\n return Promise.resolve();\n }\n\n /**\n * This method should be called whenever the server remote mute state is changed\n *\n * @public\n * @memberof MuteState\n * @param {Boolean} [muted] true if user is remotely muted, false otherwise\n * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when \"hard mute\" feature is used)\n * @returns {undefined}\n */\n public handleServerRemoteMuteUpdate(muted?: boolean, unmuteAllowed?: boolean) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerRemoteMuteUpdate --> ${this.type}: updating server remoteMute to (${muted})`\n );\n this.state.server.remoteMute = muted;\n this.state.server.unmuteAllowed = unmuteAllowed;\n }\n\n /**\n * This method should be called whenever we receive from the server a requirement to locally unmute\n *\n * @public\n * @memberof MuteState\n * @param {Object} [meeting] the meeting object\n * @returns {undefined}\n */\n public handleServerLocalUnmuteRequired(meeting?: object) {\n LoggerProxy.logger.info(\n `Meeting:muteState#handleServerLocalUnmuteRequired --> ${this.type}: localAudioUnmuteRequired received -> doing local unmute`\n );\n\n this.state.server.remoteMute = false;\n this.state.client.localMute = false;\n\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(\n new Error('Server requested local unmute - this overrides any client request in progress')\n );\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n this.applyClientStateLocally(meeting);\n this.applyClientStateToServer(meeting);\n }\n\n /**\n * Returns true if the user is locally or remotely muted\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isMuted() {\n return (\n this.state.client.localMute || this.state.server.localMute || this.state.server.remoteMute\n );\n }\n\n /**\n * Returns true if the user is locally muted\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isLocallyMuted() {\n return this.state.client.localMute || this.state.server.localMute;\n }\n\n /**\n * Returns true if the user is muted as a result of the client request (and not remotely muted)\n *\n * @public\n * @memberof MuteState\n * @returns {Boolean}\n */\n public isSelf() {\n return this.state.client.localMute && !this.state.server.remoteMute;\n }\n\n // defined for backwards compatibility with the old AudioStateMachine/VideoStateMachine classes\n get muted() {\n return this.isMuted();\n }\n\n // defined for backwards compatibility with the old AudioStateMachine/VideoStateMachine classes\n get self() {\n return this.isSelf();\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAEA;AACO,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAIC,IAAI,EAAEC,OAAO,EAAEC,cAAc,EAAK;EAChE,IAAIF,IAAI,KAAKG,gBAAK,IAAI,CAACD,cAAc,CAACE,SAAS,EAAE;IAC/C,OAAO,IAAI;EACb;EACA,IAAIJ,IAAI,KAAKK,gBAAK,IAAI,CAACH,cAAc,CAACI,SAAS,EAAE;IAC/C,OAAO,IAAI;EACb;EAEAC,oBAAW,CAACC,MAAM,CAACC,IAAI,iDACoBT,IAAI,iDAAuCC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAES,EAAE,EAChG;EAED,OAAO,IAAIC,SAAS,CAACX,IAAI,EAAEC,OAAO,CAAC;AACrC,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJA;AAAA,IAKMU,SAAS;EAMb;AACF;AACA;AACA;AACA;AACA;EACE,mBAAYX,IAAY,EAAEC,OAAY,EAAE;IAAA;IAAA;IAAA;IAAA;IAAA;IACtC,IAAID,IAAI,KAAKG,gBAAK,IAAIH,IAAI,KAAKK,gBAAK,EAAE;MACpC,MAAM,IAAIO,kBAAc,CAAC,yDAAyD,CAAC;IACrF;IACA,IAAI,CAACZ,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACa,KAAK,GAAG;MACXC,MAAM,EAAE;QACNC,SAAS,EAAE;MACb,CAAC;MACDC,MAAM,EAAE;QACND,SAAS,EAAE,KAAK;QAChB;QACAE,UAAU,EAAEjB,IAAI,KAAKG,gBAAK,GAAGF,OAAO,CAACiB,WAAW,GAAG,KAAK;QACxDC,aAAa,EAAEnB,IAAI,KAAKG,gBAAK,GAAGF,OAAO,CAACkB,aAAa,GAAG;MAC1D,CAAC;MACDC,sBAAsB,EAAE;IAC1B,CAAC;IACD;IACA,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,oBAAoB,GAAG,IAAI;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAbE;IAAA;IAAA,OAcA,6BAA2BrB,OAAgB,EAAEsB,IAAc,EAAE;MAAA;MAC3DhB,oBAAW,CAACC,MAAM,CAACC,IAAI,qDACwB,IAAI,CAACT,IAAI,+CAAqCuB,IAAI,EAChG;MAED,IAAI,CAACA,IAAI,IAAI,CAAC,IAAI,CAACV,KAAK,CAACG,MAAM,CAACG,aAAa,EAAE;QAC7C,OAAO,iBAAQK,MAAM,CACnB,IAAIC,mBAAe,CAAC,sEAAsE,CAAC,CAC5F;MACH;;MAEA;MACA;MACA,IAAI,CAACZ,KAAK,CAACC,MAAM,CAACC,SAAS,GAAGQ,IAAI;MAClC,IAAI,CAACG,uBAAuB,CAACzB,OAAO,CAAC;MAErC,OAAO,qBAAY,UAAC0B,OAAO,EAAEH,MAAM,EAAK;QACtC,IAAI,KAAI,CAACH,qBAAqB,EAAE;UAC9B;UACA,KAAI,CAACA,qBAAqB,EAAE;QAC9B;QACA,KAAI,CAACA,qBAAqB,GAAGM,OAAO;QACpC,KAAI,CAACL,oBAAoB,GAAGE,MAAM;QAClC,KAAI,CAACI,wBAAwB,CAAC3B,OAAO,CAAC;MACxC,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,iCAA+BA,OAAa,EAAE;MAC5C4B,cAAK,CAACC,aAAa,CACjB,CAAC,IAAI,CAACjB,KAAK,CAACC,MAAM,CAACC,SAAS,EAC5B,IAAI,CAACf,IAAI,KAAKG,gBAAK,GAAGF,OAAO,CAAC8B,eAAe,CAACC,UAAU,GAAG/B,OAAO,CAAC8B,eAAe,CAACE,UAAU,CAC9F;IACH;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,kCAAiChC,OAAgB,EAAE;MAAA;MACjD,IAAI,IAAI,CAACY,KAAK,CAACO,sBAAsB,EAAE;QACrCb,oBAAW,CAACC,MAAM,CAACC,IAAI,0DAC6B,IAAI,CAACT,IAAI,yEAC5D;QAED;MACF;MAEA,IAAMkC,qBAAqB,GAAG,IAAI,CAACrB,KAAK,CAACC,MAAM,CAACC,SAAS,KAAK,IAAI,CAACF,KAAK,CAACG,MAAM,CAACD,SAAS;MACzF,IAAMoB,sBAAsB,GAAG,CAAC,IAAI,CAACtB,KAAK,CAACC,MAAM,CAACC,SAAS,IAAI,IAAI,CAACF,KAAK,CAACG,MAAM,CAACC,UAAU;MAE3FV,oBAAW,CAACC,MAAM,CAACC,IAAI,0DAC6B,IAAI,CAACT,IAAI,sCAA4BkC,qBAAqB,eAAK,IAAI,CAACrB,KAAK,CAACC,MAAM,CAACC,SAAS,iBAAO,IAAI,CAACF,KAAK,CAACG,MAAM,CAACD,SAAS,OAC/K;MACDR,oBAAW,CAACC,MAAM,CAACC,IAAI,0DAC6B,IAAI,CAACT,IAAI,uCAA6BmC,sBAAsB,EAC/G;MAED,IAAI,CAACD,qBAAqB,IAAI,CAACC,sBAAsB,EAAE;QACrD5B,oBAAW,CAACC,MAAM,CAACC,IAAI,0DAC6B,IAAI,CAACT,IAAI,iEAC5D;QAED,IAAI,IAAI,CAACqB,qBAAqB,EAAE;UAC9B,IAAI,CAACA,qBAAqB,EAAE;QAC9B;QACA,IAAI,CAACA,qBAAqB,GAAG,IAAI;QACjC,IAAI,CAACC,oBAAoB,GAAG,IAAI;QAEhC;MACF;MAEA,IAAI,CAACT,KAAK,CAACO,sBAAsB,GAAG,IAAI;;MAExC;MACA,IAAMgB,oBAAoB,GAAGF,qBAAqB,GAC9C,IAAI,CAACG,4BAA4B,CAACpC,OAAO,CAAC,GAC1C,iBAAQ0B,OAAO,EAAE;MAErBS,oBAAoB,CACjBE,IAAI,CAAC;QAAA;UACJ;UACAH,sBAAsB,GAAG,MAAI,CAACI,6BAA6B,CAACtC,OAAO,CAAC,GAAG,iBAAQ0B,OAAO;QAAE;MAAA,EACzF,CACAW,IAAI,CAAC,YAAM;QACV,MAAI,CAACzB,KAAK,CAACO,sBAAsB,GAAG,KAAK;QACzCb,oBAAW,CAACC,MAAM,CAACC,IAAI,0DAC6B,MAAI,CAACT,IAAI,kCAC5D;;QAED;QACA,MAAI,CAAC4B,wBAAwB,CAAC3B,OAAO,CAAC;MACxC,CAAC,CAAC,CACDuC,KAAK,CAAC,UAACC,CAAC,EAAK;QACZ,MAAI,CAAC5B,KAAK,CAACO,sBAAsB,GAAG,KAAK;QAEzC,IAAI,MAAI,CAACE,oBAAoB,EAAE;UAC7B,MAAI,CAACA,oBAAoB,CAACmB,CAAC,CAAC;QAC9B;QACA,MAAI,CAACpB,qBAAqB,GAAG,IAAI;QACjC,MAAI,CAACC,oBAAoB,GAAG,IAAI;MAClC,CAAC,CAAC;IACN;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,sCAAqCrB,OAAa,EAAE;MAAA;QAAA;QAAA;MAClD,IAAMyC,UAAU,GACd,IAAI,CAAC1C,IAAI,KAAKG,gBAAK,GAAG,IAAI,CAACU,KAAK,CAACC,MAAM,CAACC,SAAS,qBAAGd,OAAO,CAAC0C,KAAK,mDAAb,eAAe9B,KAAK,CAACC,MAAM,CAACC,SAAS;MAC3F,IAAM6B,UAAU,GACd,IAAI,CAAC5C,IAAI,KAAKK,gBAAK,GAAG,IAAI,CAACQ,KAAK,CAACC,MAAM,CAACC,SAAS,qBAAGd,OAAO,CAAC4C,KAAK,mDAAb,eAAehC,KAAK,CAACC,MAAM,CAACC,SAAS;MAE3FR,oBAAW,CAACC,MAAM,CAACC,IAAI,8DACiC,IAAI,CAACT,IAAI,yCAA+B0C,UAAU,qBAAWE,UAAU,iBAC9H;MAED,OAAOE,aAAW,CAACC,sBAAsB,CAACL,UAAU,EAAEE,UAAU,EAAE3C,OAAO,CAAC,CACvEqC,IAAI,CAAC,UAACU,KAAK,EAAK;QACfzC,oBAAW,CAACC,MAAM,CAACC,IAAI,8DACiC,MAAI,CAACT,IAAI,iCAAuB0C,UAAU,qBAAWE,UAAU,yBACtH;QAED,MAAI,CAAC/B,KAAK,CAACG,MAAM,CAACD,SAAS,GAAG,MAAI,CAACf,IAAI,KAAKG,gBAAK,GAAGuC,UAAU,GAAGE,UAAU;QAE3E3C,OAAO,CAACgD,SAAS,CAACC,WAAW,CAACF,KAAK,CAAC;QAEpC,OAAOA,KAAK;MACd,CAAC,CAAC,CACDR,KAAK,CAAC,UAACW,iBAAiB,EAAK;QAC5B5C,oBAAW,CAACC,MAAM,CAAC4C,IAAI,8DACiC,MAAI,CAACpD,IAAI,iDAAuC0C,UAAU,qBAAWE,UAAU,0BAAgBO,iBAAiB,EACvK;QAED,OAAO,iBAAQ3B,MAAM,CAAC2B,iBAAiB,CAAC;MAC1C,CAAC,CAAC;IACN;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,uCAAsClD,OAAa,EAAE;MAAA;MACnD,IAAI,IAAI,CAACD,IAAI,KAAKG,gBAAK,EAAE;QACvB,IAAMc,UAAU,GAAG,IAAI,CAACJ,KAAK,CAACC,MAAM,CAACC,SAAS;QAE9CR,oBAAW,CAACC,MAAM,CAACC,IAAI,+DACkC,IAAI,CAACT,IAAI,mCAAyBiB,UAAU,gBACpG;QAED,OAAOhB,OAAO,CAACoD,OAAO,CACnBC,UAAU,CAACrD,OAAO,CAACoD,OAAO,CAACE,MAAM,EAAEtC,UAAU,CAAC,CAC9CqB,IAAI,CAAC,YAAM;UACV/B,oBAAW,CAACC,MAAM,CAACC,IAAI,+DACkC,MAAI,CAACT,IAAI,2BAAiBiB,UAAU,wBAC5F;UAED,MAAI,CAACJ,KAAK,CAACG,MAAM,CAACC,UAAU,GAAGA,UAAU;QAC3C,CAAC,CAAC,CACDuB,KAAK,CAAC,UAACW,iBAAiB,EAAK;UAC5B5C,oBAAW,CAACC,MAAM,CAAC4C,IAAI,+DACkC,MAAI,CAACpD,IAAI,2CAAiCiB,UAAU,yBAAekC,iBAAiB,EAC5I;UAED,OAAO,iBAAQ3B,MAAM,CAAC2B,iBAAiB,CAAC;QAC1C,CAAC,CAAC;MACN;;MAEA;MACA,IAAI,CAACtC,KAAK,CAACG,MAAM,CAACC,UAAU,GAAG,IAAI,CAACJ,KAAK,CAACC,MAAM,CAACC,SAAS;MAE1D,OAAO,iBAAQY,OAAO,EAAE;IAC1B;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARE;IAAA;IAAA,OASA,sCAAoC6B,KAAe,EAAErC,aAAuB,EAAE;MAC5EZ,oBAAW,CAACC,MAAM,CAACC,IAAI,8DACiC,IAAI,CAACT,IAAI,8CAAoCwD,KAAK,OACzG;MACD,IAAI,CAAC3C,KAAK,CAACG,MAAM,CAACC,UAAU,GAAGuC,KAAK;MACpC,IAAI,CAAC3C,KAAK,CAACG,MAAM,CAACG,aAAa,GAAGA,aAAa;IACjD;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA;IAAA,OAQA,yCAAuClB,OAAgB,EAAE;MACvDM,oBAAW,CAACC,MAAM,CAACC,IAAI,iEACoC,IAAI,CAACT,IAAI,+DACnE;MAED,IAAI,CAACa,KAAK,CAACG,MAAM,CAACC,UAAU,GAAG,KAAK;MACpC,IAAI,CAACJ,KAAK,CAACC,MAAM,CAACC,SAAS,GAAG,KAAK;MAEnC,IAAI,IAAI,CAACO,oBAAoB,EAAE;QAC7B,IAAI,CAACA,oBAAoB,CACvB,IAAImC,KAAK,CAAC,+EAA+E,CAAC,CAC3F;QACD,IAAI,CAACpC,qBAAqB,GAAG,IAAI;QACjC,IAAI,CAACC,oBAAoB,GAAG,IAAI;MAClC;MAEA,IAAI,CAACI,uBAAuB,CAACzB,OAAO,CAAC;MACrC,IAAI,CAAC2B,wBAAwB,CAAC3B,OAAO,CAAC;IACxC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,mBAAiB;MACf,OACE,IAAI,CAACY,KAAK,CAACC,MAAM,CAACC,SAAS,IAAI,IAAI,CAACF,KAAK,CAACG,MAAM,CAACD,SAAS,IAAI,IAAI,CAACF,KAAK,CAACG,MAAM,CAACC,UAAU;IAE9F;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,0BAAwB;MACtB,OAAO,IAAI,CAACJ,KAAK,CAACC,MAAM,CAACC,SAAS,IAAI,IAAI,CAACF,KAAK,CAACG,MAAM,CAACD,SAAS;IACnE;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAA;IAAA,OAOA,kBAAgB;MACd,OAAO,IAAI,CAACF,KAAK,CAACC,MAAM,CAACC,SAAS,IAAI,CAAC,IAAI,CAACF,KAAK,CAACG,MAAM,CAACC,UAAU;IACrE;;IAEA;EAAA;IAAA;IAAA,KACA,eAAY;MACV,OAAO,IAAI,CAACyC,OAAO,EAAE;IACvB;;IAEA;EAAA;IAAA;IAAA,KACA,eAAW;MACT,OAAO,IAAI,CAACC,MAAM,EAAE;IACtB;EAAC;EAAA;AAAA"}