@videosdk.live/react-sdk 0.1.38 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -273,7 +273,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
273
273
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
274
274
  };
275
275
 
276
- var version = "0.1.38";
276
+ var version = "0.1.40";
277
277
 
278
278
  var MeetingProvider = function MeetingProvider(_ref) {
279
279
  var children = _ref.children,
@@ -347,6 +347,14 @@ var MeetingProvider = function MeetingProvider(_ref) {
347
347
  isHls = _useState16[0],
348
348
  setIsHls = _useState16[1];
349
349
 
350
+ var _useState17 = React.useState(null),
351
+ recordingState = _useState17[0],
352
+ setRecordingState = _useState17[1];
353
+
354
+ var _useState18 = React.useState(null),
355
+ livestreamState = _useState18[0],
356
+ setLivestreamState = _useState18[1];
357
+
350
358
  var meetingRef = React.useRef();
351
359
  var localMicOnRef = React.useRef();
352
360
  var localWebcamOnRef = React.useRef();
@@ -401,6 +409,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
401
409
  setConnections(new Map());
402
410
  setIsMeetingJoined(false);
403
411
  setIsHls(false);
412
+ setRecordingState(null);
413
+ setLivestreamState(null);
404
414
  };
405
415
 
406
416
  var _handle_participant_joined = function _handle_participant_joined(participant) {
@@ -623,10 +633,12 @@ var MeetingProvider = function MeetingProvider(_ref) {
623
633
  };
624
634
 
625
635
  var _handle_recording_state_changed = function _handle_recording_state_changed(data) {
636
+ setRecordingState(data === null || data === void 0 ? void 0 : data.status);
626
637
  eventEmitter.emit(events['recording-state-changed'], data);
627
638
  };
628
639
 
629
640
  var _handle_livestream_state_changed = function _handle_livestream_state_changed(data) {
641
+ setLivestreamState(data === null || data === void 0 ? void 0 : data.status);
630
642
  eventEmitter.emit(events['livestream-state-changed'], data);
631
643
  };
632
644
 
@@ -1015,6 +1027,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
1015
1027
  pinnedParticipants: pinnedParticipants,
1016
1028
  connections: connections,
1017
1029
  isHls: isHls,
1030
+ recordingState: recordingState,
1031
+ livestreamState: livestreamState,
1032
+ isMeetingJoined: isMeetingJoined,
1018
1033
  join: join,
1019
1034
  leave: leave,
1020
1035
  end: end,
@@ -1043,7 +1058,6 @@ var MeetingProvider = function MeetingProvider(_ref) {
1043
1058
  startLivestream: startLivestream,
1044
1059
  stopLivestream: stopLivestream,
1045
1060
  connectTo: connectTo,
1046
- isMeetingJoined: isMeetingJoined,
1047
1061
  startHls: startHls,
1048
1062
  stopHls: stopHls
1049
1063
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`,\n 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const _handle_recording_state_changed = data => {\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n baseUrl: meeting?.baseUrl,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n isMeetingJoined,\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n\n const setViewPort = (width, height) => {\n participant?.setViewPort(width, height);\n };\n\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","onRecordingStateChanged","onLivestreamStateChanged","useEffect","on","off","useContext","MeetingConsumer","children","React","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","baseUrl","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":";;;;;;;AAEA,IAAMA,WAAW,GAAG,yBAApB;AAEA,IAAMC,MAAM,GAAG;EACb,sBAAyBD,WAAzB,wBADa;EAEb,oBAAuBA,WAAvB,sBAFa;EAGb,mBAAsBA,WAAtB,qBAHa;EAIb,qBAAwBA,WAAxB,uBAJa;EAKb,4BAA+BA,WAA/B,8BALa;EAMb,mBAAsBA,WAAtB,qBANa;EAOb,mBAAsBA,WAAtB,qBAPa;EAQb,qBAAwBA,WAAxB,uBARa;EASb,qBAAwBA,WAAxB,uBATa;EAUb,gBAAmBA,WAAnB,kBAVa;EAWb,kBAAqBA,WAArB,oBAXa;EAYb,gBAAmBA,WAAnB,kBAZa;EAab,uBAA0BA,WAA1B,yBAba;EAcb,uBAA0BA,WAA1B,yBAda;EAeb,uBAA0BA,WAA1B,yBAfa;EAgBb,gBAAmBA,WAAnB,kBAhBa;EAiBb,oBAAuBA,WAAvB,sBAjBa;EAkBb,iBAAoBA,WAApB,mBAlBa;EAmBb,qBAAwBA,WAAxB,uBAnBa;EAoBb,mBAAsBA,WAAtB,qBApBa;EAqBb,oBAAuBA,WAAvB,sBArBa;EAsBb,kBAAqBA,WAArB,oBAtBa;EAuBbE,KAAK,EAAKF,WAAL,WAvBQ;EAwBb,eAAkBA,WAAlB,iBAxBa;EAyBb,eAAkBA,WAAlB,iBAzBa;EA0Bb,2BAA8BA,WAA9B,6BA1Ba;EA2Bb,4BAA+BA,WAA/B;AA3Ba,CAAf;AA8BA,IAAMG,YAAY,GAAG,IAAIC,YAAJ,EAArB;AACAD,YAAY,CAACE,eAAb,CAA6B,IAA7B;;AChCO,IAAMC,qBAAqB,GAAGC,mBAAa,EAA3C;AAEP,IAAaC,UAAU,GAAG,SAAbA,UAAa,QA4Bf;EAAA,8BAAP,EAAO;mCA3BTC,mBA2BS;MA3BTA,mBA2BS,sCA3Ba,YAAM,EA2BnB;mCA1BTC,iBA0BS;MA1BTA,iBA0BS,sCA1BW,YAAM,EA0BjB;mCAzBTC,gBAyBS;MAzBTA,gBAyBS,sCAzBU,YAAM,EAyBhB;mCAxBTC,kBAwBS;MAxBTA,kBAwBS,sCAxBY,YAAM,EAwBlB;mCAvBTC,wBAuBS;MAvBTA,wBAuBS,sCAvBkB,YAAM,EAuBxB;mCAtBTC,gBAsBS;MAtBTA,gBAsBS,sCAtBU,YAAM,EAsBhB;mCArBTC,gBAqBS;MArBTA,gBAqBS,sCArBU,YAAM,EAqBhB;mCApBTC,kBAoBS;MApBTA,kBAoBS,sCApBY,YAAM,EAoBlB;mCAnBTC,kBAmBS;MAnBTA,kBAmBS,sCAnBY,YAAM,EAmBlB;gCAlBTC,aAkBS;MAlBTA,aAkBS,mCAlBO,YAAM,EAkBb;kCAjBTC,eAiBS;MAjBTA,eAiBS,qCAjBS,YAAM,EAiBf;gCAhBTC,aAgBS;MAhBTA,aAgBS,mCAhBO,YAAM,EAgBb;mCAfTC,mBAeS;MAfTA,mBAeS,sCAfa,YAAM,EAenB;mCAdTC,mBAcS;MAdTA,mBAcS,sCAda,YAAM,EAcnB;mCAbTC,mBAaS;MAbTA,mBAaS,sCAba,YAAM,EAanB;gCAZTC,aAYS;MAZTA,aAYS,mCAZO,YAAM,EAYb;mCAXTC,iBAWS;MAXTA,iBAWS,sCAXW,YAAM,EAWjB;iCAVTC,cAUS;MAVTA,cAUS,oCAVQ,YAAM,EAUd;mCATTC,iBASS;MATTA,iBASS,sCATW,YAAM,EASjB;mCARTC,gBAQS;MARTA,gBAQS,sCARU,YAAM,EAQhB;mCAPTC,gBAOS;MAPTA,gBAOS,sCAPU,YAAM,EAOhB;kCANTC,eAMS;MANTA,eAMS,qCANS,YAAM,EAMf;0BALTC,OAKS;MALTA,OAKS,6BALC,YAAM,EAKP;+BAJTC,YAIS;MAJTA,YAIS,kCAJM,YAAM,EAIZ;+BAHTC,YAGS;MAHTA,YAGS,kCAHM,YAAM,EAGZ;mCAFTC,uBAES;MAFTA,uBAES,sCAFiB,YAAM,EAEvB;mCADTC,wBACS;MADTA,wBACS,sCADkB,YAAM,EACxB;;EACTC,eAAS,CAAC,YAAM;IACdjC,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,oBAAD,CAAtB,EAA8CQ,mBAA9C;IACAN,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,kBAAD,CAAtB,EAA4CS,iBAA5C;IACAP,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2CU,gBAA3C;IACAR,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6CW,kBAA7C;IACAT,YAAY,CAACkC,EAAb,CACEpC,MAAM,CAAC,0BAAD,CADR,EAEEY,wBAFF;IAIAV,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2Ca,gBAA3C;IACAX,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2Cc,gBAA3C;IACAZ,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6Ce,kBAA7C;IACAb,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6CgB,kBAA7C;IACAd,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,cAAD,CAAtB,EAAwCiB,aAAxC;IACAf,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,gBAAD,CAAtB,EAA0CkB,eAA1C;IACAhB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,cAAD,CAAtB,EAAwCmB,aAAxC;IACAjB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,qBAAD,CAAtB,EAA+CoB,mBAA/C;IACAlB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,qBAAD,CAAtB,EAA+CqB,mBAA/C;IACAnB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,qBAAD,CAAtB,EAA+CsB,mBAA/C;IACApB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,cAAD,CAAtB,EAAwCuB,aAAxC;IACArB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,kBAAD,CAAtB,EAA4CwB,iBAA5C;IACAtB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,eAAD,CAAtB,EAAyCyB,cAAzC;IACAvB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6C0B,iBAA7C;IACAxB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2C2B,gBAA3C;IACAzB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,kBAAD,CAAtB,EAA4C4B,gBAA5C;IACA1B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,gBAAD,CAAtB,EAA0C6B,eAA1C;IACA3B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,OAAD,CAAtB,EAAiC8B,OAAjC;IACA5B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,aAAD,CAAtB,EAAuC+B,YAAvC;IACA7B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,aAAD,CAAtB,EAAuCgC,YAAvC;IACA9B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,yBAAD,CAAtB,EAAmDiC,uBAAnD;IACA/B,YAAY,CAACkC,EAAb,CACEpC,MAAM,CAAC,0BAAD,CADR,EAEEkC,wBAFF;IAKA,OAAO,YAAM;MACXhC,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,oBAAD,CAAvB,EAA+CQ,mBAA/C;MACAN,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,kBAAD,CAAvB,EAA6CS,iBAA7C;MACAP,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4CU,gBAA5C;MACAR,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8CW,kBAA9C;MACAT,YAAY,CAACmC,GAAb,CACErC,MAAM,CAAC,0BAAD,CADR,EAEEY,wBAFF;MAIAV,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4Ca,gBAA5C;MACAX,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4Cc,gBAA5C;MACAZ,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8Ce,kBAA9C;MACAb,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8CgB,kBAA9C;MACAd,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,cAAD,CAAvB,EAAyCiB,aAAzC;MACAf,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,gBAAD,CAAvB,EAA2CkB,eAA3C;MACAhB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,cAAD,CAAvB,EAAyCmB,aAAzC;MACAjB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,qBAAD,CAAvB,EAAgDoB,mBAAhD;MACAlB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,qBAAD,CAAvB,EAAgDqB,mBAAhD;MACAnB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,qBAAD,CAAvB,EAAgDsB,mBAAhD;MACApB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,cAAD,CAAvB,EAAyCuB,aAAzC;MACArB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,kBAAD,CAAvB,EAA6CwB,iBAA7C;MACAtB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,eAAD,CAAvB,EAA0CyB,cAA1C;MACAvB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8C0B,iBAA9C;MACAxB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4C2B,gBAA5C;MACAzB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,kBAAD,CAAvB,EAA6C4B,gBAA7C;MACA1B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,gBAAD,CAAvB,EAA2C6B,eAA3C;MACA3B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,OAAD,CAAvB,EAAkC8B,OAAlC;MACA5B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,aAAD,CAAvB,EAAwC+B,YAAxC;MACA7B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,aAAD,CAAvB,EAAwCgC,YAAxC;MACA9B,YAAY,CAACmC,GAAb,CACErC,MAAM,CAAC,yBAAD,CADR,EAEEiC,uBAFF;MAIA/B,YAAY,CAACmC,GAAb,CACErC,MAAM,CAAC,0BAAD,CADR,EAEEkC,wBAFF;KAjCF;GAnCO,EAyEN,EAzEM,CAAT;EA0EA,OAAOI,gBAAU,CAACjC,qBAAD,CAAjB;AACD,CAxGM;AA0GP,IAAakC,eAAe,GAAG,SAAlBA,eAAkB,QA6BzB;EAAA,IA5BJC,QA4BI,SA5BJA,QA4BI;oCA3BJhC,mBA2BI;MA3BJA,mBA2BI,sCA3BkB,YAAM,EA2BxB;oCA1BJC,iBA0BI;MA1BJA,iBA0BI,sCA1BgB,YAAM,EA0BtB;oCAzBJC,gBAyBI;MAzBJA,gBAyBI,sCAzBe,YAAM,EAyBrB;oCAxBJC,kBAwBI;MAxBJA,kBAwBI,sCAxBiB,YAAM,EAwBvB;oCAvBJC,wBAuBI;MAvBJA,wBAuBI,sCAvBuB,YAAM,EAuB7B;oCAtBJC,gBAsBI;MAtBJA,gBAsBI,sCAtBe,YAAM,EAsBrB;oCArBJC,gBAqBI;MArBJA,gBAqBI,sCArBe,YAAM,EAqBrB;oCApBJC,kBAoBI;MApBJA,kBAoBI,sCApBiB,YAAM,EAoBvB;oCAnBJC,kBAmBI;MAnBJA,kBAmBI,sCAnBiB,YAAM,EAmBvB;kCAlBJC,aAkBI;MAlBJA,aAkBI,oCAlBY,YAAM,EAkBlB;oCAjBJC,eAiBI;MAjBJA,eAiBI,sCAjBc,YAAM,EAiBpB;kCAhBJC,aAgBI;MAhBJA,aAgBI,oCAhBY,YAAM,EAgBlB;oCAfJC,mBAeI;MAfJA,mBAeI,sCAfkB,YAAM,EAexB;oCAdJC,mBAcI;MAdJA,mBAcI,sCAdkB,YAAM,EAcxB;oCAbJC,mBAaI;MAbJA,mBAaI,sCAbkB,YAAM,EAaxB;kCAZJC,aAYI;MAZJA,aAYI,oCAZY,YAAM,EAYlB;oCAXJC,iBAWI;MAXJA,iBAWI,sCAXgB,YAAM,EAWtB;mCAVJC,cAUI;MAVJA,cAUI,qCAVa,YAAM,EAUnB;oCATJC,iBASI;MATJA,iBASI,sCATgB,YAAM,EAStB;oCARJC,gBAQI;MARJA,gBAQI,sCARe,YAAM,EAQrB;oCAPJC,gBAOI;MAPJA,gBAOI,sCAPe,YAAM,EAOrB;oCANJC,eAMI;MANJA,eAMI,sCANc,YAAM,EAMpB;4BALJC,OAKI;MALJA,OAKI,8BALM,YAAM,EAKZ;iCAJJC,YAII;MAJJA,YAII,mCAJW,YAAM,EAIjB;iCAHJC,YAGI;MAHJA,YAGI,mCAHW,YAAM,EAGjB;oCAFJC,uBAEI;MAFJA,uBAEI,sCAFsB,YAAM,EAE5B;oCADJC,wBACI;MADJA,wBACI,sCADuB,YAAM,EAC7B;EACJC,eAAS,CAAC,YAAM;IACdjC,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,oBAAD,CAAtB,EAA8CQ,mBAA9C;IACAN,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,kBAAD,CAAtB,EAA4CS,iBAA5C;IACAP,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2CU,gBAA3C;IACAR,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6CW,kBAA7C;IACAT,YAAY,CAACkC,EAAb,CACEpC,MAAM,CAAC,0BAAD,CADR,EAEEY,wBAFF;IAIAV,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2Ca,gBAA3C;IACAX,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2Cc,gBAA3C;IACAZ,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6Ce,kBAA7C;IACAb,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6CgB,kBAA7C;IACAd,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,cAAD,CAAtB,EAAwCiB,aAAxC;IACAf,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,gBAAD,CAAtB,EAA0CkB,eAA1C;IACAhB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,cAAD,CAAtB,EAAwCmB,aAAxC;IACAjB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,qBAAD,CAAtB,EAA+CoB,mBAA/C;IACAlB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,sBAAD,CAAtB,EAAgDqB,mBAAhD;IACAnB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,qBAAD,CAAtB,EAA+CsB,mBAA/C;IACApB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,cAAD,CAAtB,EAAwCuB,aAAxC;IACArB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,kBAAD,CAAtB,EAA4CwB,iBAA5C;IACAtB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,eAAD,CAAtB,EAAyCyB,cAAzC;IACAvB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,mBAAD,CAAtB,EAA6C0B,iBAA7C;IACAxB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,iBAAD,CAAtB,EAA2C2B,gBAA3C;IACAzB,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,kBAAD,CAAtB,EAA4C4B,gBAA5C;IACA1B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,gBAAD,CAAtB,EAA0C6B,eAA1C;IACA3B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,OAAD,CAAtB,EAAiC8B,OAAjC;IACA5B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,aAAD,CAAtB,EAAuC+B,YAAvC;IACA7B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,aAAD,CAAtB,EAAuCgC,YAAvC;IACA9B,YAAY,CAACkC,EAAb,CAAgBpC,MAAM,CAAC,yBAAD,CAAtB,EAAmDiC,uBAAnD;IACA/B,YAAY,CAACkC,EAAb,CACEpC,MAAM,CAAC,0BAAD,CADR,EAEEkC,wBAFF;IAKA,OAAO,YAAM;MACXhC,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,oBAAD,CAAvB,EAA+CQ,mBAA/C;MACAN,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,kBAAD,CAAvB,EAA6CS,iBAA7C;MACAP,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4CU,gBAA5C;MACAR,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8CW,kBAA9C;MACAT,YAAY,CAACmC,GAAb,CACErC,MAAM,CAAC,0BAAD,CADR,EAEEY,wBAFF;MAIAV,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4Ca,gBAA5C;MACAX,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4Cc,gBAA5C;MACAZ,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8Ce,kBAA9C;MACAb,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8CgB,kBAA9C;MACAd,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,cAAD,CAAvB,EAAyCiB,aAAzC;MACAf,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,gBAAD,CAAvB,EAA2CkB,eAA3C;MACAhB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,cAAD,CAAvB,EAAyCmB,aAAzC;MACAjB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,qBAAD,CAAvB,EAAgDoB,mBAAhD;MACAlB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,sBAAD,CAAvB,EAAiDqB,mBAAjD;MACAnB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,qBAAD,CAAvB,EAAgDsB,mBAAhD;MACApB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,cAAD,CAAvB,EAAyCuB,aAAzC;MACArB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,kBAAD,CAAvB,EAA6CwB,iBAA7C;MACAtB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,eAAD,CAAvB,EAA0CyB,cAA1C;MACAvB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,mBAAD,CAAvB,EAA8C0B,iBAA9C;MACAxB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,iBAAD,CAAvB,EAA4C2B,gBAA5C;MACAzB,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,kBAAD,CAAvB,EAA6C4B,gBAA7C;MACA1B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,gBAAD,CAAvB,EAA2C6B,eAA3C;MACA3B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,OAAD,CAAvB,EAAkC8B,OAAlC;MACA5B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,aAAD,CAAvB,EAAwC+B,YAAxC;MACA7B,YAAY,CAACmC,GAAb,CAAiBrC,MAAM,CAAC,aAAD,CAAvB,EAAwCgC,YAAxC;MACA9B,YAAY,CAACmC,GAAb,CACErC,MAAM,CAAC,yBAAD,CADR,EAEEiC,uBAFF;MAIA/B,YAAY,CAACmC,GAAb,CACErC,MAAM,CAAC,0BAAD,CADR,EAEEkC,wBAFF;KAjCF;GAnCO,EAyEN,EAzEM,CAAT;EA2EA,oBACEO,6BAACA,cAAD,CAAO,QAAP,qBACEA,6BAAC,qBAAD,CAAuB,QAAvB,QACGD,QADH,CADF,CADF;AAOD,CAhHM;;;;ACzGP,IAAME,eAAe,GAAG,SAAlBA,eAAkB,OAOlB;EAAA,IANJF,QAMI,QANJA,QAMI;MALJG,MAKI,QALJA,MAKI;MAJJC,KAII,QAJJA,KAII;MAHJC,0BAGI,QAHJA,0BAGI;MAF+BC,kCAE/B,QAFJC,iCAEI;MADJC,UACI,QADJA,UACI;;EACJ,gBAA8BC,cAAQ,CAAC,IAAD,CAAtC;MAAOC,OAAP;MAAgBC,UAAhB;;EACA,iBAAgDF,cAAQ,CAAC,IAAD,CAAxD;MAAOG,gBAAP;MAAyBC,mBAAzB;;EACA,iBAA8CJ,cAAQ,CAAC,IAAD,CAAtD;MAAOK,eAAP;MAAwBC,kBAAxB;;EACA,iBAA8CN,cAAQ,CAAC,IAAD,CAAtD;MAAOO,eAAP;MAAwBC,kBAAxB;;EACA,iBAAsCR,cAAQ,CAAC,IAAD,CAA9C;MAAOS,WAAP;MAAoBC,cAApB;;EACA,iBAAoCV,cAAQ,CAAC,KAAD,CAA5C;MAAOW,UAAP;MAAmBC,aAAnB;;EACA,iBAA0CZ,cAAQ,CAAC,KAAD,CAAlD;MAAOa,aAAP;MAAsBC,gBAAtB;;EACA,iBAAoDd,cAAQ,CAAC,KAAD,CAA5D;MAAOe,kBAAP;MAA2BC,qBAA3B;;EACA,iBAAsChB,cAAQ,CAAC,KAAD,CAA9C;MAAOiB,WAAP;MAAoBC,cAApB;;EACA,kBAAgClB,cAAQ,CAAC,EAAD,CAAxC;MAAOmB,QAAP;MAAiBC,WAAjB;;EACA,kBAAwCpB,cAAQ,CAAC,IAAIqB,GAAJ,EAAD,CAAhD;MAAOC,YAAP;MAAqBC,eAArB;;EACA,kBAAoDvB,cAAQ,CAAC,IAAIqB,GAAJ,EAAD,CAA5D;MAAOG,kBAAP;MAA2BC,qBAA3B;;EACA,kBAA8CzB,cAAQ,CAAC,KAAD,CAAtD;MAAO0B,eAAP;MAAwBC,kBAAxB;;EACA,kBAAsC3B,cAAQ,CAAC,IAAIqB,GAAJ,EAAD,CAA9C;MAAOO,WAAP;MAAoBC,cAApB;;EACA,kBAA8C7B,cAAQ,CAAC,KAAD,CAAtD;MAAO8B,eAAP;MAAwBC,kBAAxB;;EACA,kBAA0B/B,cAAQ,CAAC,KAAD,CAAlC;MAAOgC,KAAP;MAAcC,QAAd;;EAEA,IAAMC,UAAU,GAAGC,YAAM,EAAzB;EACA,IAAMC,aAAa,GAAGD,YAAM,EAA5B;EACA,IAAME,gBAAgB,GAAGF,YAAM,EAA/B;EACA,IAAMG,qBAAqB,GAAGH,YAAM,EAApC;EACA,IAAMI,cAAc,GAAGJ,YAAM,EAA7B;EACA,IAAMK,SAAS,GAAGL,YAAM,CAACzC,MAAD,CAAxB;EACA,IAAM+C,QAAQ,GAAGN,YAAM,CAACxC,KAAD,CAAvB;EACA,IAAM+C,mBAAmB,GAAGP,YAAM,CAAC,KAAD,CAAlC;EACA,IAAMQ,QAAQ,GAAGR,YAAM,EAAvB;EAEA,IAAMrC,iCAAiC,GAAG8C,aAAO,CAC/C;IAAA,OAAM/C,kCAAN;GAD+C,EAE/C,EAF+C,CAAjD;EAKAX,eAAS,CAAC,YAAM;IACdgD,UAAU,CAACW,OAAX,GAAqB5C,OAArB;GADO,EAEN,CAACA,OAAD,CAFM,CAAT;EAGAf,eAAS,CAAC,YAAM;IACdkD,aAAa,CAACS,OAAd,GAAwBlC,UAAxB;GADO,EAEN,CAACA,UAAD,CAFM,CAAT;EAGAzB,eAAS,CAAC,YAAM;IACdmD,gBAAgB,CAACQ,OAAjB,GAA2BhC,aAA3B;GADO,EAEN,CAACA,aAAD,CAFM,CAAT;EAGA3B,eAAS,CAAC,YAAM;IACdoD,qBAAqB,CAACO,OAAtB,GAAgC9B,kBAAhC;GADO,EAEN,CAACA,kBAAD,CAFM,CAAT;EAGA7B,eAAS,CAAC,YAAM;IACdqD,cAAc,CAACM,OAAf,GAAyB5B,WAAzB;GADO,EAEN,CAACA,WAAD,CAFM,CAAT;EAGA/B,eAAS,CAAC,YAAM;IACdsD,SAAS,CAACK,OAAV,GAAoBnD,MAApB;GADO,EAEN,CAACA,MAAD,CAFM,CAAT;EAGAR,eAAS,CAAC,YAAM;IACduD,QAAQ,CAACI,OAAT,GAAmBlD,KAAnB;GADO,EAEN,CAACA,KAAD,CAFM,CAAT;EAGAT,eAAS,CAAC,YAAM;IACdyD,QAAQ,CAACE,OAAT,GAAmBb,KAAnB;GADO,EAEN,CAACA,KAAD,CAFM,CAAT;;EAIA,IAAMc,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxB5C,UAAU,CAAC,IAAD,CAAV;IACAE,mBAAmB,CAAC,IAAD,CAAnB;IACAE,kBAAkB,CAAC,IAAD,CAAlB;IACAE,kBAAkB,CAAC,IAAD,CAAlB;IACAE,cAAc,CAAC,IAAD,CAAd;IACAE,aAAa,CAAC,KAAD,CAAb;IACAE,gBAAgB,CAAC,KAAD,CAAhB;IACAE,qBAAqB,CAAC,KAAD,CAArB;IACAE,cAAc,CAAC,KAAD,CAAd;IACAE,WAAW,CAAC,EAAD,CAAX;IACAO,kBAAkB,CAAC,KAAD,CAAlB;IACAJ,eAAe,CAAC,IAAIF,GAAJ,EAAD,CAAf;IACAI,qBAAqB,CAAC,IAAIJ,GAAJ,EAAD,CAArB;IACAQ,cAAc,CAAC,IAAIR,GAAJ,EAAD,CAAd;IACAU,kBAAkB,CAAC,KAAD,CAAlB;IACAE,QAAQ,CAAC,KAAD,CAAR;GAhBF;;EAmBA,IAAMc,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAAC,WAAW,EAAI;IAChDzB,eAAe,CAAC,UAAAD,YAAY,EAAI;MAC9BA,YAAY,CAAC2B,GAAb,CAAiBD,WAAW,CAACE,EAA7B,EAAiCF,WAAjC;MACA,IAAMG,iBAAiB,GAAG,IAAI9B,GAAJ,CAAQC,YAAR,CAA1B;MAEA,OAAO6B,iBAAP;KAJa,CAAf;IAMAlG,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,oBAAD,CAAxB,EAAgDiG,WAAhD;GAPF;;EASA,IAAMK,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAAL,WAAW,EAAI;IAC9CzB,eAAe,CAAC,UAAAD,YAAY,EAAI;MAC9BA,YAAY,UAAZ,CAAoB0B,WAAW,CAACE,EAAhC;MAEA,IAAMI,eAAe,GAAG,IAAIjC,GAAJ,CAAQC,YAAR,CAAxB;MACA,OAAOgC,eAAP;KAJa,CAAf;IAMArG,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,kBAAD,CAAxB,EAA8CiG,WAA9C;GAPF;;EASA,IAAMO,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAA9C,WAAW,EAAI;IAAA;;IAC/CC,cAAc,CAACD,WAAD,CAAd;IACAO,qBAAqB,CACnBP,WAAW,MAAKyB,UAAL,aAAKA,UAAL,8CAAKA,UAAU,CAAEW,OAAjB,iFAAK,oBAAqB1C,gBAA1B,0DAAK,sBAAuC+C,EAA5C,CADQ,CAArB;IAGAjG,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,mBAAD,CAAxB,EAA+C0D,WAA/C;GALF;;EAOA,IAAM+C,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,WAAW,EAAI;IACtD1C,kBAAkB,CAAC0C,WAAD,CAAlB;IACA/F,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,0BAAD,CAAxB,EAAsDiG,WAAtD;GAFF;;EAIA,IAAMS,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAlD,eAAe,EAAI;IACjDC,kBAAkB,CAACD,eAAD,CAAlB;IACAtD,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,iBAAD,CAAxB,EAA6CwD,eAA7C;GAFF;;EAIA,IAAMmD,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAC,IAAI,EAAI;IACnCvC,WAAW,CAAC,UAAAwC,CAAC;MAAA,iBAAQA,CAAR,GAAWD,IAAX;KAAF,CAAX;IAEA1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,cAAD,CAAxB,EAA0C4G,IAA1C;GAHF;;EAKA,IAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAF,IAAI,EAAI;IACtC1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,iBAAD,CAAxB,EAA6C4G,IAA7C;GADF;;EAGA,IAAMG,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,aAAD,EAAgBC,QAAhB,EAA6B;IAC3D/G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,iBAAD,CAAxB,EAA6CgH,aAA7C,EAA4DC,QAA5D;GADF;;EAGA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;IACtC/C,cAAc,CAAC,IAAD,CAAd;IACAjE,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,mBAAD,CAAxB;GAFF;;EAIA,IAAMmH,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;IACtChD,cAAc,CAAC,KAAD,CAAd;IACAjE,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,mBAAD,CAAxB;GAFF;;EAKA,IAAMoH,uCAAuC,GAAG,SAA1CA,uCAA0C,CAAAC,MAAM,EAAI;IACxD,IAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,MAAhC,EAAwC;MACtC,IAAIF,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;QAC3BzD,gBAAgB,CAAC,IAAD,CAAhB;OADF,MAEO,IAAIsD,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;QAClC3D,aAAa,CAAC,IAAD,CAAb;;;GALN;;EASA,IAAM4D,wCAAwC,GAAG,SAA3CA,wCAA2C,CAAAJ,MAAM,EAAI;IACzD,IAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,OAAhC,EAAyC;MACvC,IAAIF,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;QAC3BzD,gBAAgB,CAAC,KAAD,CAAhB;OADF,MAEO,IAAIsD,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;QAClC3D,aAAa,CAAC,KAAD,CAAb;;;GALN;;EASA,IAAM6D,2BAA2B,GAAG,SAA9BA,2BAA8B,CAAAd,IAAI,EAAI;IAC1ChC,kBAAkB,CAAC,IAAD,CAAlB;IACA1E,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,qBAAD,CAAxB,EAAiD4G,IAAjD;GAFF;;EAIA,IAAMe,2BAA2B,GAAG,SAA9BA,2BAA8B,GAAM;IACxC/C,kBAAkB,CAAC,KAAD,CAAlB;IACA1E,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,qBAAD,CAAxB;GAFF;;EAIA,IAAM4H,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAhB,IAAI,EAAI;IAClC1B,QAAQ,CAAC,IAAD,CAAR;IACAhF,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,aAAD,CAAxB,EAAyC4G,IAAzC;GAFF;;EAIA,IAAMiB,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;IAChC3C,QAAQ,CAAC,KAAD,CAAR;IACAhF,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,aAAD,CAAxB;GAFF;;EAIA,IAAM8H,2BAA2B,GAAG,SAA9BA,2BAA8B,CAAAlB,IAAI,EAAI;IAC1C1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,qBAAD,CAAxB,EAAiD4G,IAAjD;GADF;;EAGA,IAAMmB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAnB,IAAI,EAAI;IACnC1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,cAAD,CAAxB,EAA0C4G,IAA1C;GADF;;EAIA,IAAMoB,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAApB,IAAI,EAAI;IACvC1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,kBAAD,CAAxB,EAA8C4G,IAA9C;GADF;;EAIA,IAAMqB,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAArB,IAAI,EAAI;IACpC1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,eAAD,CAAxB,EAA2C4G,IAA3C;GADF;;EAIA,IAAMsB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAtB,IAAI,EAAI;IACrCjB,mBAAmB,CAACG,OAApB,GAA8B,IAA9B;IACAzB,WAAW,CAAC,UAAAwC,CAAC;MAAA,iBAAQA,CAAR,EAAcD,IAAI,CAACxC,QAAnB;KAAF,CAAX;IACAlE,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,gBAAD,CAAxB,EAA4C4G,IAA5C;IACA5B,kBAAkB,CAAC,IAAD,CAAlB;GAJF;;EAOA,IAAMmD,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;IACjCjI,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,cAAD,CAAxB;IAEA,IAAMkD,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IAEA,IAAI5C,OAAJ,EAAa;MAAA;;MACX,IAAI,QAAOA,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAEb,GAAhB,MAAwB,UAA5B,EAAwC;QACtCa,OAAO,CAACb,GAAR,CAAY,oBAAZ,EAAkC2D,0BAAlC;QACA9C,OAAO,CAACb,GAAR,CAAY,kBAAZ,EAAgCiE,wBAAhC;QACApD,OAAO,CAACb,GAAR,CAAY,mBAAZ,EAAiCmE,yBAAjC;QACAtD,OAAO,CAACb,GAAR,CACE,0BADF,EAEEoE,gCAFF;QAIAvD,OAAO,CAACb,GAAR,CAAY,iBAAZ,EAA+BqE,uBAA/B;QACAxD,OAAO,CAACb,GAAR,CAAY,iBAAZ,EAA+ByE,uBAA/B;QACA5D,OAAO,CAACb,GAAR,CAAY,iBAAZ,EAA+B0E,uBAA/B;QACA7D,OAAO,CAACb,GAAR,CAAY,cAAZ,EAA4BsE,oBAA5B;QACAzD,OAAO,CAACb,GAAR,CAAY,mBAAZ,EAAiC6E,yBAAjC;QACAhE,OAAO,CAACb,GAAR,CAAY,mBAAZ,EAAiC8E,yBAAjC;QACAjE,OAAO,CAACb,GAAR,CAAY,gBAAZ,EAA8B6F,sBAA9B;QACAhF,OAAO,CAACb,GAAR,CAAY,cAAZ,EAA4B8F,oBAA5B;QACAjF,OAAO,CAACb,GAAR,CAAY,oBAAZ,EAAkCqF,2BAAlC;QACAxE,OAAO,CAACb,GAAR,CAAY,oBAAZ,EAAkCsF,2BAAlC;QACAzE,OAAO,CAACb,GAAR,CAAY,qBAAZ,EAAmCyF,2BAAnC;QACA5E,OAAO,CAACb,GAAR,CAAY,cAAZ,EAA4B0F,oBAA5B;QACA7E,OAAO,CAACb,GAAR,CAAY,kBAAZ,EAAgC2F,wBAAhC;QACA9E,OAAO,CAACb,GAAR,CAAY,eAAZ,EAA6B4F,qBAA7B;QACA/E,OAAO,CAACb,GAAR,CAAY,mBAAZ,EAAiC+F,yBAAjC;QACAlF,OAAO,CAACb,GAAR,CAAY,iBAAZ,EAA+BgG,uBAA/B;QACAnF,OAAO,CAACb,GAAR,CAAY,kBAAZ,EAAgCiG,wBAAhC;QACApF,OAAO,CAACb,GAAR,CAAY,gBAAZ,EAA8BkG,sBAA9B;QACArF,OAAO,CAACb,GAAR,CAAY,OAAZ,EAAqBmG,aAArB;QACAtF,OAAO,CAACb,GAAR,CAAY,aAAZ,EAA2BuF,mBAA3B;QACA1E,OAAO,CAACb,GAAR,CAAY,aAAZ,EAA2BwF,mBAA3B;QACA3E,OAAO,CAACb,GAAR,CAAY,yBAAZ,EAAuCoG,+BAAvC;QACAvF,OAAO,CAACb,GAAR,CACE,0BADF,EAEEqG,gCAFF;;;MAMF,IAAI,QAAOxF,OAAP,aAAOA,OAAP,gDAAOA,OAAO,CAAEE,gBAAhB,0DAAO,sBAA2Bf,GAAlC,MAA0C,UAA9C,EAA0D;QACxDa,OAAO,CAACE,gBAAR,CAAyBf,GAAzB,CACE,gBADF,EAEE+E,uCAFF;QAKAlE,OAAO,CAACE,gBAAR,CAAyBf,GAAzB,CACE,iBADF,EAEEoF,wCAFF;;;MAMF1B,WAAW;;GAtDf;;EA0DA,IAAMqC,yBAAyB,GAAG,SAA5BA,yBAA4B,QAAwC;IAAA,IAArCpB,aAAqC,SAArCA,aAAqC;QAAtB2B,KAAsB,SAAtBA,KAAsB;QAAfC,QAAe,SAAfA,QAAe;IACxElE,qBAAqB,CAAC,UAAAD,kBAAkB,EAAI;MAC1C,IAAI,CAACkE,KAAK,CAACE,GAAP,IAAc,CAACF,KAAK,CAACG,KAAzB,EAAgC;QAC9BrE,kBAAkB,UAAlB,CAA0BuC,aAA1B;OADF,MAEO;QACLvC,kBAAkB,CAACyB,GAAnB,CAAuBc,aAAvB,EAAsC2B,KAAtC;;;MAGF,IAAMI,uBAAuB,GAAG,IAAIzE,GAAJ,CAAQG,kBAAR,CAAhC;MAEA,OAAOsE,uBAAP;KATmB,CAArB;IAYA7I,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,mBAAD,CAAxB,EAA+C;MAC7CgH,aAAa,EAAbA,aAD6C;MAE7C2B,KAAK,EAALA,KAF6C;MAG7CC,QAAQ,EAARA;KAHF;GAbF;;EAoBA,IAAMP,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAW,UAAU,EAAI;IAC5ClE,cAAc,CAAC,UAAA+B,CAAC,EAAI;MAClBA,CAAC,CAACX,GAAF,CAAM8C,UAAU,CAAC7C,EAAjB,EAAqB6C,UAArB;MACA,IAAMC,gBAAgB,GAAG,IAAI3E,GAAJ,CAAQuC,CAAR,CAAzB;MACA,OAAOoC,gBAAP;KAHY,CAAd;IAKA/I,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,iBAAD,CAAxB,EAA6CgJ,UAA7C;GANF;;EASA,IAAMV,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAAY,YAAY,EAAI;IAC/CpE,cAAc,CAAC,UAAA+B,CAAC,EAAI;MAClBA,CAAC,UAAD,CAASqC,YAAT;MACA,IAAMC,cAAc,GAAG,IAAI7E,GAAJ,CAAQuC,CAAR,CAAvB;MACA,OAAOsC,cAAP;KAHY,CAAd;IAKAjJ,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,kBAAD,CAAxB,EAA8CkJ,YAA9C;GANF;;EASA,IAAMX,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAa,CAAC,EAAI;IAClClJ,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,gBAAD,CAAxB,EAA4CoJ,CAA5C;GADF;;EAGA,IAAMZ,aAAa,GAAG,SAAhBA,aAAgB,CAAA5B,IAAI,EAAI;IAC5B1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,OAAD,CAAxB,EAAmC4G,IAAnC;GADF;;EAIA,IAAM6B,+BAA+B,GAAG,SAAlCA,+BAAkC,CAAA7B,IAAI,EAAI;IAC9C1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,yBAAD,CAAxB,EAAqD4G,IAArD;GADF;;EAGA,IAAM8B,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAA9B,IAAI,EAAI;IAC/C1G,YAAY,CAACmG,IAAb,CAAkBrG,MAAM,CAAC,0BAAD,CAAxB,EAAsD4G,IAAtD;GADF;;EAIA,IAAMyC,IAAI,GAAG,SAAPA,IAAO,GAAM;IACjB,IAAMnG,OAAO,GAAGoG,cAAQ,IAAIA,cAAQ,CAACC,WAAT,CAAqB9D,SAAS,CAACK,OAA/B,CAA5B;IACA3C,UAAU,CAACD,OAAD,CAAV;IACA,IAAQE,gBAAR,GAA2CF,OAA3C,CAAQE,gBAAR;QAA0BmB,YAA1B,GAA2CrB,OAA3C,CAA0BqB,YAA1B;IACAA,YAAY,CAAC2B,GAAb,CAAiB9C,gBAAgB,CAAC+C,EAAlC,EAAsC/C,gBAAtC;IACAoB,eAAe,CAACD,YAAD,CAAf;IACAlB,mBAAmB,CAACD,gBAAD,CAAnB;IACAF,OAAO,CAACd,EAAR,CAAW,oBAAX,EAAiC4D,0BAAjC;IACA9C,OAAO,CAACd,EAAR,CAAW,kBAAX,EAA+BkE,wBAA/B;IACApD,OAAO,CAACd,EAAR,CAAW,mBAAX,EAAgCoE,yBAAhC;IACAtD,OAAO,CAACd,EAAR,CAAW,0BAAX,EAAuCqE,gCAAvC;IACAvD,OAAO,CAACd,EAAR,CAAW,iBAAX,EAA8BsE,uBAA9B;IACAxD,OAAO,CAACd,EAAR,CAAW,iBAAX,EAA8B0E,uBAA9B;IACA5D,OAAO,CAACd,EAAR,CAAW,iBAAX,EAA8B2E,uBAA9B;IACA7D,OAAO,CAACd,EAAR,CAAW,cAAX,EAA2BuE,oBAA3B;IACAzD,OAAO,CAACd,EAAR,CAAW,mBAAX,EAAgC8E,yBAAhC;IACAhE,OAAO,CAACd,EAAR,CAAW,mBAAX,EAAgC+E,yBAAhC;IACAjE,OAAO,CAACd,EAAR,CAAW,gBAAX,EAA6B8F,sBAA7B;IACAhF,OAAO,CAACd,EAAR,CAAW,cAAX,EAA2B+F,oBAA3B;IACAjF,OAAO,CAACd,EAAR,CAAW,oBAAX,EAAiCsF,2BAAjC;IACAxE,OAAO,CAACd,EAAR,CAAW,oBAAX,EAAiCuF,2BAAjC;IACAzE,OAAO,CAACd,EAAR,CAAW,qBAAX,EAAkC0F,2BAAlC;IACA5E,OAAO,CAACd,EAAR,CAAW,cAAX,EAA2B2F,oBAA3B;IACA7E,OAAO,CAACd,EAAR,CAAW,kBAAX,EAA+B4F,wBAA/B;IACA9E,OAAO,CAACd,EAAR,CAAW,eAAX,EAA4B6F,qBAA5B;IACA/E,OAAO,CAACd,EAAR,CAAW,mBAAX,EAAgCgG,yBAAhC;IAEAlF,OAAO,CAACd,EAAR,CAAW,iBAAX,EAA8BiG,uBAA9B;IACAnF,OAAO,CAACd,EAAR,CAAW,kBAAX,EAA+BkG,wBAA/B;IACApF,OAAO,CAACd,EAAR,CAAW,gBAAX,EAA6BmG,sBAA7B;IACArF,OAAO,CAACd,EAAR,CAAW,OAAX,EAAoBoG,aAApB;IACAtF,OAAO,CAACd,EAAR,CAAW,aAAX,EAA0BwF,mBAA1B;IACA1E,OAAO,CAACd,EAAR,CAAW,aAAX,EAA0ByF,mBAA1B;IACA3E,OAAO,CAACd,EAAR,CAAW,yBAAX,EAAsCqG,+BAAtC;IACAvF,OAAO,CAACd,EAAR,CAAW,0BAAX,EAAuCsG,gCAAvC;IAEAxF,OAAO,CAACE,gBAAR,CAAyBhB,EAAzB,CACE,gBADF,EAEEgF,uCAFF;IAIAlE,OAAO,CAACE,gBAAR,CAAyBhB,EAAzB,CACE,iBADF,EAEEqF,wCAFF;IAIAvE,OAAO,CAACmG,IAAR;GA5CF;;EA+CA,IAAMG,KAAK,GAAG,SAARA,KAAQ,GAAM;IAClB,IAAMtG,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IAEA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACsG,KAAR;;GAJJ;;EAQA,IAAMC,GAAG,GAAG,SAANA,GAAM,GAAM;IAChB,IAAMvG,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACuG,GAAR;;GAHJ;;EAMA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,UAAD,EAAaC,UAAb,EAAyBjH,MAAzB,EAAoC;IACzD,IAAMO,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACwG,cAAR,CAAuBC,UAAvB,EAAmCC,UAAnC,EAA+CjH,MAA/C;;GAHJ;;EAMA,IAAMkH,aAAa,GAAG,SAAhBA,aAAgB,GAAM;IAC1B,IAAM3G,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACX,IAAMgB,YAAW,GAAGsB,cAAc,CAACM,OAAnC;;MACA,IAAI5B,YAAJ,EAAiB;QACfhB,OAAO,CAAC2G,aAAR;;;GALN;;EASA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,gBAAD,EAAkC;IAAA,IAAjCA,gBAAiC;MAAjCA,gBAAiC,GAAdC,SAAc;;;IAClD,IAAM9G,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC4G,SAAR,CAAkBC,gBAAlB;;GAHJ;;EAMA,IAAME,OAAO,GAAG,SAAVA,OAAU,GAAM;IACpB,IAAM/G,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC+G,OAAR;;GAHJ;;EAMA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACH,gBAAD,EAAkC;IAAA,IAAjCA,gBAAiC;MAAjCA,gBAAiC,GAAdC,SAAc;;;IAClD,IAAMpG,UAAU,GAAGyB,aAAa,CAACS,OAAjC;;IAEA,IAAIlC,UAAJ,EAAgB;MACdqG,OAAO;KADT,MAEO;MACLH,SAAS,CAACC,gBAAD,CAAT;;GANJ;;EASA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;IAC1B,IAAMjH,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACiH,aAAR;;GAHJ;;EAMA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,gBAAD,EAAkC;IAAA,IAAjCA,gBAAiC;MAAjCA,gBAAiC,GAAdL,SAAc;;;IACrD,IAAM9G,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACkH,YAAR,CAAqBC,gBAArB;;GAHJ;;EAMA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACD,gBAAD,EAAkC;IAAA,IAAjCA,gBAAiC;MAAjCA,gBAAiC,GAAdL,SAAc;;;IACrD,IAAMlG,aAAa,GAAGwB,gBAAgB,CAACQ,OAAvC;;IAEA,IAAIhC,aAAJ,EAAmB;MACjBqG,aAAa;KADf,MAEO;MACLC,YAAY,CAACC,gBAAD,CAAZ;;GANJ;;EASA,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;IAC/B,IAAMrH,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACqH,kBAAR;;GAHJ;;EAMA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,sBAAD,EAAwC;IAAA,IAAvCA,sBAAuC;MAAvCA,sBAAuC,GAAdT,SAAc;;;IAChE,IAAM9G,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACsH,iBAAR,CAA0BC,sBAA1B;;GAHJ;;EAMA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACD,sBAAD,EAAwC;IAAA,IAAvCA,sBAAuC;MAAvCA,sBAAuC,GAAdT,SAAc;;;IAChE,IAAMhG,kBAAkB,GAAGuB,qBAAqB,CAACO,OAAjD;;IAEA,IAAI9B,kBAAJ,EAAwB;MACtBuG,kBAAkB;KADpB,MAEO;MACLC,iBAAiB,CAACC,sBAAD,CAAjB;;GANJ;;EASA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,IAAI,EAAI;IAC9B,IAAM1H,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACyH,eAAR,CAAwBC,IAAxB;;GAHJ;;EAMA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAC7D,aAAD,EAAgBC,QAAhB,EAA6B;IAChD,IAAM/D,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC2H,YAAR,CAAqB7D,aAArB,EAAoCC,QAApC;;GAHJ;;EAMA,IAAM6D,OAAO,YAAPA,OAAO;IAAA,IAAe;MAC1B,IAAM5H,QAAO,GAAGiC,UAAU,CAACW,OAA3B;MAD0B;QAAA,IAEtB5C,QAFsB;UAAA,uBAGXA,QAAO,CAAC4H,OAAR,EAHW;;;KAAf;MAAA;;GAAb;;EAMA,IAAMC,UAAU,YAAVA,UAAU;IAAA,IAAe;MAC7B,IAAM7H,SAAO,GAAGiC,UAAU,CAACW,OAA3B;MAD6B;QAAA,IAEzB5C,SAFyB;UAAA,uBAGdA,SAAO,CAAC6H,UAAR,EAHc;;;KAAf;MAAA;;GAAhB;;EAMA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAC,GAAG,EAAI;IAC1B,IAAM/H,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC8H,YAAR,CAAqBC,GAArB;;GAHJ;;EAMA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAD,GAAG,EAAI;IACvB,IAAM/H,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACgI,SAAR,CAAkBD,GAAlB;;GAHJ;;EAMA,IAAME,UAAU,GAAG,SAAbA,UAAa,QAAc;IAAA,IAAXC,IAAW,SAAXA,IAAW;IAC/B,IAAMlI,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACiI,UAAR,CAAmB;QAAEC,IAAI,EAAJA;OAArB;;GAHJ;;EAOA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;IACtB,IAAMnI,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACmI,SAAR;;GAHJ;;EAOA,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxB,IAAMpI,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACoI,WAAR;;GAHJ;;EAOA,IAAMC,UAAU,GAAG,SAAbA,UAAa,QAAqB;IAAA,IAAlBC,WAAkB,SAAlBA,WAAkB;IACtC,IAAMtI,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACqI,UAAR,CAAmB;QAAEC,WAAW,EAAXA;OAArB;;GAHJ;;EAOA,IAAMC,SAAS,GAAG,SAAZA,SAAY,QAAqB;IAAA,IAAlBD,WAAkB,SAAlBA,WAAkB;IACrC,IAAMtI,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACuI,SAAR,CAAkB;QAAED,WAAW,EAAXA;OAApB;;GAHJ;;EAOA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAACC,UAAD,EAAahJ,MAAb,EAAwB;IAC9C,IAAMO,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAACwI,eAAR,CAAwBC,UAAxB,EAAoChJ,MAApC;;GAHJ;;EAOA,IAAMiJ,cAAc,GAAG,SAAjBA,cAAiB,GAAM;IAC3B,IAAM1I,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC0I,cAAR;;GAHJ;;EAOA,IAAMC,SAAS,YAATA,SAAS;IAAA,IAAYC,SAAZ,SAAYA,SAAZ;QAAuBC,OAAvB,SAAuBA,OAAvB;;IAAA,IAAqC;MAClD,IAAM7I,SAAO,GAAGiC,UAAU,CAACW,OAA3B;;MADkD;QAAA,IAE9C5C,SAF8C;UAAA,uBAG1CA,SAAO,CAAC2I,SAAR,CAAkB;YAAEC,SAAS,EAATA,SAAF;YAAaC,OAAO,EAAPA;WAA/B,CAH0C;;;;MAAA;KAArC;MAAA;;GAAf;;EAOA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAAArJ,MAAM,EAAI;IACzB,IAAMO,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC8I,QAAR,CAAiBrJ,MAAjB;;GAHJ;;EAOA,IAAMsJ,OAAO,GAAG,SAAVA,OAAU,GAAM;IACpB,IAAM/I,OAAO,GAAGiC,UAAU,CAACW,OAA3B;;IACA,IAAI5C,OAAJ,EAAa;MACXA,OAAO,CAAC+I,OAAR;;GAHJ;;EAOA,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;IACpB5C,cAAQ,CAAC3G,MAAT,CAAgB+C,QAAQ,CAACI,OAAzB;;IAEA,IAAI9C,UAAJ,EAAgB;MACdsG,cAAQ,CAAC6C,SAAT,CAAmBnJ,UAAnB;KADF,MAEO;MACLsG,cAAQ,CAAC6C,SAAT,CAAmB;QACjBC,OAAO,EAAE,WADQ;QAEjBC,UAAU,EAAEC;OAFd;;;IAMF,IAAIzJ,0BAAJ,EAAgC;MAC9BwG,IAAI;;GAbR;;EAiBAlH,eAAS,CAAC,YAAM;IACd+J,OAAO;GADA,EAEN,EAFM,CAAT;EAIA/J,eAAS,CAAC,YAAM;IACd,IAAIY,iCAAiC,IAAI4C,mBAAmB,CAACG,OAA7D,EAAsE;MACpE0D,KAAK;MACL0C,OAAO;MACP,CAACrJ,0BAAD,IAA+BwG,IAAI,EAAnC;;GAJK,EAMN,CAAC1G,MAAM,CAACmJ,SAAR,EAAmBlJ,KAAnB,EAA0BG,iCAA1B,CANM,CAAT;EAQA,oBACEN,6BAAC,qBAAD,CAAuB,QAAvB;IACE,KAAK,EAAE;MACLqJ,SAAS,EAAE5I,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEiD,EADf;MAELjD,OAAO,EAAPA,OAFK;MAGLqJ,OAAO,EAAErJ,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEqJ,OAHb;MAILnJ,gBAAgB,EAAhBA,gBAJK;MAKLE,eAAe,EAAfA,eALK;MAMLE,eAAe,EAAfA,eANK;MAOLe,YAAY,EAAZA,YAPK;MAQLb,WAAW,EAAXA,WARK;MASLE,UAAU,EAAVA,UATK;MAULE,aAAa,EAAbA,aAVK;MAWLE,kBAAkB,EAAlBA,kBAXK;MAYLI,QAAQ,EAARA,QAZK;MAaLF,WAAW,EAAXA,WAbK;MAcLS,eAAe,EAAfA,eAdK;MAeLF,kBAAkB,EAAlBA,kBAfK;MAgBLI,WAAW,EAAXA,WAhBK;MAiBLI,KAAK,EAALA,KAjBK;MAmBLoE,IAAI,EAAJA,IAnBK;MAoBLG,KAAK,EAALA,KApBK;MAqBLC,GAAG,EAAHA,GArBK;MAuBLC,cAAc,EAAdA,cAvBK;MAwBLG,aAAa,EAAbA,aAxBK;MA0BLc,eAAe,EAAfA,eA1BK;MA2BLE,YAAY,EAAZA,YA3BK;MA6BLZ,OAAO,EAAPA,OA7BK;MA8BLH,SAAS,EAATA,SA9BK;MA+BLI,SAAS,EAATA,SA/BK;MAiCLC,aAAa,EAAbA,aAjCK;MAkCLC,YAAY,EAAZA,YAlCK;MAmCLE,YAAY,EAAZA,YAnCK;MAqCLC,kBAAkB,EAAlBA,kBArCK;MAsCLC,iBAAiB,EAAjBA,iBAtCK;MAuCLE,iBAAiB,EAAjBA,iBAvCK;MAyCLI,OAAO,EAAPA,OAzCK;MA0CLC,UAAU,EAAVA,UA1CK;MA2CLC,YAAY,EAAZA,YA3CK;MA4CLE,SAAS,EAATA,SA5CK;MA8CLC,UAAU,EAAVA,UA9CK;MA+CLE,SAAS,EAATA,SA/CK;MAgDLC,WAAW,EAAXA,WAhDK;MAiDLC,UAAU,EAAVA,UAjDK;MAkDLE,SAAS,EAATA,SAlDK;MAmDLC,eAAe,EAAfA,eAnDK;MAoDLE,cAAc,EAAdA,cApDK;MAqDLC,SAAS,EAATA,SArDK;MAsDL9G,eAAe,EAAfA,eAtDK;MAuDLiH,QAAQ,EAARA,QAvDK;MAwDLC,OAAO,EAAPA;;KAGDzJ,QA5DH,CADF;AAgED,CAjoBD;;ACHA,IAAMgK,cAAc,GAAG,SAAjBA,cAAiB,CACrBxF,aADqB,SAGlB;EAAA,8BAD2D,EAC3D;kCADDyF,eACC;MADDA,eACC,qCADiB,YAAM,EACvB;mCAD2BC,gBAC3B;MAD2BA,gBAC3B,sCAD8C,YAAM,EACpD;;EACH,gBAAwCzJ,cAAQ,CAAC,IAAD,CAAhD;MAAO0J,YAAP;MAAqBC,eAArB;;EACA,iBAAkC3J,cAAQ,CAAC,IAAD,CAA1C;MAAO4J,SAAP;MAAkBC,YAAlB;;EACA,iBAAkD7J,cAAQ,CAAC,IAAD,CAA1D;MAAO8J,iBAAP;MAA0BC,oBAA1B;;EAEA,IAAM9J,OAAO,GAAG3C,UAAU,EAA1B;;EAEA,eAMIsF,aAAO,CAAC,YAAM;IAAA;;IAChB,IAAMtB,YAAY,GAAGrB,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEqB,YAA9B;IACA,IAAMnB,gBAAgB,GAAGF,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEE,gBAAlC;IACA,IAAMI,eAAe,GAAGN,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEM,eAAjC;IACA,IAAMF,eAAe,GAAGJ,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEI,eAAjC;IACA,IAAM2J,QAAQ,GAAG,CAAA/J,OAAO,SAAP,IAAAA,OAAO,WAAP,qCAAAA,OAAO,CAAEuB,kBAAT,gFAA6ByI,GAA7B,CAAiClG,aAAjC,MAAmD;MAClE6B,GAAG,EAAE,KAD6D;MAElEC,KAAK,EAAE;KAFT;IAKA,OAAO;MACLvE,YAAY,EAAZA,YADK;MAELnB,gBAAgB,EAAhBA,gBAFK;MAGLI,eAAe,EAAfA,eAHK;MAILF,eAAe,EAAfA,eAJK;MAKL2J,QAAQ,EAARA;KALF;GAVS,EAiBR,CAAC/J,OAAD,CAjBQ,CANX;MACEqB,YADF,YACEA,YADF;MAEEnB,gBAFF,YAEEA,gBAFF;MAGEI,eAHF,YAGEA,eAHF;MAIEF,eAJF,YAIEA,eAJF;MAKE2J,QALF,YAKEA,QALF;;EAyBA,IAAMhH,WAAW,GAAG1B,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAE2I,GAAd,CAAkBlG,aAAlB,CAApB;;EAEA,IAAMmG,QAAQ,GAAG,SAAXA,QAAW,CAAA9F,MAAM,EAAI;IACzB,IAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,MAAhC,EAAwC;MACtC,QAAQF,MAAM,CAACG,IAAf;QACE,KAAK,OAAL;UACEoF,eAAe,CAACvF,MAAD,CAAf;UACA;;QACF,KAAK,OAAL;UACEyF,YAAY,CAACzF,MAAD,CAAZ;UACA;;QACF,KAAK,OAAL;UACE2F,oBAAoB,CAAC3F,MAAD,CAApB;UACA;;;GAXR;;EAkBA,IAAM+F,UAAU,GAAG,SAAbA,UAAa,CAAA/F,MAAM,EAAI;IAC3B,IAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,MAAhC,EAAwC;MACtC,QAAQF,MAAM,CAACG,IAAf;QACE,KAAK,OAAL;UACEoF,eAAe,CAAC,IAAD,CAAf;UACA;;QACF,KAAK,OAAL;UACEE,YAAY,CAAC,IAAD,CAAZ;UACA;;QACF,KAAK,OAAL;UACEE,oBAAoB,CAAC,IAAD,CAApB;UACA;;;GAXR;;EAkBA,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAhG,MAAM,EAAI;IACrC8F,QAAQ,CAAC9F,MAAD,CAAR;IACAoF,eAAe,CAACpF,MAAD,CAAf;GAFF;;EAKA,IAAMiG,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAjG,MAAM,EAAI;IACtC+F,UAAU,CAAC/F,MAAD,CAAV;IACAqF,gBAAgB,CAACrF,MAAD,CAAhB;GAFF;;EAKA,IAAMkG,UAAU,GAAG,SAAbA,UAAa,CAAAC,OAAO,EAAI;IAC5BvH,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEsH,UAAb,CAAwBC,OAAxB;GADF;;EAIA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,MAAR,EAAmB;IACrC1H,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEwH,WAAb,CAAyBC,KAAzB,EAAgCC,MAAhC;GADF;;EAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;IACtB3H,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE2H,SAAb;GADF;;EAGA,IAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;IACvB5H,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE4H,UAAb;GADF;;EAGA,IAAMzD,YAAY,GAAG,SAAfA,YAAe,GAAM;IACzBnE,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEmE,YAAb;GADF;;EAGA,IAAMD,aAAa,GAAG,SAAhBA,aAAgB,GAAM;IAC1BlE,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEkE,aAAb;GADF;;EAGA,IAAM2D,GAAG,GAAG,SAANA,GAAM,CAAAlH,IAAI,EAAI;IAClBX,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE6H,GAAb,CAAiBlH,IAAjB;GADF;;EAGA,IAAMmH,KAAK,GAAG,SAARA,KAAQ,CAAAnH,IAAI,EAAI;IACpBX,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE8H,KAAb,CAAmBnH,IAAnB;GADF;;EAIA,IAAMoH,QAAQ,YAARA,QAAQ,CAASpH,IAAT,EAAiB;IAAA,uBACvBX,WADuB,aACvBA,WADuB,uBACvBA,WAAW,CAAE+H,QAAb,CAAsBpH,IAAtB,CADuB;GAA/B;;EAIAzE,eAAS,CAAC,YAAM;IACd,IAAM8L,OAAO,GAAGhI,WAAH,aAAGA,WAAH,uBAAGA,WAAW,CAAEgI,OAA7B;;IAEA,IAAIA,OAAJ,EAAa;MACXA,OAAO,CAACC,OAAR,CAAgB,UAAA7G,MAAM,EAAI;QACxB8F,QAAQ,CAAC9F,MAAD,CAAR;OADF;;;IAKFpB,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE7D,EAAb,CAAgB,gBAAhB,EAAkCiL,oBAAlC;IAEApH,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE7D,EAAb,CAAgB,iBAAhB,EAAmCkL,qBAAnC;IAEA,OAAO,YAAM;MACXrH,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE5D,GAAb,CAAiB,gBAAjB,EAAmCgL,oBAAnC;MAEApH,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE5D,GAAb,CAAiB,iBAAjB,EAAoCiL,qBAApC;KAHF;GAbO,EAkBN,CAACrH,WAAD,CAlBM,CAAT;EAoBA,OAAO;IACLkI,WAAW,EAAElI,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAEkI,WADrB;IAELlI,WAAW,EAAXA,WAFK;IAGL0G,YAAY,EAAZA,YAHK;IAILE,SAAS,EAATA,SAJK;IAKLE,iBAAiB,EAAjBA,iBALK;IAMLqB,QAAQ,EAAE,CAAC,CAACzB,YANP;IAOL0B,KAAK,EAAE,CAAC,CAACxB,SAPJ;IAQLyB,aAAa,EAAE,CAAC,CAACvB,iBARZ;IASLwB,OAAO,EAAE,CAAAnL,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAE+C,EAAlB,MAAyBa,aAT7B;IAULwH,eAAe,EAAEhL,eAAe,KAAKwD,aAVhC;IAWLyH,iBAAiB,EAAE,CAAAnL,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAE6C,EAAjB,MAAwBa,aAXtC;IAYLiG,QAAQ,EAARA,QAZK;IAeLM,UAAU,EAAVA,UAfK;IAgBLE,WAAW,EAAXA,WAhBK;IAiBLG,SAAS,EAATA,SAjBK;IAkBLC,UAAU,EAAVA,UAlBK;IAmBLzD,YAAY,EAAZA,YAnBK;IAoBLD,aAAa,EAAbA,aApBK;IAqBL2D,GAAG,EAAHA,GArBK;IAsBLC,KAAK,EAALA,KAtBK;IAuBLC,QAAQ,EAARA;GAvBF;AAyBD,CA/JD;;ACAA,IAAMU,aAAa,GAAG,SAAhBA,aAAgB,CACpBxF,YADoB,SASjB;EAAA,8BAPa;IACdyF,SAAS,EAAE;MACTnO,mBAAmB,EAAE,+BAAM,EADlB;MAETC,iBAAiB,EAAE,6BAAM,EAFhB;MAGTQ,aAAa,EAAE,yBAAM;;GAGtB;MAPD0N,SAOC,QAPDA,SAOC;;EACH,IAAMnO,mBAAmB,GAAGmO,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEnO,mBAAvC;EACA,IAAMC,iBAAiB,GAAGkO,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAElO,iBAArC;EACA,IAAMQ,aAAa,GAAG0N,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAE1N,aAAjC;EAEA,IAAMiC,OAAO,GAAG3C,UAAU,EAA1B;;EAEA,eAA+CsF,aAAO,CAAC,YAAM;IAC3D,IAAMmD,UAAU,GAAG9F,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAE2B,WAAT,CAAqBqI,GAArB,CAAyBhE,YAAzB,CAAnB;;IAEA,IAAI,CAACF,UAAL,EAAiB;MACf,MAAM,IAAI4F,KAAJ,CAAU,wBAAV,CAAN;;;IAGF,IAAMC,sBAAsB,GAAG,IAAIvK,GAAJ,CAAQ0E,UAAU,CAAC9F,OAAX,CAAmBqB,YAA3B,CAA/B;IAEA,OAAO;MACLyE,UAAU,EAAVA,UADK;MAEL6F,sBAAsB,EAAtBA;KAFF;GAToD,EAanD,CAAC3L,OAAD,CAbmD,CAAtD;MAAQ8F,UAAR,YAAQA,UAAR;MAAoB6F,sBAApB,YAAoBA,sBAApB;;EAeA,gBAA6D5L,cAAQ,CACnE,IAAIqB,GAAJ,CAAQuK,sBAAR,CADmE,CAArE;MAAOC,uBAAP;MAAgCC,yBAAhC;;EAIA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAA/I,WAAW,EAAI;IAC9C8I,yBAAyB,CAAC,UAAAlI,CAAC,EAAI;MAC7BA,CAAC,CAACX,GAAF,CAAMD,WAAW,CAACE,EAAlB,EAAsBF,WAAtB;MACA,IAAMG,iBAAiB,GAAG,IAAI9B,GAAJ,CAAQuC,CAAR,CAA1B;MACA,OAAOT,iBAAP;KAHuB,CAAzB;IAKA5F,mBAAmB,CAACyF,WAAD,CAAnB;GANF;;EAQA,IAAMgJ,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAjI,aAAa,EAAI;IAC9C+H,yBAAyB,CAAC,UAAAlI,CAAC,EAAI;MAC7BA,CAAC,UAAD,CAASG,aAAT;MACA,IAAMT,eAAe,GAAG,IAAIjC,GAAJ,CAAQuC,CAAR,CAAxB;MACA,OAAON,eAAP;KAHuB,CAAzB;IAKA9F,iBAAiB,CAACuG,aAAD,CAAjB;GANF;;EASA,IAAMkI,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAtI,IAAI,EAAI;IACjC3F,aAAa,CAAC2F,IAAD,CAAb;GADF;;EAIAzE,eAAS,CAAC,YAAM;IACd6G,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE9F,OAAZ,CAAoBd,EAApB,CAAuB,oBAAvB,EAA6C4M,wBAA7C;IACAhG,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE9F,OAAZ,CAAoBd,EAApB,CAAuB,kBAAvB,EAA2C6M,sBAA3C;IACAjG,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE9F,OAAZ,CAAoBd,EAApB,CAAuB,cAAvB,EAAuC8M,kBAAvC;IAEA,OAAO,YAAM;MACXlG,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE9F,OAAZ,CAAoBb,GAApB,CAAwB,oBAAxB,EAA8C2M,wBAA9C;MACAhG,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE9F,OAAZ,CAAoBb,GAApB,CAAwB,kBAAxB,EAA4C4M,sBAA5C;MACAjG,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE9F,OAAZ,CAAoBb,GAApB,CAAwB,cAAxB,EAAwC6M,kBAAxC;KAHF;GALO,EAUN,CAAClG,UAAD,CAVM,CAAT;EAYA,OAAO;IACLA,UAAU,EAAE;MACV7C,EAAE,EAAE6C,UAAU,CAAC7C,EADL;MAEVgJ,KAAK,EAAEnG,UAAU,CAACmG,KAFR;MAGVpD,OAAO,EAAE/C,UAAU,CAAC+C,OAHV;MAIV7I,OAAO,EAAE;QACPiD,EAAE,EAAE6C,UAAU,CAAC9F,OAAX,CAAmBiD,EADhB;QAEPwE,eAAe,EAAE3B,UAAU,CAAC9F,OAAX,CAAmByH,eAF7B;QAGPlB,GAAG,EAAET,UAAU,CAAC9F,OAAX,CAAmBuG,GAHjB;QAIPlF,YAAY,EAAEuK;;;GATpB;AAaD,CAjFD;;ACAA,IAAMM,SAAS,GAAG,SAAZA,SAAY,CAChBC,KADgB,SAGb;EAAA,8BADkE,EAClE;mCADDC,iBACC;MADDA,iBACC,sCADmB,YAAM,EACzB;mCAD6BC,qBAC7B;MAD6BA,qBAC7B,sCADqD,YAAM,EAC3D;;EACH,kBAAqChP,UAAU,EAA/C;MAAQ2C,OAAR,eAAQA,OAAR;MAAiB6B,eAAjB,eAAiBA,eAAjB;;EACA,gBAAgC9B,cAAQ,CAAC,EAAD,CAAxC;MAAOmB,QAAP;MAAiBC,WAAjB;;EACA,IAAMmL,YAAY,GAAGpK,YAAM,CAAC,KAAD,CAA3B;;EACA,IAAMqK,OAAO,GAAG,SAAVA,OAAU,CAACC,OAAD,EAAUC,OAAV,EAAsB;IACpC,IAAIzM,OAAJ,EAAa;MACXA,OAAO,CAAC0M,MAAR,CAAeH,OAAf,CAAuBJ,KAAvB,EAA8BK,OAA9B,EAAuCC,OAAvC;;GAFJ;;EAMA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAAAjJ,IAAI,EAAI;IAC5BvC,WAAW,CAAC,UAAAwC,CAAC;MAAA,iBAAQA,CAAR,GAAWD,IAAX;KAAF,CAAX;IACA0I,iBAAiB,CAAC1I,IAAD,CAAjB;GAFF;;EAKA,IAAMkJ,iBAAiB,YAAjBA,iBAAiB,CAAS5M,OAAT;IAAA,IAAoB;MAAA;;MAAA,uBACtBA,OADsB,aACtBA,OADsB,0CACtBA,OAAO,CAAE0M,MADa,oDACtB,gBAAiBG,SAAjB,CAA2BV,KAA3B,EAAkCQ,aAAlC,CADsB,iBACnCjJ,IADmC;QAAA,IAErCA,IAFqC;UAGvC2I,qBAAqB,CAAC3I,IAAI,CAACxC,QAAN,CAArB;UACAC,WAAW,CAACuC,IAAI,CAACxC,QAAN,CAAX;;;KAJmB;MAAA;;GAAvB;;EAQAjC,eAAS,CAAC,YAAM;IACd,IAAIe,OAAO,IAAI,CAACsM,YAAY,CAAC1J,OAAzB,IAAoCf,eAAxC,EAAyD;MACvDyK,YAAY,CAAC1J,OAAb,GAAuB,IAAvB;MACAgK,iBAAiB,CAAC5M,OAAD,CAAjB;MAEA,OAAO,YAAM;QAAA;;QACXA,OAAO,SAAP,IAAAA,OAAO,WAAP,gCAAAA,OAAO,CAAE0M,MAAT,sEAAiBI,WAAjB,CAA6BX,KAA7B,EAAoCQ,aAApC;OADF;;GALK,EASN,CAAC3M,OAAD,EAAU6B,eAAV,CATM,CAAT;EAWA,OAAO;IAAE0K,OAAO,EAAPA,OAAF;IAAWrL,QAAQ,EAARA;GAAlB;AACD,CAtCD;;ICOM6L,SAAS,GAAG3G,cAAQ,CAAC2G,SAA3B;;AAEA,IAAMC,sBAAsB,YAAtBA,sBAAsB;EAAA,yBAC1BC,QAD0B;MAC1BA,QAD0B,8BACfnG,SADe;gCAE1BoG,aAF0B;MAE1BA,aAF0B,mCAEVpG,SAFU;6BAG1BqG,UAH0B;MAG1BA,UAH0B,gCAGbrG,SAHa;mCAI1BsG,gBAJ0B;MAI1BA,gBAJ0B,sCAIPtG,SAJO;;EAAA,IAKtB;IAAA,uBACSV,cAAQ,CAAC4G,sBAAT,CAAgC;MAC3CC,QAAQ,EAARA,QAD2C;MAE3CC,aAAa,EAAbA,aAF2C;MAG3CC,UAAU,EAAVA,UAH2C;MAI3CC,gBAAgB,EAAhBA;KAJW,CADT;GALsB;IAAA;;AAAA,CAA5B;;AAcA,IAAMC,2BAA2B,YAA3BA,2BAA2B;EAAA,gCAC/BH,aAD+B;MAC/BA,aAD+B,oCACfpG,SADe;oCAE/BsG,gBAF+B;MAE/BA,gBAF+B,sCAEZtG,SAFY;;EAAA,IAI3B;IAAA,uBACSV,cAAQ,CAACiH,2BAAT,CAAqC;MAChDH,aAAa,EAAbA,aADgD;MAEhDE,gBAAgB,EAAhBA;KAFW,CADT;GAJ2B;IAAA;;AAAA,CAAjC;;AAWA,IAAME,0BAA0B,YAA1BA,0BAA0B;EAAA,8BAC9BC,WAD8B;MAC9BA,WAD8B,kCAChBzG,SADgB;kCAE9BoG,aAF8B;MAE9BA,aAF8B,oCAEdpG,SAFc;iCAG9B0G,YAH8B;MAG9BA,YAH8B,mCAGf1G,SAHe;;EAAA,IAI1B;IAAA,uBACSV,cAAQ,CAACkH,0BAAT,CAAoC;MAC/CC,WAAW,EAAXA,WAD+C;MAE/CL,aAAa,EAAbA,aAF+C;MAG/CM,YAAY,EAAZA;KAHW,CADT;GAJ0B;IAAA;;AAAA,CAAhC;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`,\n 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n const [recordingState, setRecordingState] = useState(null);\n const [livestreamState, setLivestreamState] = useState(null);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n setRecordingState(null);\n setLivestreamState(null);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const _handle_recording_state_changed = data => {\n setRecordingState(data?.status);\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n setLivestreamState(data?.status);\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n baseUrl: meeting?.baseUrl,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n recordingState,\n livestreamState,\n isMeetingJoined,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n\n const setViewPort = (width, height) => {\n participant?.setViewPort(width, height);\n };\n\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","onRecordingStateChanged","onLivestreamStateChanged","useEffect","on","off","useContext","MeetingConsumer","children","React","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","recordingState","setRecordingState","livestreamState","setLivestreamState","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","status","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","baseUrl","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
@@ -270,7 +270,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
270
270
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeetingProviderContex.Consumer, null, children));
271
271
  };
272
272
 
273
- var version = "0.1.38";
273
+ var version = "0.1.40";
274
274
 
275
275
  var MeetingProvider = function MeetingProvider(_ref) {
276
276
  var children = _ref.children,
@@ -344,6 +344,14 @@ var MeetingProvider = function MeetingProvider(_ref) {
344
344
  isHls = _useState16[0],
345
345
  setIsHls = _useState16[1];
346
346
 
347
+ var _useState17 = useState(null),
348
+ recordingState = _useState17[0],
349
+ setRecordingState = _useState17[1];
350
+
351
+ var _useState18 = useState(null),
352
+ livestreamState = _useState18[0],
353
+ setLivestreamState = _useState18[1];
354
+
347
355
  var meetingRef = useRef();
348
356
  var localMicOnRef = useRef();
349
357
  var localWebcamOnRef = useRef();
@@ -398,6 +406,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
398
406
  setConnections(new Map());
399
407
  setIsMeetingJoined(false);
400
408
  setIsHls(false);
409
+ setRecordingState(null);
410
+ setLivestreamState(null);
401
411
  };
402
412
 
403
413
  var _handle_participant_joined = function _handle_participant_joined(participant) {
@@ -620,10 +630,12 @@ var MeetingProvider = function MeetingProvider(_ref) {
620
630
  };
621
631
 
622
632
  var _handle_recording_state_changed = function _handle_recording_state_changed(data) {
633
+ setRecordingState(data === null || data === void 0 ? void 0 : data.status);
623
634
  eventEmitter.emit(events['recording-state-changed'], data);
624
635
  };
625
636
 
626
637
  var _handle_livestream_state_changed = function _handle_livestream_state_changed(data) {
638
+ setLivestreamState(data === null || data === void 0 ? void 0 : data.status);
627
639
  eventEmitter.emit(events['livestream-state-changed'], data);
628
640
  };
629
641
 
@@ -1012,6 +1024,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
1012
1024
  pinnedParticipants: pinnedParticipants,
1013
1025
  connections: connections,
1014
1026
  isHls: isHls,
1027
+ recordingState: recordingState,
1028
+ livestreamState: livestreamState,
1029
+ isMeetingJoined: isMeetingJoined,
1015
1030
  join: join,
1016
1031
  leave: leave,
1017
1032
  end: end,
@@ -1040,7 +1055,6 @@ var MeetingProvider = function MeetingProvider(_ref) {
1040
1055
  startLivestream: startLivestream,
1041
1056
  stopLivestream: stopLivestream,
1042
1057
  connectTo: connectTo,
1043
- isMeetingJoined: isMeetingJoined,
1044
1058
  startHls: startHls,
1045
1059
  stopHls: stopHls
1046
1060
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`,\n 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const _handle_recording_state_changed = data => {\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n baseUrl: meeting?.baseUrl,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n isMeetingJoined,\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n\n const setViewPort = (width, height) => {\n participant?.setViewPort(width, height);\n };\n\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","onRecordingStateChanged","onLivestreamStateChanged","useEffect","on","off","useContext","MeetingConsumer","children","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","baseUrl","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js","../src/connection/useConnection.js","../src/pubSub/usePubSub.js","../src/index.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'videosdk-live-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`,\n 'connection-open': `${eventPrifix}-connection-open`,\n 'connection-close': `${eventPrifix}-connection-close`,\n 'switch-meeting': `${eventPrifix}-switch-meeting`,\n error: `${eventPrifix}-error`,\n 'hls-started': `${eventPrifix}-hls-started`,\n 'hls-stopped': `${eventPrifix}-hls-stopped`,\n 'recording-state-changed': `${eventPrifix}-recording-state-changed`,\n 'livestream-state-changed': `${eventPrifix}-livestream-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {},\n onConnectionOpen = () => {},\n onConnetionClose = () => {},\n onSwitchMeeting = () => {},\n onError = () => {},\n onHlsStarted = () => {},\n onHlsStopped = () => {},\n onRecordingStateChanged = () => {},\n onLivestreamStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.on(events['connection-open'], onConnectionOpen);\n eventEmitter.on(events['connection-close'], onConnetionClose);\n eventEmitter.on(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.on(events['error'], onError);\n eventEmitter.on(events['hls-started'], onHlsStarted);\n eventEmitter.on(events['hls-stopped'], onHlsStopped);\n eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);\n eventEmitter.on(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n eventEmitter.off(events['connection-open'], onConnectionOpen);\n eventEmitter.off(events['connection-close'], onConnetionClose);\n eventEmitter.off(events['switch-meeting'], onSwitchMeeting);\n eventEmitter.off(events['error'], onError);\n eventEmitter.off(events['hls-started'], onHlsStarted);\n eventEmitter.off(events['hls-stopped'], onHlsStopped);\n eventEmitter.off(\n events['recording-state-changed'],\n onRecordingStateChanged\n );\n eventEmitter.off(\n events['livestream-state-changed'],\n onLivestreamStateChanged\n );\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\nimport { version as reactSDKVersion } from '../../package.json';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction,\n reinitialiseMeetingOnConfigChange: _reinitialiseMeetingOnConfigChange,\n deviceInfo\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n const [connections, setConnections] = useState(new Map());\n const [isMeetingJoined, setIsMeetingJoined] = useState(false);\n const [isHls, setIsHls] = useState(false);\n const [recordingState, setRecordingState] = useState(null);\n const [livestreamState, setLivestreamState] = useState(null);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n const configRef = useRef(config);\n const tokenRef = useRef(token);\n const joinedOnFirstRender = useRef(false);\n const isHlsRef = useRef();\n\n const reinitialiseMeetingOnConfigChange = useMemo(\n () => _reinitialiseMeetingOnConfigChange,\n []\n );\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n useEffect(() => {\n tokenRef.current = token;\n }, [token]);\n useEffect(() => {\n isHlsRef.current = isHls;\n }, [isHls]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n setPinnedParticipants(new Map());\n setConnections(new Map());\n setIsMeetingJoined(false);\n setIsHls(false);\n setRecordingState(null);\n setLivestreamState(null);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_hls_started = data => {\n setIsHls(true);\n eventEmitter.emit(events['hls-started'], data);\n };\n const _handle_hls_stopped = () => {\n setIsHls(false);\n eventEmitter.emit(events['hls-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n joinedOnFirstRender.current = true;\n setMessages(s => [...s, ...data.messages]);\n eventEmitter.emit(events['meeting-joined'], data);\n setIsMeetingJoined(true);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n meeting.off('pin-state-changed', _handle_pin_state_changed);\n meeting.off('connection-open', _handle_connection_open);\n meeting.off('connection-close', _handle_connection_close);\n meeting.off('switch-meeting', _handle_switch_meeting);\n meeting.off('error', _handle_error);\n meeting.off('hls-started', _handle_hls_started);\n meeting.off('hls-stopped', _handle_hls_stopped);\n meeting.off('recording-state-changed', _handle_recording_state_changed);\n meeting.off(\n 'livestream-state-changed',\n _handle_livestream_state_changed\n );\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const _handle_connection_open = connection => {\n setConnections(s => {\n s.set(connection.id, connection);\n const connectionsToSet = new Map(s);\n return connectionsToSet;\n });\n eventEmitter.emit(events['connection-open'], connection);\n };\n\n const _handle_connection_close = connectionId => {\n setConnections(s => {\n s.delete(connectionId);\n const newConnections = new Map(s);\n return newConnections;\n });\n eventEmitter.emit(events['connection-close'], connectionId);\n };\n\n const _handle_switch_meeting = d => {\n eventEmitter.emit(events['switch-meeting'], d);\n };\n const _handle_error = data => {\n eventEmitter.emit(events['error'], data);\n };\n\n const _handle_recording_state_changed = data => {\n setRecordingState(data?.status);\n eventEmitter.emit(events['recording-state-changed'], data);\n };\n const _handle_livestream_state_changed = data => {\n setLivestreamState(data?.status);\n eventEmitter.emit(events['livestream-state-changed'], data);\n };\n\n const join = () => {\n const meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.on('connection-open', _handle_connection_open);\n meeting.on('connection-close', _handle_connection_close);\n meeting.on('switch-meeting', _handle_switch_meeting);\n meeting.on('error', _handle_error);\n meeting.on('hls-started', _handle_hls_started);\n meeting.on('hls-stopped', _handle_hls_stopped);\n meeting.on('recording-state-changed', _handle_recording_state_changed);\n meeting.on('livestream-state-changed', _handle_livestream_state_changed);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath, config);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = (customAudioTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic(customAudioTrack);\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = (customAudioTrack = undefined) => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic(customAudioTrack);\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = (customVideoTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam(customVideoTrack);\n }\n };\n const toggleWebcam = (customVideoTrack = undefined) => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam(customVideoTrack);\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = (customScreenShareTrack = undefined) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare(customScreenShareTrack);\n }\n };\n const toggleScreenShare = (customScreenShareTrack = undefined) => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare(customScreenShareTrack);\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(obj);\n }\n };\n const changeMic = obj => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(obj);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = (streamInfo, config) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo, config);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const connectTo = async ({ meetingId, payload }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n await meeting.connectTo({ meetingId, payload });\n }\n };\n\n const startHls = config => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startHls(config);\n }\n };\n\n const stopHls = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopHls();\n }\n };\n\n const initSDK = () => {\n VideoSDK.config(tokenRef.current);\n\n if (deviceInfo) {\n VideoSDK.analytics(deviceInfo);\n } else {\n VideoSDK.analytics({\n sdkType: 'react-web',\n sdkVersion: reactSDKVersion\n });\n }\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n useEffect(() => {\n if (reinitialiseMeetingOnConfigChange && joinedOnFirstRender.current) {\n leave();\n initSDK();\n !joinWithoutUserInteraction && join();\n }\n }, [config.meetingId, token, reinitialiseMeetingOnConfigChange]);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: meeting?.id,\n meeting,\n baseUrl: meeting?.baseUrl,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n connections,\n isHls,\n recordingState,\n livestreamState,\n isMeetingJoined,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream,\n connectTo,\n\n startHls,\n stopHls\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n\n const setViewPort = (width, height) => {\n participant?.setViewPort(width, height);\n };\n\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n const switchTo = async data => {\n await participant?.switchTo(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n setViewPort,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin,\n switchTo\n };\n};\n\nexport default useParticipant;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useConnection = (\n connectionId,\n { onMeeting } = {\n onMeeting: {\n onParticipantJoined: () => {},\n onParticipantLeft: () => {},\n onChatMessage: () => {}\n }\n }\n) => {\n const onParticipantJoined = onMeeting?.onParticipantJoined;\n const onParticipantLeft = onMeeting?.onParticipantLeft;\n const onChatMessage = onMeeting?.onChatMessage;\n\n const meeting = useMeeting();\n\n const { connection, connectionParticipants } = useMemo(() => {\n const connection = meeting?.connections.get(connectionId);\n\n if (!connection) {\n throw new Error('connectionId not found');\n }\n\n const connectionParticipants = new Map(connection.meeting.participants);\n\n return {\n connection,\n connectionParticipants\n };\n }, [meeting]);\n\n const [_connectionParticipants, setConnectionParticipants] = useState(\n new Map(connectionParticipants)\n );\n\n const _handleParticipantJoined = participant => {\n setConnectionParticipants(s => {\n s.set(participant.id, participant);\n const participantsToSet = new Map(s);\n return participantsToSet;\n });\n onParticipantJoined(participant);\n };\n const _handleParticipantLeft = participantId => {\n setConnectionParticipants(s => {\n s.delete(participantId);\n const newParticipants = new Map(s);\n return newParticipants;\n });\n onParticipantLeft(participantId);\n };\n\n const _handleChatMessage = data => {\n onChatMessage(data);\n };\n\n useEffect(() => {\n connection?.meeting.on('participant-joined', _handleParticipantJoined);\n connection?.meeting.on('participant-left', _handleParticipantLeft);\n connection?.meeting.on('chat-message', _handleChatMessage);\n\n return () => {\n connection?.meeting.off('participant-joined', _handleParticipantJoined);\n connection?.meeting.off('participant-left', _handleParticipantLeft);\n connection?.meeting.off('chat-message', _handleChatMessage);\n };\n }, [connection]);\n\n return {\n connection: {\n id: connection.id,\n close: connection.close,\n payload: connection.payload,\n meeting: {\n id: connection.meeting.id,\n sendChatMessage: connection.meeting.sendChatMessage,\n end: connection.meeting.end,\n participants: _connectionParticipants\n }\n }\n };\n};\n\nexport default useConnection;\n","import { useEffect, useRef, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst usePubSub = (\n topic,\n { onMessageReceived = () => {}, onOldMessagesReceived = () => {} } = {}\n) => {\n const { meeting, isMeetingJoined } = useMeeting();\n const [messages, setMessages] = useState([]);\n const isSubscribed = useRef(false);\n const publish = (message, options) => {\n if (meeting) {\n meeting.pubSub.publish(topic, message, options);\n }\n };\n\n const _handlePubSub = data => {\n setMessages(s => [...s, data]);\n onMessageReceived(data);\n };\n\n const subscribeToPubsub = async meeting => {\n const data = await meeting?.pubSub?.subscribe(topic, _handlePubSub);\n if (data) {\n onOldMessagesReceived(data.messages);\n setMessages(data.messages);\n }\n };\n\n useEffect(() => {\n if (meeting && !isSubscribed.current && isMeetingJoined) {\n isSubscribed.current = true;\n subscribeToPubsub(meeting);\n\n return () => {\n meeting?.pubSub?.unsubscribe(topic, _handlePubSub);\n };\n }\n }, [meeting, isMeetingJoined]);\n\n return { publish, messages };\n};\n\nexport default usePubSub;\n","import MeetingProvider from './meeting/MeetingProvider';\nimport {\n MeetingConsumer,\n useMeeting\n} from './meeting/meetingProviderContextDef';\nimport useParticipant from './participant/useParticipant';\nimport useConnection from './connection/useConnection';\nimport usePubSub from './pubSub/usePubSub';\nimport { VideoSDK } from '@videosdk.live/js-sdk';\n\nconst Constants = VideoSDK.Constants;\n\nconst createCameraVideoTrack = async ({\n cameraId = undefined,\n encoderConfig = undefined,\n facingMode = undefined,\n optimizationMode = undefined\n}) => {\n return await VideoSDK.createCameraVideoTrack({\n cameraId,\n encoderConfig,\n facingMode,\n optimizationMode\n });\n};\n\nconst createScreenShareVideoTrack = async ({\n encoderConfig = undefined,\n optimizationMode = undefined\n // withAudio = \"enable\" | \"disable\" | \"auto\"\n}) => {\n return await VideoSDK.createScreenShareVideoTrack({\n encoderConfig,\n optimizationMode\n });\n};\n\nconst createMicrophoneAudioTrack = async ({\n noiseConfig = undefined,\n encoderConfig = undefined,\n microphoneId = undefined\n}) => {\n return await VideoSDK.createMicrophoneAudioTrack({\n noiseConfig,\n encoderConfig,\n microphoneId\n });\n};\n\nexport {\n MeetingProvider,\n useMeeting,\n useParticipant,\n usePubSub,\n MeetingConsumer,\n useConnection,\n Constants,\n createCameraVideoTrack,\n createMicrophoneAudioTrack,\n createScreenShareVideoTrack\n};\n"],"names":["eventPrifix","events","error","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","onConnectionOpen","onConnetionClose","onSwitchMeeting","onError","onHlsStarted","onHlsStopped","onRecordingStateChanged","onLivestreamStateChanged","useEffect","on","off","useContext","MeetingConsumer","children","MeetingProvider","config","token","joinWithoutUserInteraction","_reinitialiseMeetingOnConfigChange","reinitialiseMeetingOnConfigChange","deviceInfo","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","connections","setConnections","isMeetingJoined","setIsMeetingJoined","isHls","setIsHls","recordingState","setRecordingState","livestreamState","setLivestreamState","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","configRef","tokenRef","joinedOnFirstRender","isHlsRef","useMemo","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_hls_started","_handle_hls_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","_handle_connection_open","_handle_connection_close","_handle_switch_meeting","_handle_error","_handle_recording_state_changed","_handle_livestream_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","connection","connectionsToSet","connectionId","newConnections","d","status","join","VideoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","customAudioTrack","undefined","muteMic","toggleMic","disableWebcam","enableWebcam","customVideoTrack","toggleWebcam","disableScreenShare","enableScreenShare","customScreenShareTrack","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","obj","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","connectTo","meetingId","payload","startHls","stopHls","initSDK","analytics","sdkType","sdkVersion","reactSDKVersion","baseUrl","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","setViewPort","width","height","enableMic","disableMic","pin","unpin","switchTo","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant","useConnection","onMeeting","Error","connectionParticipants","_connectionParticipants","setConnectionParticipants","_handleParticipantJoined","_handleParticipantLeft","_handleChatMessage","close","usePubSub","topic","onMessageReceived","onOldMessagesReceived","isSubscribed","publish","message","options","pubSub","_handlePubSub","subscribeToPubsub","subscribe","unsubscribe","Constants","createCameraVideoTrack","cameraId","encoderConfig","facingMode","optimizationMode","createScreenShareVideoTrack","createMicrophoneAudioTrack","noiseConfig","microphoneId"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@videosdk.live/react-sdk",
3
- "version": "0.1.38",
3
+ "version": "0.1.41",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.modern.js",
@@ -69,7 +69,7 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "@videosdk.live/js-sdk": "0.0.37",
72
+ "@videosdk.live/js-sdk": "0.0.40",
73
73
  "events": "^3.3.0"
74
74
  }
75
75
  }