From 31eacea7bce6ba7bd66c2615b1a42d48373380d0 Mon Sep 17 00:00:00 2001 From: legop3 Date: Tue, 30 Jun 2026 20:17:43 -0400 Subject: [PATCH] config reshape --- pi/bin/audio-forward-listener.sh | 70 ++++- pi/bin/audio-only-publisher.sh | 88 ++++-- pi/bin/video-publisher.sh | 40 +-- pi/install_roverd.sh | 34 ++- pi/roverd/cmd/roverd/main.go | 4 +- pi/roverd/config.go | 261 +++++++++++++----- pi/roverd/media_env.go | 75 ++--- pi/roverd/media_supervisor.go | 51 +++- pi/roverd/roverd.sample.yaml | 32 ++- pi/roverd/roverd.yaml | 11 +- pi/systemd/audio-forward-listener.service | 2 +- pi/systemd/audio-only-publisher.service | 2 +- pi/systemd/video-publisher.service | 2 +- .../{index-yGP4eLx4.js => index-DRqsCa1W.js} | 12 +- server/public/assets/index-DRqsCa1W.js.map | 1 + server/public/assets/index-yGP4eLx4.js.map | 1 - server/public/index.html | 2 +- .../services/audioForwardService/policy.js | 5 +- server/src/services/replayEngineV2/sources.js | 9 +- .../src/components/RoverMediaPlayer/index.jsx | 10 +- .../MiniSummaryApp/MiniSummaryContent.jsx | 8 +- 21 files changed, 520 insertions(+), 200 deletions(-) rename server/public/assets/{index-yGP4eLx4.js => index-DRqsCa1W.js} (91%) create mode 100644 server/public/assets/index-DRqsCa1W.js.map delete mode 100644 server/public/assets/index-yGP4eLx4.js.map diff --git a/pi/bin/audio-forward-listener.sh b/pi/bin/audio-forward-listener.sh index c2806165..5d5efd70 100755 --- a/pi/bin/audio-forward-listener.sh +++ b/pi/bin/audio-forward-listener.sh @@ -2,20 +2,70 @@ set -euo pipefail set +H -ENV_FILE="${VIDEO_ENV_FILE:-/var/lib/roverd/video.env}" +ENV_FILE="${ROVERD_MEDIA_ENV_FILE:-/var/lib/roverd/media.env}" if [[ ! -f "$ENV_FILE" ]]; then echo "Environment file ${ENV_FILE} missing; cannot start audio forward listener" >&2 exit 1 fi -# shellcheck disable=SC1090 -source "$ENV_FILE" +# Load KEY=VALUE pairs from media.env without evaluating shell syntax. The +# forward URL is data produced by roverd, and treating it as shell code would +# break on normal SRT query-string characters such as '&'. +load_env_file() { + local content="" -: "${AUDIO_FORWARD_URL:?AUDIO_FORWARD_URL not set in ${ENV_FILE}}" -PLAYBACK_DEVICE="${AUDIO_PLAYBACK_DEVICE:-forward}" -AUDIO_NORMALIZE_ENABLE="${AUDIO_NORMALIZE_ENABLE:-1}" -AUDIO_NORMALIZE_FILTER="${AUDIO_NORMALIZE_FILTER:-dynaudnorm=f=75:g=15:m=10:p=0.9,alimiter=limit=0.85:level=disabled}" + if [[ -r "$ENV_FILE" ]]; then + content="$(cat "$ENV_FILE")" + elif command -v sudo >/dev/null 2>&1; then + content="$(sudo -n cat "$ENV_FILE" 2>/dev/null || true)" + fi + + if [[ -z "$content" ]]; then + echo "Cannot read ${ENV_FILE} (permission denied). Run as a user that can read it, or allow sudo -n for cat." >&2 + exit 1 + fi + + local line key val + while IFS= read -r line || [[ -n "$line" ]]; do + [[ "$line" =~ ^[[:space:]]*$ ]] && continue + [[ "$line" =~ ^[[:space:]]*# ]] && continue + + if [[ "$line" =~ ^[[:space:]]*export[[:space:]]+([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then + key="${BASH_REMATCH[1]}" + val="${BASH_REMATCH[2]}" + elif [[ "$line" =~ ^[[:space:]]*([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then + key="${BASH_REMATCH[1]}" + val="${BASH_REMATCH[2]}" + else + continue + fi + + val="${val#${val%%[![:space:]]*}}" + val="${val%${val##*[![:space:]]}}" + if [[ "$val" =~ ^\".*\"$ ]]; then + val="${val:1:${#val}-2}" + elif [[ "$val" =~ ^\'.*\'$ ]]; then + val="${val:1:${#val}-2}" + fi + + printf -v "$key" '%s' "$val" + export "$key" + done <<< "$content" +} + +load_env_file + +: "${ROVERD_AUDIO_PLAYBACK_ENABLE:?ROVERD_AUDIO_PLAYBACK_ENABLE not set in ${ENV_FILE}}" +if [[ "${ROVERD_AUDIO_PLAYBACK_ENABLE}" -ne 1 ]]; then + echo "Audio playback disabled by roverd media config; skipping audio forward listener" >&2 + exit 0 +fi +: "${ROVERD_AUDIO_PLAYBACK_FORWARD_URL:?ROVERD_AUDIO_PLAYBACK_FORWARD_URL not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_PLAYBACK_DEVICE:?ROVERD_AUDIO_PLAYBACK_DEVICE not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_PLAYBACK_NORMALIZE:?ROVERD_AUDIO_PLAYBACK_NORMALIZE not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_PLAYBACK_NORMALIZE_FILTER:?ROVERD_AUDIO_PLAYBACK_NORMALIZE_FILTER not set in ${ENV_FILE}}" +PLAYBACK_DEVICE="${ROVERD_AUDIO_PLAYBACK_DEVICE}" if [[ -n "${FFMPEG_BIN:-}" ]]; then FFMPEG_BIN_PATH="$FFMPEG_BIN" @@ -45,12 +95,12 @@ run_pipeline() { -flags low_delay -analyzeduration 200k -probesize 32k - -i "${AUDIO_FORWARD_URL}" + -i "${ROVERD_AUDIO_PLAYBACK_FORWARD_URL}" -vn ) - if [[ "${AUDIO_NORMALIZE_ENABLE}" -ne 0 ]]; then - ffmpeg_args+=(-af "${AUDIO_NORMALIZE_FILTER}") + if [[ "${ROVERD_AUDIO_PLAYBACK_NORMALIZE}" -ne 0 ]]; then + ffmpeg_args+=(-af "${ROVERD_AUDIO_PLAYBACK_NORMALIZE_FILTER}") fi ffmpeg_args+=( diff --git a/pi/bin/audio-only-publisher.sh b/pi/bin/audio-only-publisher.sh index 66856b20..0c0af0e6 100644 --- a/pi/bin/audio-only-publisher.sh +++ b/pi/bin/audio-only-publisher.sh @@ -2,26 +2,74 @@ set -euo pipefail set +H -ENV_FILE="${VIDEO_ENV_FILE:-/var/lib/roverd/video.env}" +ENV_FILE="${ROVERD_MEDIA_ENV_FILE:-/var/lib/roverd/media.env}" if [[ ! -f "$ENV_FILE" ]]; then echo "Environment file ${ENV_FILE} missing; cannot publish audio" >&2 exit 1 fi -# shellcheck disable=SC1090 -source "$ENV_FILE" -AUDIO_ENABLE="${AUDIO_ENABLE:-0}" -if [[ "${AUDIO_ENABLE}" -ne 1 ]]; then +# Load KEY=VALUE pairs from media.env without evaluating shell syntax. SRT URLs +# contain characters such as '&' and '#!', so sourcing this file would treat a +# data file as code and can split a valid URL into shell control operators. +load_env_file() { + local content="" + + if [[ -r "$ENV_FILE" ]]; then + content="$(cat "$ENV_FILE")" + elif command -v sudo >/dev/null 2>&1; then + content="$(sudo -n cat "$ENV_FILE" 2>/dev/null || true)" + fi + + if [[ -z "$content" ]]; then + echo "Cannot read ${ENV_FILE} (permission denied). Run as a user that can read it, or allow sudo -n for cat." >&2 + exit 1 + fi + + local line key val + while IFS= read -r line || [[ -n "$line" ]]; do + [[ "$line" =~ ^[[:space:]]*$ ]] && continue + [[ "$line" =~ ^[[:space:]]*# ]] && continue + + if [[ "$line" =~ ^[[:space:]]*export[[:space:]]+([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then + key="${BASH_REMATCH[1]}" + val="${BASH_REMATCH[2]}" + elif [[ "$line" =~ ^[[:space:]]*([A-Za-z_][A-Za-z0-9_]*)=(.*)$ ]]; then + key="${BASH_REMATCH[1]}" + val="${BASH_REMATCH[2]}" + else + continue + fi + + val="${val#${val%%[![:space:]]*}}" + val="${val%${val##*[![:space:]]}}" + if [[ "$val" =~ ^\".*\"$ ]]; then + val="${val:1:${#val}-2}" + elif [[ "$val" =~ ^\'.*\'$ ]]; then + val="${val:1:${#val}-2}" + fi + + printf -v "$key" '%s' "$val" + export "$key" + done <<< "$content" +} + +load_env_file +: "${ROVERD_AUDIO_CAPTURE_ENABLE:?ROVERD_AUDIO_CAPTURE_ENABLE not set in ${ENV_FILE}}" +if [[ "${ROVERD_AUDIO_CAPTURE_ENABLE}" -ne 1 ]]; then echo "Audio capture disabled; skipping audio-only publisher" >&2 exit 0 fi -: "${AUDIO_PUBLISH_URL:?AUDIO_PUBLISH_URL not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_CAPTURE_PUBLISH_URL:?ROVERD_AUDIO_CAPTURE_PUBLISH_URL not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_CAPTURE_DEVICE:?ROVERD_AUDIO_CAPTURE_DEVICE not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_CAPTURE_SAMPLE_RATE:?ROVERD_AUDIO_CAPTURE_SAMPLE_RATE not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_CAPTURE_CHANNELS:?ROVERD_AUDIO_CAPTURE_CHANNELS not set in ${ENV_FILE}}" +: "${ROVERD_AUDIO_CAPTURE_BITRATE:?ROVERD_AUDIO_CAPTURE_BITRATE not set in ${ENV_FILE}}" -AUDIO_DEVICE="${AUDIO_DEVICE:-hw:0,0}" +CAPTURE_DEVICE="${ROVERD_AUDIO_CAPTURE_DEVICE}" -# The old 65,536-byte ALSA buffer represented about 171 ms before ffmpeg could -# even publish the microphone audio: +# At the default 48 kHz stereo S32_LE capture format, the old 65,536-byte ALSA +# buffer represented about 171 ms before ffmpeg could publish microphone audio: # 65,536 / (48,000 samples * 2 channels * 4 bytes) = 0.1707 seconds # Keep the defaults much smaller because this publisher feeds an interactive # rover stream, where late-but-smooth audio is less useful than fresher audio. @@ -51,8 +99,8 @@ run_pipeline() { # format and so the published audio stays full-band stereo before the # Opus encoder sees it. -f s32le - -ar 48000 - -ac 2 + -ar "${ROVERD_AUDIO_CAPTURE_SAMPLE_RATE}" + -ac "${ROVERD_AUDIO_CAPTURE_CHANNELS}" -i pipe:0 # Keep the known-required microphone boost, but remove the old @@ -64,9 +112,9 @@ run_pipeline() { # the highest practical quality browsers and MediaMTX can carry without # trying to push raw PCM through the live path. -c:a libopus - -b:a 510000 - -ar:a 48000 - -ac:a 2 + -b:a "${ROVERD_AUDIO_CAPTURE_BITRATE}" + -ar:a "${ROVERD_AUDIO_CAPTURE_SAMPLE_RATE}" + -ac:a "${ROVERD_AUDIO_CAPTURE_CHANNELS}" # Use the audio profile for quality. Latency is still controlled by the # 20 ms Opus frame size and the low-buffering capture/publish options @@ -82,13 +130,13 @@ run_pipeline() { -muxdelay 0 -muxpreload 0 -f mpegts - "${AUDIO_PUBLISH_URL}" + "${ROVERD_AUDIO_CAPTURE_PUBLISH_URL}" ) - # The Google Voice HAT microphone path is intentionally fixed instead of - # configurable. The previous env-driven sample rate/channel knobs made it - # easy for the rover config and the actual ffmpeg pipeline to drift apart, - # while the hardware path we install is always 48 kHz stereo capture. + # The capture format comes from roverd's normalized media config. Keeping + # arecord and ffmpeg on the same env-backed values prevents the publisher + # script from quietly disagreeing with roverd.yaml about sample rate or + # channel count. # # The buffer and period are byte counts because arecord interprets -B/-F in # microseconds only when the value has an explicit time suffix. Keeping them @@ -96,7 +144,7 @@ run_pipeline() { # defaults are roughly 43 ms total buffer and 2.7 ms wakeup periods at # 48 kHz stereo S32_LE, which removes about 128 ms of avoidable capture # latency compared with the old 65,536-byte buffer. - arecord -D "${AUDIO_DEVICE}" -f S32_LE -c 2 -r 48000 -B "${AUDIO_ALSA_BUFFER_BYTES}" -F "${AUDIO_ALSA_PERIOD_BYTES}" -q -t raw \ + arecord -D "${CAPTURE_DEVICE}" -f S32_LE -c "${ROVERD_AUDIO_CAPTURE_CHANNELS}" -r "${ROVERD_AUDIO_CAPTURE_SAMPLE_RATE}" -B "${AUDIO_ALSA_BUFFER_BYTES}" -F "${AUDIO_ALSA_PERIOD_BYTES}" -q -t raw \ | "${FFMPEG_BIN_PATH}" "${ffmpeg_args[@]}" } diff --git a/pi/bin/video-publisher.sh b/pi/bin/video-publisher.sh index 821dd013..ec5ba823 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -4,7 +4,7 @@ set -euo pipefail # Keep history expansion off so values containing "!" are safe. set +H -ENV_FILE="${VIDEO_ENV_FILE:-/var/lib/roverd/video.env}" +ENV_FILE="${ROVERD_MEDIA_ENV_FILE:-/var/lib/roverd/media.env}" if [[ ! -f "$ENV_FILE" ]]; then echo "Environment file ${ENV_FILE} missing; cannot publish" >&2 @@ -64,25 +64,29 @@ load_env_file() { } load_env_file -: "${PUBLISH_URL:?PUBLISH_URL not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_ENABLE:?ROVERD_VIDEO_ENABLE not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_PUBLISH_URL:?ROVERD_VIDEO_PUBLISH_URL not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_WIDTH:?ROVERD_VIDEO_WIDTH not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_HEIGHT:?ROVERD_VIDEO_HEIGHT not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_FPS:?ROVERD_VIDEO_FPS not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_BITRATE:?ROVERD_VIDEO_BITRATE not set in ${ENV_FILE}}" +: "${ROVERD_VIDEO_INVERT:?ROVERD_VIDEO_INVERT not set in ${ENV_FILE}}" -# Defaults tuned for OV5647: use 4:3 output and force the common 2x2 binned full-FOV mode. -VIDEO_WIDTH="640" -VIDEO_HEIGHT="480" -VIDEO_FPS="30" -VIDEO_BITRATE="${VIDEO_BITRATE:-3000000}" -VIDEO_INVERT="${VIDEO_INVERT:-1}" -VIDEO_SENSOR_MODE="${VIDEO_SENSOR_MODE:-1296:972}" +if [[ "${ROVERD_VIDEO_ENABLE}" -ne 1 ]]; then + echo "Video publisher disabled by roverd media config; skipping" >&2 + exit 0 +fi -# Flip the camera 180deg by default; allow upright camera mounts via VIDEO_INVERT=0. +# The inversion decision is made in roverd.yaml and written into media.env, so +# this script only converts the configured logical value into libcamera flags. FLIP_ARGS=() -if [[ "${VIDEO_INVERT}" -ne 0 ]]; then +if [[ "${ROVERD_VIDEO_INVERT}" -ne 0 ]]; then FLIP_ARGS=(--rotation 180) fi MODE_ARGS=() -if [[ -n "${VIDEO_SENSOR_MODE}" ]]; then - MODE_ARGS=(--mode "${VIDEO_SENSOR_MODE}") +if [[ -n "${ROVERD_VIDEO_SENSOR_MODE:-}" ]]; then + MODE_ARGS=(--mode "${ROVERD_VIDEO_SENSOR_MODE}") fi if [[ -n "${LIBCAMERA_BIN:-}" ]]; then @@ -110,11 +114,11 @@ run_pipeline() { --inline \ --timeout 0 \ "${MODE_ARGS[@]}" \ - --width "${VIDEO_WIDTH}" \ - --height "${VIDEO_HEIGHT}" \ + --width "${ROVERD_VIDEO_WIDTH}" \ + --height "${ROVERD_VIDEO_HEIGHT}" \ "${FLIP_ARGS[@]}" \ - --framerate "${VIDEO_FPS}" \ - --bitrate "${VIDEO_BITRATE}" \ + --framerate "${ROVERD_VIDEO_FPS}" \ + --bitrate "${ROVERD_VIDEO_BITRATE}" \ --codec h264 \ --profile baseline \ --denoise auto \ @@ -138,7 +142,7 @@ run_pipeline() { -muxdelay 0 \ -muxpreload 0 \ -f mpegts \ - "${PUBLISH_URL}" + "${ROVERD_VIDEO_PUBLISH_URL}" } while true; do diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index dd6b0db9..27a71770 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -312,18 +312,32 @@ install -D -o root -g root -m 0755 pi/bin/audio-forward-listener.sh /usr/local/b install -m 0644 pi/systemd/audio-forward-listener.service /etc/systemd/system/audio-forward-listener.service log "Installed audio-forward listener helper + systemd unit" install -d -o roverd -g roverd /var/lib/roverd -cat > /var/lib/roverd/video.env <<'ENV' +cat > /var/lib/roverd/media.env <<'ENV' # Managed by roverd; placeholder values will be overwritten at runtime. -PUBLISH_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 -AUDIO_PUBLISH_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME-audio,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 -AUDIO_FORWARD_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME-fwd,m=request&latency=10&mode=caller&transtype=live&pkt_size=1316 -VIDEO_BITRATE=2000000 -AUDIO_ENABLE=0 -AUDIO_DEVICE=hw:0,0 -AUDIO_PLAYBACK_DEVICE=forward +ROVERD_VIDEO_ENABLE=1 +ROVERD_VIDEO_PUBLISHER=pi-libcamera +ROVERD_VIDEO_PUBLISH_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 +ROVERD_VIDEO_DEVICE= +ROVERD_VIDEO_WIDTH=640 +ROVERD_VIDEO_HEIGHT=480 +ROVERD_VIDEO_FPS=30 +ROVERD_VIDEO_BITRATE=2000000 +ROVERD_VIDEO_INVERT=1 +ROVERD_VIDEO_SENSOR_MODE=1296:972 +ROVERD_AUDIO_CAPTURE_ENABLE=0 +ROVERD_AUDIO_CAPTURE_PUBLISH_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME-audio,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 +ROVERD_AUDIO_CAPTURE_DEVICE=hw:0,0 +ROVERD_AUDIO_CAPTURE_SAMPLE_RATE=48000 +ROVERD_AUDIO_CAPTURE_CHANNELS=2 +ROVERD_AUDIO_CAPTURE_BITRATE=510000 +ROVERD_AUDIO_PLAYBACK_ENABLE=1 +ROVERD_AUDIO_PLAYBACK_FORWARD_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME-fwd,m=request&latency=10&mode=caller&transtype=live&pkt_size=1316 +ROVERD_AUDIO_PLAYBACK_DEVICE=forward +ROVERD_AUDIO_PLAYBACK_NORMALIZE=1 +ROVERD_AUDIO_PLAYBACK_NORMALIZE_FILTER=dynaudnorm=f=75:g=15:m=10:p=0.9,alimiter=limit=0.85:level=disabled ENV -chown roverd:roverd /var/lib/roverd/video.env -chmod 0640 /var/lib/roverd/video.env +chown roverd:roverd /var/lib/roverd/media.env +chmod 0640 /var/lib/roverd/media.env # Create persistent audio FIFO for capture -> publisher FIFO_PATH="/var/lib/roverd/audio.pcm" if [[ -p "$FIFO_PATH" ]]; then diff --git a/pi/roverd/cmd/roverd/main.go b/pi/roverd/cmd/roverd/main.go index e398b30f..221de8b9 100644 --- a/pi/roverd/cmd/roverd/main.go +++ b/pi/roverd/cmd/roverd/main.go @@ -21,7 +21,7 @@ func main() { if err != nil { log.Fatalf("load config: %v", err) } - if err := roverd.UpdatePublisherEnv(cfg.Media, cfg.Audio); err != nil { + if err := roverd.UpdatePublisherEnv(cfg.Media); err != nil { log.Fatalf("prepare media env: %v", err) } @@ -55,7 +55,7 @@ func main() { adapter := roverd.NewSerialAdapter(serialPort, logger) - mediaSupervisor := roverd.NewMediaSupervisor(cfg.Media, cfg.Audio, logger) + mediaSupervisor := roverd.NewMediaSupervisor(cfg.Media, logger) if mediaSupervisor != nil { mediaSupervisor.Start(ctx) } diff --git a/pi/roverd/config.go b/pi/roverd/config.go index b0526499..caf1b153 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -56,13 +56,13 @@ type BatteryConfig struct { } type AudioConfig struct { - CaptureEnabled bool `yaml:"captureEnabled" json:"captureEnabled"` - CaptureDevice string `yaml:"captureDevice" json:"captureDevice,omitempty"` - PlaybackDevice string `yaml:"playbackDevice" json:"playbackDevice,omitempty"` - TTSEnabled bool `yaml:"ttsEnabled" json:"ttsEnabled"` - DefaultEngine string `yaml:"defaultEngine" json:"defaultEngine,omitempty"` - DefaultVoice string `yaml:"defaultVoice" json:"defaultVoice,omitempty"` - DefaultPitch int `yaml:"defaultPitch" json:"defaultPitch,omitempty"` + // AudioConfig is only for sounds generated by roverd itself. Live capture + // and playback are media-publisher concerns, so those settings live under + // MediaConfig where they can be written directly into media.env. + TTSEnabled bool `yaml:"ttsEnabled" json:"ttsEnabled"` + DefaultEngine string `yaml:"defaultEngine" json:"defaultEngine,omitempty"` + DefaultVoice string `yaml:"defaultVoice" json:"defaultVoice,omitempty"` + DefaultPitch int `yaml:"defaultPitch" json:"defaultPitch,omitempty"` } type HornConfig struct { @@ -77,21 +77,59 @@ type HornConfig struct { } type MediaConfig struct { - PublishURL string `yaml:"publishUrl" json:"publishUrl,omitempty"` - AudioPublishURL string `yaml:"audioPublishUrl" json:"audioPublishUrl,omitempty"` - AudioForwardURL string `yaml:"audioForwardUrl" json:"audioForwardUrl,omitempty"` - PublishPort int `yaml:"publishPort" json:"-"` - CameraInverted bool `yaml:"cameraInverted" json:"-"` - Manage bool `yaml:"manage"` - ManageAudio bool `yaml:"manageAudio"` - Service string `yaml:"service"` - AudioService string `yaml:"audioService"` - HealthURL string `yaml:"healthUrl"` - HealthInterval Duration `yaml:"healthInterval"` - VideoWidth int `yaml:"videoWidth" json:"-"` - VideoHeight int `yaml:"videoHeight" json:"-"` - VideoFPS int `yaml:"videoFps" json:"-"` - VideoBitrate int `yaml:"videoBitrate" json:"-"` + // PublishPort is shared by the derived video, microphone, and forwarded-audio + // SRT URLs. Keeping it at this level prevents each nested block from needing + // to repeat the same server port when the common MediaMTX listener is used. + PublishPort int `yaml:"publishPort" json:"-"` + Manage bool `yaml:"manage" json:"manage"` + HealthURL string `yaml:"healthUrl" json:"healthUrl,omitempty"` + HealthInterval Duration `yaml:"healthInterval" json:"-"` + Video VideoMediaConfig `yaml:"video" json:"video"` + AudioCapture AudioCaptureConfig `yaml:"audioCapture" json:"audioCapture"` + AudioPlayback AudioPlaybackConfig `yaml:"audioPlayback" json:"audioPlayback"` +} + +type VideoMediaConfig struct { + // Publisher selects the installed publisher script/pipeline family. The + // first pass uses pi-libcamera for current rovers; laptop-v4l2 can be added + // without changing the server-facing media shape again. + Enabled bool `yaml:"enabled" json:"enabled"` + Service string `yaml:"service" json:"service,omitempty"` + Publisher string `yaml:"publisher" json:"publisher,omitempty"` + PublishURL string `yaml:"publishUrl" json:"publishUrl,omitempty"` + Device string `yaml:"device" json:"device,omitempty"` + Width int `yaml:"width" json:"-"` + Height int `yaml:"height" json:"-"` + FPS int `yaml:"fps" json:"-"` + Bitrate int `yaml:"bitrate" json:"-"` + Inverted bool `yaml:"inverted" json:"-"` + SensorMode string `yaml:"sensorMode" json:"-"` +} + +type AudioCaptureConfig struct { + // AudioCapture describes the rover microphone stream that browsers can + // subscribe to as "-audio". A disabled capture block still has + // normalized defaults so enabling it only requires flipping enabled: true. + Enabled bool `yaml:"enabled" json:"enabled"` + Service string `yaml:"service" json:"service,omitempty"` + PublishURL string `yaml:"publishUrl" json:"publishUrl,omitempty"` + Device string `yaml:"device" json:"device,omitempty"` + SampleRate int `yaml:"sampleRate" json:"-"` + Channels int `yaml:"channels" json:"-"` + Bitrate int `yaml:"bitrate" json:"-"` +} + +type AudioPlaybackConfig struct { + // AudioPlayback describes the reverse stream that VIP users publish into + // MediaMTX for playback on the rover speaker. The URL is a request/read URL + // for the rover listener, while the server converts it to publish mode when + // it needs to inject audio. + Enabled bool `yaml:"enabled" json:"enabled"` + Service string `yaml:"service" json:"service,omitempty"` + ForwardURL string `yaml:"forwardUrl" json:"forwardUrl,omitempty"` + Device string `yaml:"device" json:"device,omitempty"` + Normalize bool `yaml:"normalize" json:"-"` + NormalizeFilter string `yaml:"normalizeFilter" json:"-"` } type CameraServoConfig struct { @@ -189,9 +227,33 @@ func LoadConfig(path string) (*Config, error) { }, Media: MediaConfig{ PublishPort: 9000, - CameraInverted: true, HealthInterval: Duration{Duration: 30 * time.Second}, - VideoBitrate: 2000000, + Video: VideoMediaConfig{ + Enabled: true, + Service: "video-publisher.service", + Publisher: "pi-libcamera", + Width: 640, + Height: 480, + FPS: 30, + Bitrate: 2000000, + Inverted: true, + SensorMode: "1296:972", + }, + AudioCapture: AudioCaptureConfig{ + Enabled: false, + Service: "audio-only-publisher.service", + Device: "hw:0,0", + SampleRate: 48000, + Channels: 2, + Bitrate: 510000, + }, + AudioPlayback: AudioPlaybackConfig{ + Enabled: true, + Service: "audio-forward-listener.service", + Device: "forward", + Normalize: true, + NormalizeFilter: "dynaudnorm=f=75:g=15:m=10:p=0.9,alimiter=limit=0.85:level=disabled", + }, }, CameraServo: CameraServoConfig{ Pin: 12, @@ -205,13 +267,10 @@ func LoadConfig(path string) (*Config, error) { NudgeDegrees: 2, }, Audio: AudioConfig{ - CaptureEnabled: false, - CaptureDevice: "rovermic", - PlaybackDevice: "forward", - TTSEnabled: false, - DefaultEngine: "flite", - DefaultVoice: "rms", - DefaultPitch: 50, + TTSEnabled: false, + DefaultEngine: "flite", + DefaultVoice: "rms", + DefaultPitch: 50, }, Horn: HornConfig{ Enabled: false, @@ -283,38 +342,11 @@ func LoadConfig(path string) (*Config, error) { if cfg.BRC.GPIOChip == "" { cfg.BRC.GPIOChip = "gpiochip0" } - if cfg.Media.Manage && cfg.Media.Service == "" { - return nil, errors.New("media.manage requires media.service") - } - if cfg.Media.Manage && cfg.Media.HealthInterval.Duration <= 0 { - cfg.Media.HealthInterval = Duration{Duration: 30 * time.Second} - } - if cfg.Media.VideoBitrate <= 0 { - cfg.Media.VideoBitrate = 3000000 - } if cfg.Media.PublishPort <= 0 { cfg.Media.PublishPort = 9000 } - if cfg.Media.PublishURL == "" { - derived, err := derivePublishURL(cfg.ServerURL, cfg.Name, cfg.Media.PublishPort) - if err != nil { - return nil, fmt.Errorf("derive publishUrl: %w", err) - } - cfg.Media.PublishURL = derived - } - if cfg.Media.AudioPublishURL == "" { - derived, err := derivePublishURL(cfg.ServerURL, cfg.Name+"-audio", cfg.Media.PublishPort) - if err != nil { - return nil, fmt.Errorf("derive audioPublishUrl: %w", err) - } - cfg.Media.AudioPublishURL = derived - } - if cfg.Media.AudioForwardURL == "" { - derived, err := deriveReadURL(cfg.ServerURL, cfg.Name+"-fwd", cfg.Media.PublishPort) - if err != nil { - return nil, fmt.Errorf("derive audioForwardUrl: %w", err) - } - cfg.Media.AudioForwardURL = derived + if err := validateMediaConfig(&cfg.Media, cfg.ServerURL, cfg.Name); err != nil { + return nil, fmt.Errorf("media: %w", err) } if err := validateServoConfig(&cfg.CameraServo); err != nil { return nil, fmt.Errorf("cameraServo: %w", err) @@ -375,12 +407,6 @@ func clampFloat(value, min, max float64) float64 { } func validateAudioConfig(cfg *AudioConfig) { - if cfg.CaptureEnabled && cfg.CaptureDevice == "" { - cfg.CaptureDevice = "hw:0,0" - } - if cfg.PlaybackDevice == "" || cfg.PlaybackDevice == "default" { - cfg.PlaybackDevice = "forward" - } if cfg.DefaultEngine == "" { cfg.DefaultEngine = "flite" } @@ -392,6 +418,109 @@ func validateAudioConfig(cfg *AudioConfig) { } } +func validateMediaConfig(cfg *MediaConfig, serverURL string, roverName string) error { + /* + The nested media config is the source of truth for the publisher scripts, + so defaults that used to live in shell are normalized here before any env + file is written. This keeps the Pi behavior stable while making laptop + and future publisher variants explicit configuration choices. + */ + if cfg.PublishPort <= 0 { + cfg.PublishPort = 9000 + } + if cfg.HealthInterval.Duration <= 0 { + cfg.HealthInterval = Duration{Duration: 30 * time.Second} + } + if err := validateVideoMediaConfig(&cfg.Video, serverURL, roverName, cfg.PublishPort); err != nil { + return fmt.Errorf("video: %w", err) + } + if err := validateAudioCaptureConfig(&cfg.AudioCapture, serverURL, roverName, cfg.PublishPort); err != nil { + return fmt.Errorf("audioCapture: %w", err) + } + if err := validateAudioPlaybackConfig(&cfg.AudioPlayback, serverURL, roverName, cfg.PublishPort); err != nil { + return fmt.Errorf("audioPlayback: %w", err) + } + return nil +} + +func validateVideoMediaConfig(cfg *VideoMediaConfig, serverURL string, roverName string, publishPort int) error { + if cfg.Service == "" { + cfg.Service = "video-publisher.service" + } + if cfg.Publisher == "" { + cfg.Publisher = "pi-libcamera" + } + if cfg.Width <= 0 { + cfg.Width = 640 + } + if cfg.Height <= 0 { + cfg.Height = 480 + } + if cfg.FPS <= 0 { + cfg.FPS = 30 + } + if cfg.Bitrate <= 0 { + cfg.Bitrate = 2000000 + } + if cfg.SensorMode == "" && cfg.Publisher == "pi-libcamera" { + cfg.SensorMode = "1296:972" + } + if cfg.PublishURL == "" { + derived, err := derivePublishURL(serverURL, roverName, publishPort) + if err != nil { + return fmt.Errorf("derive publishUrl: %w", err) + } + cfg.PublishURL = derived + } + return nil +} + +func validateAudioCaptureConfig(cfg *AudioCaptureConfig, serverURL string, roverName string, publishPort int) error { + if cfg.Service == "" { + cfg.Service = "audio-only-publisher.service" + } + if cfg.Device == "" { + cfg.Device = "hw:0,0" + } + if cfg.SampleRate <= 0 { + cfg.SampleRate = 48000 + } + if cfg.Channels <= 0 { + cfg.Channels = 2 + } + if cfg.Bitrate <= 0 { + cfg.Bitrate = 510000 + } + if cfg.PublishURL == "" { + derived, err := derivePublishURL(serverURL, roverName+"-audio", publishPort) + if err != nil { + return fmt.Errorf("derive publishUrl: %w", err) + } + cfg.PublishURL = derived + } + return nil +} + +func validateAudioPlaybackConfig(cfg *AudioPlaybackConfig, serverURL string, roverName string, publishPort int) error { + if cfg.Service == "" { + cfg.Service = "audio-forward-listener.service" + } + if cfg.Device == "" { + cfg.Device = "forward" + } + if cfg.NormalizeFilter == "" { + cfg.NormalizeFilter = "dynaudnorm=f=75:g=15:m=10:p=0.9,alimiter=limit=0.85:level=disabled" + } + if cfg.ForwardURL == "" { + derived, err := deriveReadURL(serverURL, roverName+"-fwd", publishPort) + if err != nil { + return fmt.Errorf("derive forwardUrl: %w", err) + } + cfg.ForwardURL = derived + } + return nil +} + func validateHornConfig(cfg *HornConfig) { if cfg.Volume <= 0 { cfg.Volume = 0.25 diff --git a/pi/roverd/media_env.go b/pi/roverd/media_env.go index 4e3a2abb..81b35eae 100644 --- a/pi/roverd/media_env.go +++ b/pi/roverd/media_env.go @@ -7,51 +7,52 @@ import ( "path/filepath" ) -const publisherEnvPath = "/var/lib/roverd/video.env" +const publisherEnvPath = "/var/lib/roverd/media.env" -func UpdatePublisherEnv(media MediaConfig, audio AudioConfig) error { - if media.PublishURL == "" { - return fmt.Errorf("media publishUrl missing") +func UpdatePublisherEnv(media MediaConfig) error { + if media.Video.Enabled && media.Video.PublishURL == "" { + return fmt.Errorf("media video publishUrl missing") } - if media.AudioPublishURL == "" && audio.CaptureEnabled { - return fmt.Errorf("audio publishUrl missing") + if media.AudioCapture.Enabled && media.AudioCapture.PublishURL == "" { + return fmt.Errorf("media audioCapture publishUrl missing") } - if media.VideoWidth < 0 || media.VideoHeight < 0 || media.VideoFPS < 0 || media.VideoBitrate <= 0 { - return fmt.Errorf("invalid media dimensions/bitrate") + if media.AudioPlayback.Enabled && media.AudioPlayback.ForwardURL == "" { + return fmt.Errorf("media audioPlayback forwardUrl missing") + } + if media.Video.Width <= 0 || media.Video.Height <= 0 || media.Video.FPS <= 0 || media.Video.Bitrate <= 0 { + return fmt.Errorf("invalid media video dimensions/bitrate") } if err := os.MkdirAll(filepath.Dir(publisherEnvPath), 0o755); err != nil { return err } var buf bytes.Buffer - fmt.Fprintf(&buf, "PUBLISH_URL=%s\n", media.PublishURL) - if audio.CaptureEnabled && media.AudioPublishURL != "" { - fmt.Fprintf(&buf, "AUDIO_PUBLISH_URL=%s\n", media.AudioPublishURL) - } - if media.AudioForwardURL != "" { - fmt.Fprintf(&buf, "AUDIO_FORWARD_URL=%s\n", media.AudioForwardURL) - } - if media.VideoWidth > 0 { - fmt.Fprintf(&buf, "VIDEO_WIDTH=%d\n", media.VideoWidth) - } - if media.VideoHeight > 0 { - fmt.Fprintf(&buf, "VIDEO_HEIGHT=%d\n", media.VideoHeight) - } - if media.VideoFPS > 0 { - fmt.Fprintf(&buf, "VIDEO_FPS=%d\n", media.VideoFPS) - } - fmt.Fprintf(&buf, "VIDEO_BITRATE=%d\n", media.VideoBitrate) - fmt.Fprintf(&buf, "VIDEO_INVERT=%d\n", boolToInt(media.CameraInverted)) - audioDevice := audio.CaptureDevice - if audioDevice == "" || audioDevice == "rovermic" { - audioDevice = "hw:0,0" - } - fmt.Fprintf(&buf, "AUDIO_ENABLE=%d\n", boolToInt(audio.CaptureEnabled)) - fmt.Fprintf(&buf, "AUDIO_DEVICE=%s\n", audioDevice) - playbackDevice := audio.PlaybackDevice - if playbackDevice == "" { - playbackDevice = "forward" - } - fmt.Fprintf(&buf, "AUDIO_PLAYBACK_DEVICE=%s\n", playbackDevice) + /* + The env file is intentionally verbose: every publisher receives concrete + values instead of silently falling back to script-local defaults. That + makes roverd.yaml the owner of media behavior while keeping the shell + scripts as small pipeline launchers. + */ + fmt.Fprintf(&buf, "ROVERD_VIDEO_ENABLE=%d\n", boolToInt(media.Video.Enabled)) + fmt.Fprintf(&buf, "ROVERD_VIDEO_PUBLISHER=%s\n", media.Video.Publisher) + fmt.Fprintf(&buf, "ROVERD_VIDEO_PUBLISH_URL=%s\n", media.Video.PublishURL) + fmt.Fprintf(&buf, "ROVERD_VIDEO_DEVICE=%s\n", media.Video.Device) + fmt.Fprintf(&buf, "ROVERD_VIDEO_WIDTH=%d\n", media.Video.Width) + fmt.Fprintf(&buf, "ROVERD_VIDEO_HEIGHT=%d\n", media.Video.Height) + fmt.Fprintf(&buf, "ROVERD_VIDEO_FPS=%d\n", media.Video.FPS) + fmt.Fprintf(&buf, "ROVERD_VIDEO_BITRATE=%d\n", media.Video.Bitrate) + fmt.Fprintf(&buf, "ROVERD_VIDEO_INVERT=%d\n", boolToInt(media.Video.Inverted)) + fmt.Fprintf(&buf, "ROVERD_VIDEO_SENSOR_MODE=%s\n", media.Video.SensorMode) + fmt.Fprintf(&buf, "ROVERD_AUDIO_CAPTURE_ENABLE=%d\n", boolToInt(media.AudioCapture.Enabled)) + fmt.Fprintf(&buf, "ROVERD_AUDIO_CAPTURE_PUBLISH_URL=%s\n", media.AudioCapture.PublishURL) + fmt.Fprintf(&buf, "ROVERD_AUDIO_CAPTURE_DEVICE=%s\n", media.AudioCapture.Device) + fmt.Fprintf(&buf, "ROVERD_AUDIO_CAPTURE_SAMPLE_RATE=%d\n", media.AudioCapture.SampleRate) + fmt.Fprintf(&buf, "ROVERD_AUDIO_CAPTURE_CHANNELS=%d\n", media.AudioCapture.Channels) + fmt.Fprintf(&buf, "ROVERD_AUDIO_CAPTURE_BITRATE=%d\n", media.AudioCapture.Bitrate) + fmt.Fprintf(&buf, "ROVERD_AUDIO_PLAYBACK_ENABLE=%d\n", boolToInt(media.AudioPlayback.Enabled)) + fmt.Fprintf(&buf, "ROVERD_AUDIO_PLAYBACK_FORWARD_URL=%s\n", media.AudioPlayback.ForwardURL) + fmt.Fprintf(&buf, "ROVERD_AUDIO_PLAYBACK_DEVICE=%s\n", media.AudioPlayback.Device) + fmt.Fprintf(&buf, "ROVERD_AUDIO_PLAYBACK_NORMALIZE=%d\n", boolToInt(media.AudioPlayback.Normalize)) + fmt.Fprintf(&buf, "ROVERD_AUDIO_PLAYBACK_NORMALIZE_FILTER=%s\n", media.AudioPlayback.NormalizeFilter) if err := os.WriteFile(publisherEnvPath, buf.Bytes(), 0o640); err != nil { return err } diff --git a/pi/roverd/media_supervisor.go b/pi/roverd/media_supervisor.go index 88c0a71e..6e725dd1 100644 --- a/pi/roverd/media_supervisor.go +++ b/pi/roverd/media_supervisor.go @@ -13,17 +13,16 @@ import ( type MediaSupervisor struct { cfg MediaConfig - audio AudioConfig logger *log.Logger client *http.Client checkInterval time.Duration } -func NewMediaSupervisor(cfg MediaConfig, audio AudioConfig, logger *log.Logger) *MediaSupervisor { - if err := UpdatePublisherEnv(cfg, audio); err != nil { +func NewMediaSupervisor(cfg MediaConfig, logger *log.Logger) *MediaSupervisor { + if err := UpdatePublisherEnv(cfg); err != nil { logger.Printf("media supervisor: update env failed: %v", err) } - if !cfg.Manage || cfg.Service == "" { + if !cfg.Manage { return nil } interval := cfg.HealthInterval.Duration @@ -36,7 +35,6 @@ func NewMediaSupervisor(cfg MediaConfig, audio AudioConfig, logger *log.Logger) } return &MediaSupervisor{ cfg: cfg, - audio: audio, logger: logger, client: client, checkInterval: interval, @@ -47,7 +45,7 @@ func (m *MediaSupervisor) Start(ctx context.Context) { if m == nil { return } - if err := UpdatePublisherEnv(m.cfg, m.audio); err != nil { + if err := UpdatePublisherEnv(m.cfg); err != nil { m.logger.Printf("media supervisor: update env failed: %v", err) } if m.cfg.HealthURL == "" || m.client == nil { @@ -78,7 +76,7 @@ func (m *MediaSupervisor) HandleAction(ctx context.Context, action string) error if m == nil { return errors.New("media supervisor disabled") } - if err := UpdatePublisherEnv(m.cfg, m.audio); err != nil { + if err := UpdatePublisherEnv(m.cfg); err != nil { return err } switch action { @@ -96,9 +94,9 @@ func (m *MediaSupervisor) checkAndRepair() error { if m.checkHealth(ctx) { return nil } - m.logger.Printf("media supervisor: health check failed, restarting %s", m.cfg.Service) + m.logger.Printf("media supervisor: health check failed, restarting configured media services") if err := m.runSystemctl(ctx, "restart"); err != nil { - return fmt.Errorf("restart mediamtx: %w", err) + return fmt.Errorf("restart media services: %w", err) } return nil } @@ -127,16 +125,39 @@ func (m *MediaSupervisor) checkHealth(ctx context.Context) bool { } func (m *MediaSupervisor) runSystemctl(ctx context.Context, action string) error { - if m.cfg.Service == "" { - return errors.New("no media service configured") + services := m.managedServices() + if len(services) == 0 { + return errors.New("no media services configured") } runCtx, cancel := context.WithTimeout(ctx, 15*time.Second) defer cancel() - cmd := exec.CommandContext(runCtx, "systemctl", action, m.cfg.Service) - output, err := cmd.CombinedOutput() - if err != nil { - return fmt.Errorf("systemctl %s %s: %w (%s)", action, m.cfg.Service, err, string(output)) + for _, service := range services { + cmd := exec.CommandContext(runCtx, "systemctl", action, service) + output, err := cmd.CombinedOutput() + if err != nil { + return fmt.Errorf("systemctl %s %s: %w (%s)", action, service, err, string(output)) + } } return nil } + +func (m *MediaSupervisor) managedServices() []string { + /* + Only enabled streams are service-managed. This matters for audio capture: + the service may be installed everywhere, but a rover with capture disabled + should not have remote media commands starting a publisher that the config + says should stay off. + */ + services := []string{} + if m.cfg.Video.Enabled && m.cfg.Video.Service != "" { + services = append(services, m.cfg.Video.Service) + } + if m.cfg.AudioCapture.Enabled && m.cfg.AudioCapture.Service != "" { + services = append(services, m.cfg.AudioCapture.Service) + } + if m.cfg.AudioPlayback.Enabled && m.cfg.AudioPlayback.Service != "" { + services = append(services, m.cfg.AudioPlayback.Service) + } + return services +} diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index c5618854..2e0288dc 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -17,16 +17,36 @@ battery: urgent: 1650 maxWheelSpeed: 350 media: - publishUrl: srt://192.168.0.86:9000?streamid=#!::r=roomba-alpha,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 - audioForwardUrl: srt://192.168.0.86:9000?streamid=#!::r=roomba-alpha-fwd,m=request&latency=10&mode=caller&transtype=live&pkt_size=1316 publishPort: 9000 - # Default assumes camera is mounted upside down; set false for upright mounts. - cameraInverted: true - videoBitrate: 2000000 manage: true - service: video-publisher.service healthUrl: "" healthInterval: 30s + video: + enabled: true + service: video-publisher.service + publisher: pi-libcamera + publishUrl: srt://192.168.0.86:9000?streamid=#!::r=roomba-alpha,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 + width: 640 + height: 480 + fps: 30 + bitrate: 2000000 + # Default assumes camera is mounted upside down; set false for upright mounts. + inverted: true + sensorMode: 1296:972 + audioCapture: + enabled: false + service: audio-only-publisher.service + publishUrl: srt://192.168.0.86:9000?streamid=#!::r=roomba-alpha-audio,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 + device: hw:0,0 + sampleRate: 48000 + channels: 2 + bitrate: 510000 + audioPlayback: + enabled: true + service: audio-forward-listener.service + forwardUrl: srt://192.168.0.86:9000?streamid=#!::r=roomba-alpha-fwd,m=request&latency=10&mode=caller&transtype=live&pkt_size=1316 + device: forward + normalize: true cameraServo: enabled: false pin: 12 diff --git a/pi/roverd/roverd.yaml b/pi/roverd/roverd.yaml index 5492a979..814b6733 100644 --- a/pi/roverd/roverd.yaml +++ b/pi/roverd/roverd.yaml @@ -17,9 +17,18 @@ battery: maxWheelSpeed: 350 media: manage: false - service: mediamtx.service healthUrl: http://127.0.0.1:9997/v3/paths/list healthInterval: 30s + video: + enabled: true + service: video-publisher.service + publisher: pi-libcamera + audioCapture: + enabled: false + service: audio-only-publisher.service + audioPlayback: + enabled: true + service: audio-forward-listener.service cameraServo: enabled: false pin: 19 diff --git a/pi/systemd/audio-forward-listener.service b/pi/systemd/audio-forward-listener.service index b3f17693..44cf488e 100644 --- a/pi/systemd/audio-forward-listener.service +++ b/pi/systemd/audio-forward-listener.service @@ -7,7 +7,7 @@ Wants=network-online.target Type=simple User=roverd Group=roverd -EnvironmentFile=/var/lib/roverd/video.env +EnvironmentFile=/var/lib/roverd/media.env ExecStart=/usr/local/bin/audio-forward-listener KillMode=control-group TimeoutStopSec=5 diff --git a/pi/systemd/audio-only-publisher.service b/pi/systemd/audio-only-publisher.service index 6b9432ac..20e0da4d 100644 --- a/pi/systemd/audio-only-publisher.service +++ b/pi/systemd/audio-only-publisher.service @@ -7,7 +7,7 @@ Wants=network-online.target Type=simple User=roverd Group=roverd -EnvironmentFile=/var/lib/roverd/video.env +EnvironmentFile=/var/lib/roverd/media.env ExecStart=/usr/local/bin/audio-only-publisher KillMode=control-group TimeoutStopSec=5 diff --git a/pi/systemd/video-publisher.service b/pi/systemd/video-publisher.service index 761f8bd5..d5ad04e8 100644 --- a/pi/systemd/video-publisher.service +++ b/pi/systemd/video-publisher.service @@ -8,7 +8,7 @@ Type=simple User=roverd Group=roverd WorkingDirectory=/var/lib/roverd -EnvironmentFile=/var/lib/roverd/video.env +EnvironmentFile=/var/lib/roverd/media.env ExecStart=/usr/local/bin/video-publisher Restart=always RestartSec=2 diff --git a/server/public/assets/index-yGP4eLx4.js b/server/public/assets/index-DRqsCa1W.js similarity index 91% rename from server/public/assets/index-yGP4eLx4.js rename to server/public/assets/index-DRqsCa1W.js index 46b32370..e7248bed 100644 --- a/server/public/assets/index-yGP4eLx4.js +++ b/server/public/assets/index-DRqsCa1W.js @@ -20,13 +20,13 @@ Please change the parent to setTimeout(a,t))}function fK(t={}){const{driveTransform:a,auxTransform:n}=t,i=N2(),u=o1(V=>V.session?.assignment?.roverId??null),h=o1(V=>V.session?.roster??[]),d=m.useMemo(()=>!u||!Array.isArray(h)?null:h.find(V=>String(V.id)===String(u))||null,[u,h]),v=m.useMemo(()=>!d?.cameraServo||!d.cameraServo.enabled?null:d.cameraServo,[d]),p=m.useMemo(()=>!d?.headlight||!d.headlight.enabled?null:d.headlight,[d]),x=m.useMemo(()=>!d?.laser||!d.laser.enabled?null:d.laser,[d]),g=m.useMemo(()=>!d?.horn||!d.horn.enabled?null:d.horn,[d]),b=m.useMemo(()=>d?.headlight?.state??null,[d]),y=m.useMemo(()=>d?.laser?.state??null,[d]),M=m.useCallback((V,R)=>{u&&i.emit("command",{roverId:u,...V},R)},[i,u]),L=m.useCallback(()=>{u&&M({type:"sensorStream",data:{sensorStream:{enable:!0}}})},[M,u]),S=m.useCallback(V=>{if(!u)return null;const R={left:A4(V?.left??0,[-500,500]),right:A4(V?.right??0,[-500,500])},q=a?a(R):R,$={left:A4(q?.left??0,[-500,500]),right:A4(q?.right??0,[-500,500])};return M({type:"drive",data:{driveDirect:$}}),$},[a,M,u]),C=m.useCallback(({main:V=0,side:R=0,vacuum:q=0}={})=>{if(!u)return null;const $={main:A4(V,h0.main),side:A4(R,h0.side),vacuum:A4(q,h0.vacuum)},D=n?n($):$,W={main:A4(D?.main??0,h0.main),side:A4(D?.side??0,h0.side),vacuum:A4(D?.vacuum??0,h0.vacuum)};return M({type:"motors",data:{motorPwm:W}}),W},[n,M,u]),B=m.useCallback(V=>!u||!v?null:(M({type:"servo",data:{servo:{angle:V}}}),V),[M,u,v]),A=m.useCallback(V=>{if(!u)return!1;const R=Array.isArray(V)?V:typeof V=="string"?iK[V]:null;return R?(M({type:"raw",data:{raw:dK(R)}}),L(),!0):!1},[M,L,u]),H=m.useCallback(async V=>{if(!(!V||!Array.isArray(V.steps)||!u))for(const R of V.steps){if(!u)break;switch(R.type){case"oi":A(R.command);break;case"drive":S(R.speeds??{left:0,right:0});break;case"motors":C(R.values??{});break;case"servo":B(R.angle);break;case"pause":await Ts(R.duration??Gc);break}if(R.delay||R.delayMs){const q=R.delayMs??R.delay;typeof q=="number"&&q>0&&await Ts(q)}}},[u,A,S,C,B]),j=m.useCallback((V="toggle")=>!u||!p?null:(M({type:"headlight",data:{headlight:{action:V}}}),V),[M,p,u]),_=m.useCallback((V="toggle")=>!u||!x?null:(M({type:"laser",data:{laser:{action:V}}}),V),[M,x,u]),F=m.useCallback(V=>u?(M({type:"horn",data:{horn:V}}),V):null,[M,u]),N=m.useCallback((V=[],R={})=>{if(!u)return null;const $=(Array.isArray(V)&&V.length>0?V:[{note:S0,duration:Yc}]).slice(0,16).map(D=>({note:A4(Math.round(D?.note??S0),Ea),duration:A4(Math.round(D?.duration??Yc),[1,255])}));return M({type:"song",data:{song:{notes:$,slot:R.slot,loop:R.loop}}}),$},[M,u]);return m.useMemo(()=>({roverId:u,rosterEntry:d,servoConfig:v,headlight:p,headlightState:b,laser:x,laserState:y,horn:g,emitCommand:M,enableSensorStream:L,sendDriveDirect:S,sendAuxMotors:C,sendServoAngle:B,sendOiCommand:A,sendHeadlight:j,sendLaser:_,sendHorn:F,sendSong:N,runMacroSteps:H}),[u,d,v,p,b,x,y,g,M,L,S,C,B,A,j,_,F,H])}const mK={"{":"[","}":"]",":":";",'"':"'","<":",",">":".","?":"/","|":"\\",_:"-","+":"="},_s={"[":"BracketLeft","]":"BracketRight","\\":"Backslash",";":"Semicolon","'":"Quote",",":"Comma",".":"Period","/":"Slash","-":"Minus","=":"Equal","`":"Backquote"};function c5(t){if(typeof t!="string")return"";const a=t.toLowerCase();return mK[a]??a}function vK(t){const a=c5(t);if(!a)return null;if(_s[a])return _s[a];if(a.length===1){if(/[a-z]/.test(a))return`Key${a.toUpperCase()}`;if(/[0-9]/.test(a))return`Digit${a}`}return null}function uh(t){const a=c5(t);return a?`key:${a}`:null}function pK(t){const a=vK(t);return a?`code:${a}`:null}function qs(t){const a=new Set,n=uh(t?.key??"");n&&a.add(n);const i=t?.code?`code:${t.code}`:null;return i&&a.add(i),Array.from(a)}function hh(t={}){return Object.fromEntries(Object.entries(t).map(([a,n])=>{const i=Array.isArray(n)?n:[n],u=new Set;return i.forEach(h=>{const d=uh(String(h));d&&u.add(d);const v=pK(String(h));v&&u.add(v)}),[a,u]}))}function _2(t){const a=c5(t);return a?a===" "?"Space":a==="\\"?"Backslash":a==="`"?"Backtick":a==="["?"[ or {":a==="]"?"] or }":a===";"?"; or :":a==="'"?`' or "`:a===","?", or <":a==="."?". or >":a==="/"?"/ or ?":a==="-"?"- or _":a==="="?"= or +":a==="arrowup"?"Arrow Up":a==="arrowdown"?"Arrow Down":a==="arrowleft"?"Arrow Left":a==="arrowright"?"Arrow Right":a.length===1?a.toUpperCase():a:"—"}const D4={keyboard:{baseSpeed:250,turboSpeed:500,precisionSpeed:125,tiltSpeed:90,tiltIntervalMs:110}},v3={label:"Default",calibration:{driveDeadzone:.18,cameraDeadzone:.08,auxDeadzone:.05,driveCurve:"linear",cameraCurve:"linear",auxCurve:"linear",cameraMode:"absolute",cameraSensitivity:60,auxSideScale:.55},bindings:{drive:{kind:"axisPair",sources:[{kind:"axisPair",x:0,y:1,invertX:!1,invertY:!0}]},cameraTilt:{kind:"axis",sources:[{kind:"axis",index:3,invert:!0},{kind:"axis",index:1,invert:!0}]},mainBrush:{kind:"axis",sources:[{kind:"buttonAxis",index:6},{kind:"axis",index:2,invert:!1}]},sideBrush:{kind:"axis",sources:[{kind:"buttonAxis",index:7},{kind:"axis",index:5,invert:!1}]},vacuum:{kind:"button",sources:[{kind:"button",index:0}]},allAux:{kind:"button",sources:[{kind:"button",index:1}]},mainReverse:{kind:"button",sources:[{kind:"button",index:4}]},sideReverse:{kind:"button",sources:[{kind:"button",index:5}]},driveMacro:{kind:"button",sources:[{kind:"button",index:2}]},dockMacro:{kind:"button",sources:[{kind:"button",index:3}]},headlightToggle:{kind:"button",sources:[{kind:"button",index:9}]},laserToggle:{kind:"button",sources:[]}}},Z3={activeSignature:null,profiles:{},defaults:{profile:v3}},M6={waveform:"saw",freqs:[440,550,660,0]},y2={masterVolume:1,alertVolume:.5,roverVolume:1,mainBrushDuckEnabled:!0,mainBrushDuckAmount:.75},j0={colorFilter:"none"},b6=[{key:"drive",motors:["leftWheel","rightWheel"]},{key:"aux",motors:["mainBrush","sideBrush"]}],gK={downRatePerSec:.15,upRatePerSec:.7,releaseDelaySec:1,outputRateMs:250};function Ds(){return b6.reduce((t,a)=>(t[a.key]={cap:1,clearSec:0},t),{})}function Os(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):0}function dh(t,a={}){const n=o1(S=>S.session?.role||null),i=C6(t,Gu,Yu),u=m.useMemo(()=>({...gK,...a.config||{}}),[a.config]),[h,d]=m.useState(()=>Ds()),v=m.useRef(0),p=m.useRef(i);m.useEffect(()=>{p.current=i||{}},[i]),m.useEffect(()=>{d(Ds()),v.current=0},[t]);const x=m.useMemo(()=>b6.some(S=>S.motors.some(C=>!!i?.[C])),[i]),g=m.useMemo(()=>Object.values(h||{}).some(S=>(Number.isFinite(S?.cap)?S.cap:1)<.999),[h]),b=!!t&&(x||g);m.useEffect(()=>{if(!b)return;v.current=typeof performance<"u"?performance.now():Date.now();const S=setInterval(()=>{const C=typeof performance<"u"?performance.now():Date.now(),B=Math.max(0,C-v.current);v.current=C;const A=Math.min(.25,B/1e3);A<=0||d(H=>{let j=!1;const _={},F=Number.isFinite(u.downRatePerSec)?Math.max(0,u.downRatePerSec):0,N=Number.isFinite(u.upRatePerSec)?Math.max(0,u.upRatePerSec):0,V=Number.isFinite(u.releaseDelaySec)?Math.max(0,u.releaseDelaySec):0;return b6.forEach(R=>{const q=H[R.key]||{cap:1,clearSec:0},$=Number.isFinite(q.cap)?q.cap:1,D=Number.isFinite(q.clearSec)?q.clearSec:0,W=R.motors.some(I=>!!p.current?.[I]),n1=W?0:D+A,Y=!W&&n1>=V,E=Os(W?$-F*A:Y?$+N*A:$);(Math.abs(E-$)>1e-4||Math.abs(n1-D)>1e-4)&&(j=!0),_[R.key]={cap:E,clearSec:n1}}),j?_:H})},100);return()=>clearInterval(S)},[u.downRatePerSec,u.releaseDelaySec,u.upRatePerSec,t,b]);const y=m.useMemo(()=>{const S=b6.reduce((C,B)=>{const A=h?.[B.key],H=Number.isFinite(A?.cap)?A.cap:1;return C[B.key]=Os(H),C},{});return{perGroup:S,drive:{left:S.drive??1,right:S.drive??1},aux:{main:S.aux??1,side:S.aux??1,vacuum:1}}},[h]),M=m.useMemo(()=>{const S={};b6.forEach(B=>{B.motors.forEach(A=>{S[A]=!!i?.[A]})});const C=b6.reduce((B,A)=>(B[A.key]=A.motors.some(H=>!!i?.[H]),B),{});return{motors:S,groups:C}},[i]),L=n==="admin"||n==="lockdown";return m.useMemo(()=>({caps:h,overcurrent:M,scales:y,isActive:(y?.drive?.left??1)<1||(y?.drive?.right??1)<1||(y?.aux?.main??1)<1||(y?.aux?.side??1)<1,config:u,adminImmune:L}),[h,M,y,u,L])}function xK(t={},a,n=!1){if(n||!a?.drive)return t;const i=typeof a.drive.left=="number"?a.drive.left:1,u=typeof a.drive.right=="number"?a.drive.right:1;return i>=.999&&u>=.999?t:{left:Math.round((t.left??0)*i),right:Math.round((t.right??0)*u)}}function zK(t={},a,n=!1){if(n||!a?.aux)return t;const i=typeof a.aux.main=="number"?a.aux.main:1,u=typeof a.aux.side=="number"?a.aux.side:1,h=typeof a.aux.vacuum=="number"?a.aux.vacuum:1;return i>=.999&&u>=.999&&h>=.999?t:{main:Math.round((t.main??0)*i),side:Math.round((t.side??0)*u),vacuum:Math.round((t.vacuum??0)*h)}}const Ta=m.createContext(null);function bK(t){return typeof t=="function"?t:a=>a}const yK=["setMode","setDriveVector","setAuxMotors","setServoAngle","nudgeServo","goServoHome","setCameraPrecisionMode","runMacro","stopAllMotion","sendOiCommand","setSensorStream","setHeadlight","toggleHeadlight","setLaser","toggleLaser","updateKeyBinding","resetKeyBindings","registerInputState","setManualDockAssistActive","toggleManualDockAssist","setSongNote","sendSong","startHorn","stopHorn","setMicPttActive"];function Us(t){return Object.fromEntries(Object.entries(t||{}).map(([a,n])=>[a,Array.isArray(n)?[...n]:[]]))}function MK(t,a){if(!t)return a;const n=typeof t.minAngle=="number"?t.minAngle:-45,i=typeof t.maxAngle=="number"?t.maxAngle:45;return H0(a,n,i)}function wK(t=[]){if(!Array.isArray(t)||t.length<3)return t;const a=t.slice(-3),[n,i,u]=a,h=n?.type==="drive"&&Number(n?.speeds?.left)===-300&&Number(n?.speeds?.right)===-300,d=i?.type==="pause"&&Number(i?.duration)===600,v=u?.type==="drive"&&Number(u?.speeds?.left)===0&&Number(u?.speeds?.right)===0;return!h||!d||!v?t:t.slice(0,-3)}function CK({children:t}){const[a,n]=m.useReducer(oK,Rs),i=m.useRef(null),u=m.useRef(new Set),h=m.useRef({}),[d]=m.useState(()=>Object.fromEntries(yK.map(f1=>[f1,(...w1)=>h.current[f1]?.(...w1)])),[]),v=m.useCallback(()=>i.current,[]),p=m.useCallback((f1,w1,S1=Object.is)=>{const $1=bK(f1),z1=i.current,q1={selector:$1,equalityFn:S1,listener:w1,current:$1(z1)};return u.current.add(q1),()=>{u.current.delete(q1)}},[]),x=m.useCallback(f1=>{u.current.forEach(w1=>{const S1=w1.selector(f1);w1.equalityFn(w1.current,S1)||(w1.current=S1,w1.listener(S1))})},[]),g=m.useRef(null),b=m.useRef(!1),y=m.useRef(Rs.camera.angle),M=m.useRef(null),L=m.useRef(0),S=m.useRef(0),{value:C,save:B}=I1("controls",{keymap:q8,macros:oh}),{value:A}=I1("page",{driveMacroBackoffEnabled:!0}),{value:H}=I1("horn",M6),j=typeof A?.driveMacroBackoffEnabled=="boolean"?A.driveMacroBackoffEnabled:!0,_=o1(f1=>f1.session?.assignment?.roverId??null),F=o1(f1=>f1.session?.homeAssistant?.entities??[]),N=o1(f1=>!!f1.session?.homeAssistant?.lightPolicy?.lockedOn),{homeAssistantSetState:V}=O2(),R=dh(_),q=m.useCallback(f1=>xK(f1,R.scales,R.adminImmune),[R.adminImmune,R.scales]),$=m.useCallback(f1=>zK(f1,R.scales,R.adminImmune),[R.adminImmune,R.scales]),D=fK({driveTransform:q,auxTransform:$}),W=m.useCallback(()=>{const w1=(F||[]).filter(S1=>(S1.type==="light"||S1.type==="switch")&&S1.available!==!1&&S1.state!=="on");if(w1.length===0){b.current=!1;return}b.current=!0,w1.forEach(S1=>{V(S1.id,"on").catch(()=>{})}),b.current=!1},[F,V]);m.useEffect(()=>{n({type:"control/set-rover",payload:D.roverId})},[D.roverId]),m.useEffect(()=>{const f1=g.current;g.current=a.mode,f1!=="drive"&&a.mode==="drive"&&F?.length?W():f1!=="drive"&&a.mode==="drive"&&(b.current=!0)},[a.mode,F,W]),m.useEffect(()=>{b.current&&F?.length&&W()},[F,W]),m.useEffect(()=>{const f1={...q8,...C?.keymap||{}};n({type:"control/set-keymap",payload:f1}),C?.macros&&n({type:"control/set-macros",payload:C.macros})},[C?.keymap,C?.macros]),m.useEffect(()=>{const f1=D.servoConfig;if(!f1){n({type:"control/set-camera-config",payload:{config:null}}),y.current=null;return}const w1=typeof f1.minAngle=="number"?f1.minAngle:-45,S1=typeof f1.maxAngle=="number"?f1.maxAngle:45,$1=typeof f1.homeAngle=="number"?f1.homeAngle:(w1+S1)/2,z1=typeof y.current=="number"?H0(y.current,w1,S1):null,q1=z1??H0($1,w1,S1);n({type:"control/set-camera-config",payload:{config:f1,angle:q1}}),y.current=q1},[D.servoConfig]),m.useEffect(()=>{y.current=typeof a.camera.angle=="number"?a.camera.angle:y.current},[a.camera.angle]),m.useEffect(()=>{D.roverId&&D.enableSensorStream()},[D.roverId,D.enableSensorStream]);const n1=m.useCallback(f1=>{n({type:"control/set-mode",payload:f1})},[]),Y=m.useCallback(()=>{n({type:"control/record-intent"})},[]),E=m.useRef(a.drive.speeds),I=m.useRef(a.aux),Z=m.useMemo(()=>JSON.stringify(R.scales),[R.scales]),t1=m.useRef(0),h1=m.useRef(0);m.useEffect(()=>{E.current=a.drive.speeds},[a.drive.speeds]),m.useEffect(()=>{I.current=a.aux},[a.aux]),m.useEffect(()=>{if(!D.roverId||R.adminImmune||!R.isActive)return;const f1=Math.max(0,Number(R?.config?.outputRateMs)||0),w1=typeof performance<"u"?performance.now():Date.now(),S1=E.current||{left:0,right:0},$1=I.current||{main:0,side:0,vacuum:0},z1=!!(S1.left||S1.right),q1=!!($1.main||$1.side||$1.vacuum);!z1&&!q1||(z1&&w1-t1.current>=f1&&(t1.current=w1,D.sendDriveDirect(S1)),q1&&w1-h1.current>=f1&&(h1.current=w1,D.sendAuxMotors($1)))},[Z,R.adminImmune,R.config,R.isActive,D]);const T=m.useCallback((f1,w1={})=>{const S1={...w1.speedOptions||{}};if(a.manualDockAssist?.active){const z1=Math.max(1,Math.min(aK,500));S1.maxSpeed=Math.min(typeof S1.maxSpeed=="number"?S1.maxSpeed:z1,z1),S1.baseSpeed=Math.min(typeof S1.baseSpeed=="number"?S1.baseSpeed:z1,z1),S1.boostSpeed=Math.min(typeof S1.boostSpeed=="number"?S1.boostSpeed:z1,z1)}const $1=hK(f1,S1);n({type:"control/update-drive",payload:{...$1,source:w1.source??null}}),Y(),D.sendDriveDirect($1.speeds)},[D,Y,a.manualDockAssist?.active]),O=m.useCallback((f1={})=>{const w1=D.sendAuxMotors(f1)??f1;n({type:"control/set-aux-motors",payload:w1}),Y()},[D,Y]),K=m.useCallback((f1,w1)=>{if(!f1)return!1;const S1=c5(w1);if(!S1)return!1;const $1=Us(a.keymap);return $1[f1]=[S1],n({type:"control/set-keymap",payload:$1}),B(z1=>({...z1??{},keymap:$1})),!0},[a.keymap,B]),l1=m.useCallback(()=>{const f1=Us(q8);n({type:"control/set-keymap",payload:f1}),B(w1=>({...w1??{},keymap:f1}))},[B]),m1=m.useCallback((f1,w1={})=>{if(!D.servoConfig)return;const S1=!!w1?.force;if(a.manualDockAssist?.active&&!S1)return;const $1=MK(D.servoConfig,f1);n({type:"control/set-camera-angle",payload:$1}),D.sendServoAngle($1),y.current=$1,Y()},[D,Y,a.manualDockAssist?.active]),v1=m.useCallback((f1=0)=>{const w1=D.servoConfig;if(!w1)return;const S1=typeof f1=="number"&&f1!==0?f1:w1.nudgeDegrees||1,$1=typeof y.current=="number"?y.current:typeof w1.homeAngle=="number"?w1.homeAngle:0;m1($1+S1)},[D.servoConfig,m1]),A1=m.useCallback(()=>{const f1=D.servoConfig;if(!f1)return;const w1=typeof f1.homeAngle=="number"?f1.homeAngle:typeof f1.minAngle=="number"&&typeof f1.maxAngle=="number"?(f1.minAngle+f1.maxAngle)/2:0;m1(w1)},[D.servoConfig,m1]),k1=m.useCallback(f1=>{n({type:"control/set-camera-precision-mode",payload:!!f1})},[]),R1=m.useCallback(async f1=>{const w1=a.macros.find($1=>$1.id===f1)||null;if(!w1)return;let S1=w1;f1==="drive-sequence"&&(W(),F?.length||(b.current=!0),Y(),j||(S1={...w1,steps:wK(w1.steps)})),await D.runMacroSteps(S1)},[j,D,Y,F,a.macros,W]),O1=m.useCallback(()=>{n({type:"control/update-drive",payload:{vector:{x:0,y:0,boost:!1},speeds:{left:0,right:0},source:"system-stop"}}),D.sendDriveDirect({left:0,right:0}),D.sendAuxMotors({main:0,side:0,vacuum:0})},[D]),Q1=m.useCallback(f1=>{D.sendOiCommand(f1)},[D]),P1=m.useCallback(f1=>{D.roverId&&D.emitCommand({type:"sensorStream",data:{sensorStream:{enable:f1}}})},[D]),h2=m.useCallback(f1=>{if(!D.headlight)return;const w1=typeof f1=="boolean"?f1?"on":"off":"toggle";D.sendHeadlight(w1),Y()},[D,Y]),r1=m.useCallback(()=>{h2()},[h2]),V1=m.useCallback(f1=>{if(!D.laser||N&&f1!==!1)return;const w1=typeof f1=="boolean"?f1?"on":"off":"toggle";D.sendLaser(w1),Y()},[D,Y,N]),Z1=m.useCallback(()=>{V1()},[V1]),D1=m.useCallback(f1=>{const w1=typeof f1=="number"?f1:S0;return n({type:"control/set-song-note",payload:w1}),w1},[]),b1=m.useCallback((f1,w1)=>D.sendSong(f1,w1),[D]),L1=m.useMemo(()=>{const f1=H??M6,w1=f1.waveform==="sine"?"sine":"saw",$1=[...Array.isArray(f1.freqs)?f1.freqs:M6.freqs,0,0,0,0].slice(0,4).map(z1=>{const q1=Number(z1);return Number.isFinite(q1)?q1<=0?0:Math.min(ie,Math.round(q1)):0});return{waveform:w1,freqs:$1}},[H]),x1=m.useRef(null),C1=m.useCallback(()=>{if(!D.horn)return;if(a.horn?.overheated||(a.horn?.heat??0)>=1||a.horn?.active)return!1;const f1=Date.now();return D.sendHorn({action:"start",...L1}),n({type:"control/set-horn-active",payload:!0}),L.current=f1,S.current=f1,M.current&&(clearTimeout(M.current),M.current=null),M.current=setTimeout(()=>{x1.current?.()},rK),Y(),!0},[n,L1,D,Y,a.horn?.active,a.horn?.heat,a.horn?.overheated]),g1=m.useCallback(()=>{if(!D.horn)return;D.sendHorn({action:"stop"}),n({type:"control/set-horn-active",payload:!1}),M.current&&(clearTimeout(M.current),M.current=null);const f1=Date.now(),w1=L.current||f1,S1=Math.max(0,f1-w1);if(L.current=0,S1>0){const $1=a.horn?.heat??0,z1=S1/1e3*Fs;let q1=Math.max(0,Math.min(1,$1+z1)),o2=a.horn?.overheated??!1;q1>=1&&(q1=1,o2=!0),n({type:"control/set-horn-heat",payload:{heat:q1,overheated:o2}})}},[n,D,a.horn?.heat,a.horn?.overheated]),T1=m.useRef({active:!!a.horn?.active,heat:a.horn?.heat??0,overheated:!!a.horn?.overheated});m.useEffect(()=>{T1.current={active:!!a.horn?.active,heat:a.horn?.heat??0,overheated:!!a.horn?.overheated}},[a.horn?.active,a.horn?.heat,a.horn?.overheated]),m.useEffect(()=>{x1.current=g1},[g1]);const c1=!!a.horn?.active||(a.horn?.heat??0)>0||!!a.horn?.overheated;m.useEffect(()=>{if(!c1)return;const w1=setInterval(()=>{const S1=Date.now(),$1=S.current||S1;S.current=S1;const z1=Math.min(1e3,Math.max(0,S1-$1))/1e3,q1=T1.current,o2=q1.heat??0,t2=!!q1.active,e2=!!q1.overheated,U2=z1*(t2?Fs:-.2);let W2=Math.max(0,Math.min(1,o2+U2)),I2=e2;W2>=1?(W2=1,I2=!0,t2&&x1.current()):I2&&W2<=lK&&(I2=!1),(W2!==o2||I2!==e2)&&n({type:"control/set-horn-heat",payload:{heat:W2,overheated:I2}})},100);return()=>clearInterval(w1)},[n,c1]);const M1=m.useCallback(f1=>{const w1=!!f1;if(!!a.manualDockAssist?.active===w1)return;if(n({type:"control/set-manual-dock-assist",payload:w1}),!w1){D.sendSong([{note:83,duration:10},{note:76,duration:10}],{slot:0}),m1(0,{force:!0});return}const $1=typeof D.servoConfig?.minAngle=="number"?D.servoConfig.minAngle:-45;m1($1,{force:!0}),D.sendSong([{note:76,duration:10},{note:83,duration:10}],{slot:0}),Y()},[D,Y,m1,a.manualDockAssist?.active]),y1=m.useCallback(()=>{M1(!a.manualDockAssist?.active)},[M1,a.manualDockAssist?.active]),j1=m.useCallback((f1,w1)=>{n({type:"control/register-input-state",payload:{source:f1,state:w1}})},[]),r2=m.useCallback(f1=>{n({type:"control/set-mic-ptt",payload:!!f1})},[]),d1=m.useMemo(()=>({setMode:n1,setDriveVector:T,setAuxMotors:O,setServoAngle:m1,nudgeServo:v1,goServoHome:A1,setCameraPrecisionMode:k1,runMacro:R1,stopAllMotion:O1,sendOiCommand:Q1,setSensorStream:P1,setHeadlight:h2,toggleHeadlight:r1,setLaser:V1,toggleLaser:Z1,updateKeyBinding:K,resetKeyBindings:l1,registerInputState:j1,setManualDockAssistActive:M1,toggleManualDockAssist:y1,setSongNote:D1,sendSong:b1,startHorn:C1,stopHorn:g1,setMicPttActive:r2}),[n1,T,O,m1,v1,A1,k1,R1,O1,Q1,P1,h2,r1,V1,Z1,K,l1,j1,M1,y1,D1,b1,C1,g1,r2]),p1=m.useMemo(()=>({state:a,dispatch:n,pipeline:D,overcurrentLimiter:R,actions:d}),[a,D,R,d]);i.current==null&&(i.current=p1),m.useLayoutEffect(()=>{h.current=d1},[d1]),m.useLayoutEffect(()=>{i.current!==p1&&(i.current=p1,x(p1))},[x,p1]);const J1=m.useMemo(()=>({getSnapshot:v,subscribe:p,actions:d}),[v,d,p]);return r.jsx(Ta.Provider,{value:J1,children:t})}function _1(t,a=Object.is){const n=m.useContext(Ta);if(!n)throw new Error("useControlSelector must be used within ControlSystemProvider");const i=m.useRef(t),u=m.useRef(a),[h,d]=m.useState(()=>t(n.getSnapshot()));return m.useEffect(()=>{i.current=t,u.current=a},[a,t]),m.useEffect(()=>(d(v=>{const p=i.current(n.getSnapshot());return u.current(v,p)?v:p}),n.subscribe(v=>i.current(v),v=>{d(p=>u.current(p,v)?p:v)},(v,p)=>u.current(v,p))),[n]),h}function K4(){const t=m.useContext(Ta);if(!t)throw new Error("useControlActions must be used within ControlSystemProvider");return t.actions}const SK="data:audio/mpeg;base64,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",HK=80,AK=80,LK=240,Is=new Map;function fh(){return typeof window>"u"?null:window.roverAnalytics&&typeof window.roverAnalytics=="object"?window.roverAnalytics:null}function mh(t){if(typeof t!="string")return null;const a=t.trim().toLowerCase().replace(/[^a-z0-9_:-]+/g,"_");return a?a.slice(0,HK):null}function vh(t){if(t!=null){if(typeof t=="boolean")return t;if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t=="string"){const a=t.trim();return a?a.slice(0,LK):void 0}if(Array.isArray(t)){const a=t.map(n=>vh(n)).filter(n=>n!==void 0).map(n=>String(n));return a.length?a.slice(0,12).join(","):void 0}}}function _a(t={}){return!t||typeof t!="object"||Array.isArray(t)?{}:Object.entries(t).reduce((a,[n,i])=>{if(typeof n!="string")return a;const u=n.trim().replace(/[^a-zA-Z0-9_:-]+/g,"_").slice(0,AK);if(!u)return a;const h=vh(i);return h===void 0||(a[u]=h),a},{})}function u1(t,a={}){const n=mh(t);if(!n)return;const i=fh();if(!i||typeof i.track!="function")return;const u=_a(a);try{Object.keys(u).length?i.track(n,u):i.track(n)}catch(h){console.warn("Analytics event failed",h)}}function VK(t={}){const a=fh();if(!(!a||typeof a.identify!="function"))try{a.identify(_a(t))}catch(n){console.warn("Analytics identify failed",n)}}function x3(t,a={},n={}){const i=mh(t);if(!i)return;const u=Number.isFinite(n?.throttleMs)?Math.max(0,n.throttleMs):30*1e3,h=`${i}:${typeof n?.key=="string"?n.key:JSON.stringify(_a(a))}`,d=Date.now(),v=Is.get(h)||0;d-v{},focusChat:()=>{},blurChat:()=>{},registerInputRef:()=>{},onInputFocus:()=>{},onInputBlur:()=>{},setTypingActive:()=>{}},xh={isChatFocused:!1,selfSocketId:null},zh=m.createContext(ph),bh=m.createContext(gh),yh=m.createContext(xh),BK=m.createContext({...ph,...gh,...xh});function NK({children:t}){const a=N2(),n=o1(T=>T.session),{pushAlert:i}=O2(),{value:u}=I1("audio",y2),{value:h}=I1("profile",{nickname:"",profileImageUrl:""}),[d,v]=m.useState([]),[p,x]=m.useState([]),[g,b]=m.useState(!1),y=m.useRef(null),M=m.useRef(null),L=m.useRef(null),S=m.useRef(new Map),C=m.useRef(new Map),B=m.useRef({isTyping:!1,lastSent:0}),A=Number.isFinite(u?.masterVolume)?u.masterVolume:y2.masterVolume,H=Number.isFinite(u?.alertVolume)?u.alertVolume:y2.alertVolume,j=Math.max(0,Math.min(1,A*H)),F=!!n?.isVerified?String(h?.profileImageUrl||"").trim():"",N=m.useCallback(()=>{const T=Array.from(S.current.values()).sort((O,K)=>O.lastUpdate-K.lastUpdate).map(O=>O.payload);x(T)},[]),V=m.useCallback(T=>!T||typeof T!="object"?null:T.typingId?T.typingId:T.fromDiscord?`discord:${T.discordUserId||T.discordUserName||T.nickname||"unknown"}`:`socket:${T.socketId||T.nickname||"unknown"}`,[]);m.useEffect(()=>{L.current=new Audio(SK),L.current.volume=j,L.current.load()},[j]);const R=m.useCallback(()=>{const T=L.current;T&&(T.volume=j,T.currentTime=0,T.play().catch(()=>{}))},[j]);m.useEffect(()=>{function T(O={}){v(K=>[...K.slice(-99),O]),!(O?.socketId&&n?.socketId&&O.socketId===n.socketId)&&(R(),i?.({kind:"chat",payload:O,id:`chat-${O.id||Math.random().toString(36).slice(2)}`,receivedAt:Date.now()}))}return a.on("chat:message",T),()=>{a.off("chat:message",T)}},[R,i,n?.socketId,a]),m.useEffect(()=>{function T(O={}){const K=V(O);if(!K)return;const l1=Date.now();if(O?.socketId&&n?.socketId&&O.socketId===n.socketId){O.isTyping||(S.current.delete(K),N());return}if(O.isTyping){S.current.set(K,{payload:O,expiresAt:l1+6e3,lastUpdate:l1});const m1=C.current.get(K)||0;l1-m1>=2500&&(C.current.set(K,l1),i?.({kind:"chat-typing",payload:O,id:`chat-typing-${K}-${O.id||Math.random().toString(36).slice(2)}`,receivedAt:l1}))}else S.current.delete(K);N()}return a.on("chat:typing",T),()=>{a.off("chat:typing",T)}},[i,N,V,n?.socketId,a]),m.useEffect(()=>{const T=setInterval(()=>{const O=Date.now();let K=!1;S.current.forEach((l1,m1)=>{l1.expiresAt<=O&&(S.current.delete(m1),K=!0)}),K&&N()},2e3);return()=>clearInterval(T)},[N]),m.useEffect(()=>{function T(O=[]){Array.isArray(O)&&v(K=>{if(K.length===0)return O.slice(-100);const l1=new Set(O.map(v1=>v1?.id));return[...O,...K.filter(v1=>v1?.id&&!l1.has(v1.id))].slice(-100)})}return a.on("chat:init",T),()=>{a.off("chat:init",T)}},[a]);const q=m.useCallback(T=>{const O=!!T,K=Date.now(),l1=B.current,m1=!O&&l1.isTyping;!(O&&(!l1.isTyping||K-l1.lastSent>=3500))&&!m1||(B.current={isTyping:O,lastSent:K},a.emit("chat:typing",{isTyping:O}))},[a]),$=m.useCallback((T,O=null)=>new Promise((K,l1)=>{const m1={text:T,tts:O};F&&(m1.profileImage=F),a.emit("chat:send",m1,(v1={})=>{v1.error?l1(new Error(v1.error)):(u1("chat_send",{hasTts:!!O,length:typeof T=="string"?T.trim().length:0}),K(v1))})}),[F,a]),D=m.useCallback((T,O={})=>{(O?.target==="hud"?"hud":"panel")==="hud"?M.current=T:y.current=T},[]),W=m.useCallback(()=>{b(!0),(M.current||y.current)?.focus()},[]),n1=m.useCallback(()=>{b(!1),M.current?.blur(),y.current?.blur()},[]),Y=m.useCallback(()=>b(!0),[]),E=m.useCallback(()=>b(!1),[]),I=m.useMemo(()=>({messages:d,typing:p}),[d,p]),Z=m.useMemo(()=>({sendMessage:$,focusChat:W,blurChat:n1,registerInputRef:D,onInputFocus:Y,onInputBlur:E,setTypingActive:q}),[n1,W,E,Y,D,$,q]),t1=m.useMemo(()=>({isChatFocused:g,selfSocketId:n?.socketId||null}),[g,n?.socketId]),h1=m.useMemo(()=>({...I,...Z,...t1}),[Z,t1,I]);return r.jsx(zh.Provider,{value:I,children:r.jsx(bh.Provider,{value:Z,children:r.jsx(yh.Provider,{value:t1,children:r.jsx(BK.Provider,{value:h1,children:t})})})})}function jK(){const t=m.useContext(zh);if(!t)throw new Error("useChatTimeline must be used inside ChatProvider");return t}function qa(){const t=m.useContext(bh);if(!t)throw new Error("useChatActions must be used inside ChatProvider");return t}function kK(){const t=m.useContext(yh);if(!t)throw new Error("useChatFocus must be used inside ChatProvider");return t}let Mh=!1;function uc(t){Mh=!!t}function Ps(){return Mh}const FK=new Set(["","text","search","email","password","url","tel","number","date","datetime-local","month","time","week"]);function wh(t){if(!t||t.nodeType!==1)return!1;const a=t.tagName;if(a==="TEXTAREA"||t.isContentEditable)return!0;if(a!=="INPUT")return!1;const n=t.type?t.type.toLowerCase():"";return FK.has(n)}function RK(){return typeof document>"u"?!1:wh(document.activeElement)}function k0(t={}){const{manageLifecycle:a=!1}=t,n=_1(C=>C.state.roverId),i=_1(C=>!!C.state.manualDockAssist?.active),u=K4(),h=C6(n,Va,La),d=h.chargingStateLabel||"",v=!!h.homeBase,p=v&&d.toLowerCase()!=="not charging"&&d!=="",x=m.useRef(!1),g=m.useCallback(()=>{u.setManualDockAssistActive(!0)},[u]),b=m.useCallback(()=>{u.setManualDockAssistActive(!1)},[u]),y=m.useCallback(()=>{u.toggleManualDockAssist()},[u]);m.useEffect(()=>{if(!a)return;const C=v&&!x.current,B=!v&&x.current;i&&C?u.sendSong([{note:84,duration:6}],{slot:1}):i&&B&&u.sendSong([{note:72,duration:6}],{slot:1}),x.current=v},[u,i,v,a]),m.useEffect(()=>{!a||!i||!p||b()},[i,p,b,a]);const M=p?"Docked and charging":v?"Docked":"Docking assist active",L=p?"good":v?"warn":"active",S=i||v;return m.useMemo(()=>({active:i,docked:v,charging:p,cameraLocked:i,visible:S,statusLabel:M,statusTone:L,enterAssist:g,exitAssist:b,toggleAssist:y}),[i,p,v,g,b,M,L,y,S])}function hc(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(0,Math.min(500,n)):a}function Ch(t){const a=D4.keyboard,n=t?.keyboard??{};return{baseSpeed:hc(n.baseSpeed,a.baseSpeed),turboSpeed:hc(n.turboSpeed,a.turboSpeed),precisionSpeed:hc(n.precisionSpeed,a.precisionSpeed)}}function B2(t,a){if(!t||t.size===0)return!1;for(const n of a)if(t.has(n))return!0;return!1}function Sh(t,a){const n=B2(a.driveForward,t),i=B2(a.driveBackward,t),u=B2(a.driveLeft,t),h=B2(a.driveRight,t),d=B2(a.boostModifier,t),v=B2(a.slowModifier,t);let p=0;n&&!i?p=1:i&&!n&&(p=-1);let x=0;u&&!h?x=-1:h&&!u&&(x=1);const g=v?.4:1;return{x:x*g,y:p*g,boost:d&&!v}}function Wc(t,a){return B2(a?.slowModifier,t)}function EK(t,a){if(B2(a.auxAllForward,t))return{main:127,side:127,vacuum:127};const i=B2(a.auxMainForward,t)?127:B2(a.auxMainReverse,t)?-127:0,u=B2(a.auxSideForward,t)?127:B2(a.auxSideReverse,t)?-70:0,h=B2(a.auxVacuumFast,t)?127:B2(a.auxVacuumSlow,t)?50:0;return{main:i,side:u,vacuum:h}}function Hh(t,a,n){return Wc(t,a)?{baseSpeed:n.precisionSpeed,boostSpeed:n.precisionSpeed}:{baseSpeed:n.baseSpeed,boostSpeed:n.turboSpeed}}const dc="keyboard",fc={x:0,y:0,boost:!1},mc={main:0,side:0,vacuum:0},$s=Ea[0],Zs=Ea[1],Da=5,$8=500,Z8=1,Oa=100,TK=.25,Jt=["none","grayscale","greenscale"];function Ah(t){return Jt.includes(t)?t:j0.colorFilter}function _K(t){const a=Ah(t),n=Jt.indexOf(a);return Jt[(n+1)%Jt.length]}function qK(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Da,Math.min($8,n)):a}function Lh(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Z8,Math.min(Oa,n)):a}function DK(t){const n=(Lh(t,t)-Z8)/(Oa-Z8),i=$8-n*($8-Da);return Math.round(i)}function OK(t){const a=qK(t,t),n=($8-a)/($8-Da),i=Z8+n*(Oa-Z8);return Math.round(i)}function UK(t){return wh(t?.target)}function IK(){const{setMode:t,setDriveVector:a,setAuxMotors:n,nudgeServo:i,runMacro:u,stopAllMotion:h,registerInputState:d,setCameraPrecisionMode:v,toggleHeadlight:p,toggleLaser:x,startHorn:g,stopHorn:b,setMicPttActive:y,setSongNote:M,sendSong:L}=K4(),S=_1(b1=>b1.state.keymap),C=_1(b1=>b1.state.camera?.config?.nudgeDegrees),B=_1(b1=>b1.state.song?.note),A=_1(b1=>b1.state.roverId),H=_1(b1=>!!b1.state.horn?.active),j=o1(b1=>b1.session?.homeAssistant||null),_=k0(),{homeAssistantSetState:F,pushAlert:N}=O2(),{focusChat:V}=qa(),{isChatFocused:R}=kK(),{value:q}=I1("inputs",D4),{value:$,save:D}=I1("video",j0),W=Ah($?.colorFilter),n1=m.useMemo(()=>hh(S),[S]),Y=m.useMemo(()=>{const b1=new Set;return Object.values(n1).forEach(L1=>{L1&&L1.forEach(x1=>b1.add(x1))}),b1},[n1]),E=m.useMemo(()=>Ch(q),[q]),I=m.useMemo(()=>{const b1=D4.keyboard,L1=q?.keyboard??{},x1=Lh(typeof L1.tiltSpeed=="number"?L1.tiltSpeed:typeof L1.tiltIntervalMs=="number"?OK(L1.tiltIntervalMs):b1.tiltSpeed,b1.tiltSpeed);return DK(x1)},[q?.keyboard]),Z=m.useMemo(()=>Math.abs(C||1),[C]),t1=m.useRef(new Set),h1=m.useRef(fc),T=m.useRef(mc),O=m.useRef(null),K=m.useRef(null),l1=m.useRef(!1),m1=m.useRef(null),v1=m.useCallback(()=>{const b1=m1.current;if(!b1)return;const L1=new Set(t1.current),x1=Wc(L1,b1.keymap),C1=Hh(L1,b1.keymap,b1.keyboardSpeeds),g1=Sh(L1,b1.keymap),T1=EK(L1,b1.keymap);b1.setCameraPrecisionMode(x1),(g1.x!==h1.current.x||g1.y!==h1.current.y||g1.boost!==h1.current.boost)&&(h1.current=g1,b1.setDriveVector(g1,{source:dc,speedOptions:C1})),(T1.main!==T.current.main||T1.side!==T.current.side||T1.vacuum!==T.current.vacuum)&&(T.current=T1,b1.setAuxMotors(T1)),b1.registerInputState(dc,{keys:Array.from(L1),vector:g1,aux:T1})},[]),A1=m.useCallback(()=>{O.current&&(clearTimeout(O.current),O.current=null)},[]),k1=m.useCallback(()=>{const b1=m1.current;if(!b1)return 0;const L1=new Set(t1.current),x1=B2(b1.keymap.cameraUp,L1),C1=B2(b1.keymap.cameraDown,L1);return(x1?1:0)-(C1?1:0)},[]),R1=m.useCallback(()=>{if(k1()===0){A1();return}if(O.current)return;const L1=()=>{const x1=k1();if(x1===0){A1();return}const C1=m1.current;if(!C1){A1();return}const g1=new Set(t1.current),c1=Wc(g1,C1.keymap)?TK:C1.servoStep;C1.nudgeServo(x1*c1),O.current=setTimeout(L1,C1.servoRepeatMs)};O.current=setTimeout(L1,0)},[k1,A1]),O1=m.useCallback(()=>{K.current&&(clearTimeout(K.current),K.current=null)},[]),Q1=m.useCallback(()=>{const b1=m1.current;if(!b1)return 0;const L1=new Set(t1.current),x1=B2(b1.keymap.songNoteUp,L1),C1=B2(b1.keymap.songNoteDown,L1);return(x1?1:0)-(C1?1:0)},[]),P1=m.useCallback(b1=>{const L1=m1.current;if(!L1||b1===0)return;let C1=(typeof L1.songNote=="number"?L1.songNote:S0)+b1;C1>Zs?C1=$s:C1<$s&&(C1=Zs);const g1=L1.setSongNote(C1);L1.sendSong([{note:g1,duration:Yc}],{slot:0})},[]),h2=m.useCallback(()=>{if(Q1()===0){O1();return}if(K.current)return;const L1=()=>{const x1=Q1();if(x1===0){O1();return}P1(x1),K.current=setTimeout(L1,nK)};K.current=setTimeout(L1,0)},[Q1,O1,P1]),r1=m.useCallback(()=>{const b1=m1.current;t1.current.clear(),h1.current=fc,T.current=mc,A1(),O1(),l1.current&&(l1.current=!1,b1?.stopHorn()),b1?.setMicPttActive(!1),b1?.setCameraPrecisionMode(!1),b1?.stopAllMotion(),b1?.registerInputState(dc,{keys:[],vector:fc,aux:mc})},[A1,O1]),V1=m.useCallback(b1=>{const L1=m1.current,x1=L1?.homeAssistant;if(!x1?.enabled||!x1?.connected||x1?.lightPolicy?.locked||x1?.lightPolicy?.lockedOn)return;const g1=(x1.entities||[]).filter(T1=>(T1.type==="light"||T1.type==="switch")&&T1.available!==!1&&T1.state!=="unavailable");if(g1.length!==0){if(b1==="on"){const T1=g1.find(c1=>c1.state!=="on");T1&&L1.homeAssistantSetState(T1.id,"on").catch(()=>{});return}if(b1==="off")for(let T1=g1.length-1;T1>=0;T1-=1){const c1=g1[T1];if(c1.state==="on"){L1.homeAssistantSetState(c1.id,"off").catch(()=>{});break}}}},[]),Z1=m.useCallback(()=>{const b1=m1.current;if(!b1)return;const L1=_K(b1.videoColorFilter);b1.saveVideoSettings(x1=>({...x1??{},colorFilter:L1})),b1.pushAlert({id:"video-filter-active",title:"Video filter",message:`Rover video filter: ${L1}`,color:"#38bdf8",lifetimeMs:1600})},[]);m.useLayoutEffect(()=>{m1.current={actionTokens:Y,dockAssist:_,focusChat:V,homeAssistant:j,homeAssistantSetState:F,isChatFocused:R,keyboardSpeeds:E,keymap:n1,nudgeServo:i,pushAlert:N,registerInputState:d,roverId:A,runMacro:u,saveVideoSettings:D,sendSong:L,servoRepeatMs:I,servoStep:Z,setAuxMotors:n,setCameraPrecisionMode:v,setDriveVector:a,setMicPttActive:y,setMode:t,setSongNote:M,songNote:B,startHorn:g,stopAllMotion:h,stopHorn:b,toggleHeadlight:p,toggleLaser:x,videoColorFilter:W}}),m.useEffect(()=>{function b1(C1){const g1=m1.current;if(!g1||Ps()||UK(C1))return;const T1=qs(C1);if(T1.length===0)return;const c1=new Set(T1);if(B2(g1.keymap.chatFocus,c1)){C1.preventDefault(),r1(),g1.isChatFocused||g1.focusChat();return}T1.some(y1=>g1.actionTokens.has(y1))&&C1.preventDefault();const M1=T1.filter(y1=>!t1.current.has(y1));if(M1.forEach(y1=>t1.current.add(y1)),M1.length>0)if(M1.some(y1=>g1.keymap.driveMacro?.has(y1)))u1("drive_start",{roverId:g1.roverId||"",source:"keyboard"}),g1.dockAssist.exitAssist(),g1.setMode("drive"),g1.runMacro("drive-sequence");else if(M1.some(y1=>g1.keymap.dockMacro?.has(y1)))u1("dock_assist_toggle",{roverId:g1.roverId||"",source:"keyboard"}),g1.dockAssist.toggleAssist();else if(M1.some(y1=>g1.keymap.headlightToggle?.has(y1)))u1("headlight_toggle",{roverId:g1.roverId||"",source:"keyboard"}),g1.toggleHeadlight();else if(M1.some(y1=>g1.keymap.laserToggle?.has(y1)))u1("laser_toggle",{roverId:g1.roverId||"",source:"keyboard"}),g1.toggleLaser();else if(M1.some(y1=>g1.keymap.videoFilterCycle?.has(y1)))Z1();else if(M1.some(y1=>g1.keymap.hornHonk?.has(y1))){if(!l1.current){const y1=g1.startHorn();l1.current=!!y1}}else M1.some(y1=>g1.keymap.micPtt?.has(y1))?g1.setMicPttActive(!0):M1.some(y1=>g1.keymap.homeAssistantOn?.has(y1))?V1("on"):M1.some(y1=>g1.keymap.homeAssistantOff?.has(y1))&&V1("off");R1(),h2(),v1()}function L1(C1){const g1=m1.current;if(!g1||Ps())return;qs(C1).forEach(c1=>t1.current.delete(c1)),l1.current&&!B2(g1.keymap.hornHonk,t1.current)&&(l1.current=!1,g1.stopHorn()),B2(g1.keymap.micPtt,t1.current)||g1.setMicPttActive(!1),R1(),h2(),v1()}function x1(){r1()}return window.addEventListener("keydown",b1,{capture:!0}),window.addEventListener("keyup",L1,{capture:!0}),window.addEventListener("blur",x1),()=>{window.removeEventListener("keydown",b1,{capture:!0}),window.removeEventListener("keyup",L1,{capture:!0}),window.removeEventListener("blur",x1)}},[Z1,v1,R1,h2,r1,V1]);const D1=m.useRef(r1);return m.useEffect(()=>{D1.current=r1},[r1]),m.useEffect(()=>{D1.current()},[A]),m.useEffect(()=>{l1.current=H},[H]),m.useEffect(()=>()=>{A1(),O1()},[A1,O1]),null}const PK=1.6;function Vh(t){if(!t)return"unknown::none::0::0";const a=t.id||"unknown",n=t.mapping||"none",i=Array.isArray(t.axes)?t.axes.length:0,u=Array.isArray(t.buttons)?t.buttons.length:0;return`${a}::${n}::${i}::${u}`}function $K(t){return JSON.parse(JSON.stringify(t??{}))}function Bh(t,a){const n=$K(a);return n.meta={id:t?.id??"Unknown",mapping:t?.mapping??"none",axes:t?.axes?.length??0,buttons:t?.buttons?.length??0},n}function y6(t){return Number.isFinite(t)?Math.max(-1,Math.min(1,t)):0}function B8(t,a){if(!t)return 0;const n=Math.abs(t);return a==="expo"?Math.sign(t)*Math.pow(n,PK):t}function vc(t,a){const n=Math.abs(t);if(n<=a)return 0;const i=(n-a)/(1-a);return Math.sign(t)*i}function ZK(t,a,n){const i=Math.hypot(t,a);if(i<=n)return{x:0,y:0};const h=(i-n)/(1-n)/i;return{x:t*h,y:a*h}}function se(t,a){if(!t||!Array.isArray(t.axes))return null;const n=t.axes[a];return Number.isFinite(n)?y6(n):null}function Jc(t,a){if(!t||!Array.isArray(t.buttons))return null;const n=t.buttons[a];if(!n)return null;const i=typeof n.value=="number"?n.value:n.pressed?1:0;return{pressed:!!(n.pressed||i>.5),value:Math.max(0,Math.min(1,i))}}function pc(t,a=[]){for(const n of a)if(n){if(n.kind==="axis"){const i=se(t,n.index);if(i===null)continue;return{value:n.invert?-i:i,source:n}}if(n.kind==="buttonAxis"){const i=Jc(t,n.index);if(!i)continue;return{value:y6(i.value),source:n}}}return{value:0,source:null}}function GK(t,a=[]){for(const n of a){if(!n||n.kind!=="axisPair")continue;const i=se(t,n.x),u=se(t,n.y);if(i===null||u===null)continue;const h=n.invertX?-i:i,d=n.invertY?-u:u;return{x:h,y:d,source:n}}return{x:0,y:0,source:null}}function $3(t,a=[]){for(const n of a)if(n){if(n.kind==="button"){const i=Jc(t,n.index);if(!i)continue;return{pressed:i.pressed,source:n}}if(n.kind==="axisButton"){const i=se(t,n.index);if(i===null)continue;const u=n.direction||1,h=typeof n.threshold=="number"?n.threshold:.6;return{pressed:i*u>h,source:n}}if(n.kind==="buttonAxis"){const i=Jc(t,n.index);if(!i)continue;return{pressed:i.value>.5,source:n}}}return{pressed:!1,source:null}}function Nh(t,a){const n=a?.bindings??{},i=a?.calibration??{},u=n.drive??{},h=GK(t,u.sources);let d=y6(h.x),v=y6(h.y);const p=Math.min(Math.max(i.driveDeadzone??.18,0),.8),x=ZK(d,v,p);d=B8(x.x,i.driveCurve),v=B8(x.y,i.driveCurve);const g=n.cameraTilt??{},b=pc(t,g.sources),y=Math.min(Math.max(i.cameraDeadzone??.08,0),.8);let M=vc(y6(b.value),y);M=B8(M,i.cameraCurve);const L=Math.min(Math.max(i.auxDeadzone??.05,0),.6),S=n.mainBrush??{},C=pc(t,S.sources);let B=vc(y6(C.value),L);B=B8(B,i.auxCurve);const A=n.sideBrush??{},H=pc(t,A.sources);let j=vc(y6(H.value),L);j=B8(j,i.auxCurve);const _=$3(t,n.vacuum?.sources),F=$3(t,n.allAux?.sources),N=$3(t,n.mainReverse?.sources),V=$3(t,n.sideReverse?.sources),R=$3(t,n.driveMacro?.sources),q=$3(t,n.dockMacro?.sources),$=$3(t,n.headlightToggle?.sources),D=$3(t,n.laserToggle?.sources);return{driveVector:{x:d,y:v,boost:!1},cameraAxis:M,auxAxis:{main:B,side:j},buttons:{vacuum:_.pressed,allAux:F.pressed,mainReverse:N.pressed,sideReverse:V.pressed,driveMacro:R.pressed,dockMacro:q.pressed,headlightToggle:$.pressed,laserToggle:D.pressed},sources:{drive:h.source,cameraTilt:b.source,mainBrush:C.source,sideBrush:H.source,vacuum:_.source,allAux:F.source,mainReverse:N.source,sideReverse:V.source,driveMacro:R.source,dockMacro:q.source,headlightToggle:$.source,laserToggle:D.source}}}const E8=new Set;let M0=null,A0={pads:[],timestamp:0},Ct=!1,St=null;function Gs(){return jh().some(t=>t?.connected!==!1)}function jh(){if(typeof navigator>"u"||!navigator.getGamepads)return[];const t=navigator.getGamepads();return t?Array.from(t).filter(Boolean):[]}function YK(t){return{index:t.index,id:t.id,mapping:t.mapping,connected:t.connected!==!1,timestamp:t.timestamp,axes:Array.from(t.axes??[]),buttons:(t.buttons??[]).map(a=>({pressed:!!a?.pressed,value:typeof a?.value=="number"?a.value:a?.pressed?1:0})),signature:Vh(t)}}function oe(){A0={pads:jh().map(YK),timestamp:typeof performance<"u"?performance.now():Date.now()},E8.forEach(a=>a(A0))}function kh(){if(oe(),A0.pads.length===0){ta();return}M0=requestAnimationFrame(kh)}function Ys(){M0||(oe(),A0.pads.length!==0&&(M0=requestAnimationFrame(kh)))}function ta(){M0&&(cancelAnimationFrame(M0),M0=null)}function Fh(t){if(E8.add(t),!Ct&&typeof window<"u"){const a=()=>{oe(),E8.size!==0&&(Gs()?Ys():ta())};window.addEventListener("gamepadconnected",a),window.addEventListener("gamepaddisconnected",a),St=a,Ct=!0}return Gs()?Ys():oe(),t(A0),()=>{E8.delete(t),E8.size===0&&(ta(),Ct&&typeof window<"u"&&(window.removeEventListener("gamepadconnected",St),window.removeEventListener("gamepaddisconnected",St),St=null,Ct=!1))}}function KK(){const[t,a]=m.useState(A0);return m.useEffect(()=>Fh(a),[]),t}const d0="gamepad",v6={x:0,y:0,boost:!1},p6={main:0,side:0,vacuum:0},QK=100,XK=100;function gc(t,a){return t&&a&&t.x===a.x&&t.y===a.y&&t.boost===a.boost}function xc(t,a){return t&&a&&t.main===a.main&&t.side===a.side&&t.vacuum===a.vacuum}function WK(t){return t?Math.hypot(t.x||0,t.y||0):0}function JK(t){return t?!t.main&&!t.side&&!t.vacuum:!0}function tQ(t,a){if(!t||t.length===0)return null;if(a){const n=t.find(i=>i.signature===a);if(n)return n}return t[0]}function eQ(){const{setMode:t,setDriveVector:a,setAuxMotors:n,setServoAngle:i,runMacro:u,toggleHeadlight:h,toggleLaser:d,registerInputState:v}=K4(),p=_1(D=>D.state.camera?.angle),x=_1(D=>D.state.camera?.config),g=_1(D=>D.state.roverId),b=k0(),{value:y,save:M}=I1("gamepad",Z3),L=m.useRef(new Set),S=m.useRef(v6),C=m.useRef(p6),B=m.useRef({main:!1,side:!1}),A=m.useRef(new Map),H=m.useRef(0),j=m.useRef(0),_=m.useRef(0),F=m.useRef(null),N=m.useRef(null),V=m.useCallback(D=>{const W=N.current;if(!W)return;const n1=D.signature??Vh(D);W.gamepadSettings?.profiles?.[n1]||L.current.has(n1)||(L.current.add(n1),W.saveGamepadSettings(Y=>{const E=Y??Z3;if(E.profiles?.[n1])return E;const I=E?.defaults?.profile??v3,Z=Bh(D,I);return{...E,profiles:{...E.profiles??{},[n1]:Z}}}))},[]),R=m.useCallback((D,W)=>{const n1=A.current.get(D)||!1;return A.current.set(D,W),W&&!n1},[]),q=m.useCallback((D,W)=>{const n1=N.current,Y=n1?.cameraConfig;if(!n1||!Y)return;const E=typeof performance<"u"?performance.now():Date.now(),I=W?.cameraMode??"absolute",Z=Math.max(1,Math.min(180,W?.cameraSensitivity??60));if(I==="velocity"){const K=Math.min(50,E-_.current||16),l1=D*Z*(K/1e3);if(Math.abs(l1)<.01)return;const v1=(typeof F.current=="number"?F.current:typeof n1.cameraAngle=="number"?n1.cameraAngle:typeof Y.homeAngle=="number"?Y.homeAngle:0)+l1;n1.setServoAngle(v1),F.current=v1,_.current=E;return}const t1=typeof Y.minAngle=="number"?Y.minAngle:-45,h1=typeof Y.maxAngle=="number"?Y.maxAngle:45,T=typeof Y.homeAngle=="number"?Y.homeAngle:(t1+h1)/2,O=D<0?T+D*(T-t1):T+D*(h1-T);typeof F.current=="number"&&Math.abs(F.current-O)<.35&&E-_.current<80||(_.current=E,F.current=O,n1.setServoAngle(O))},[]),$=m.useMemo(()=>y?.activeSignature??null,[y?.activeSignature]);return m.useLayoutEffect(()=>{N.current={activeSignature:$,cameraAngle:p,cameraConfig:x,dockAssist:b,gamepadSettings:y,registerInputState:v,roverId:g,runMacro:u,saveGamepadSettings:M,setAuxMotors:n,setDriveVector:a,setMode:t,setServoAngle:i,toggleHeadlight:h,toggleLaser:d}}),m.useEffect(()=>Fh(D=>{const W=N.current;if(!W)return;const n1=tQ(D.pads,W.activeSignature);if(!n1){gc(S.current,v6)||(S.current=v6,W.setDriveVector(v6,{source:d0})),xc(C.current,p6)||(C.current=p6,W.setAuxMotors(p6)),A.current=new Map,B.current={main:!1,side:!1},H.current=0,j.current=0,W.registerInputState(d0,{connected:!1});return}if(RK()){gc(S.current,v6)||(S.current=v6,W.setDriveVector(v6,{source:d0})),xc(C.current,p6)||(C.current=p6,W.setAuxMotors(p6)),A.current=new Map,B.current={main:!1,side:!1},W.registerInputState(d0,{connected:!0,blocked:!0});return}V(n1);const Y=n1.signature,E=W.gamepadSettings?.profiles?.[Y]??W.gamepadSettings?.defaults?.profile??v3,I=Nh(n1,E);if(!gc(I.driveVector,S.current)){const l1=typeof performance<"u"?performance.now():Date.now();(WK(I.driveVector)<.02||l1-H.current>=QK)&&(S.current=I.driveVector,H.current=l1,W.setDriveVector(I.driveVector,{source:d0}))}const Z=E.calibration?.auxSideScale??.55,t1=Math.round(Math.min(Math.abs(I.auxAxis.main),1)*127),h1=Math.round(Math.min(Math.abs(I.auxAxis.side),1)*127),T=B.current.main?-t1:t1,O=B.current.side?-Math.round(h1*Z):Math.round(h1*Z);let K={main:I.auxAxis.main!==0?T:0,side:I.auxAxis.side!==0?O:0,vacuum:I.buttons.vacuum?127:0};if(I.buttons.allAux&&(K={main:127,side:127,vacuum:127}),!xc(K,C.current)){const l1=typeof performance<"u"?performance.now():Date.now();(JK(K)||l1-j.current>=XK)&&(C.current=K,j.current=l1,W.setAuxMotors(K))}I.buttons.mainReverse&&R("mainReverse",!0)?B.current.main=!B.current.main:I.buttons.mainReverse||R("mainReverse",!1),I.buttons.sideReverse&&R("sideReverse",!0)?B.current.side=!B.current.side:I.buttons.sideReverse||R("sideReverse",!1),I.buttons.driveMacro&&R("driveMacro",!0)?(u1("drive_start",{roverId:W.roverId||"",source:"gamepad"}),W.dockAssist.exitAssist(),W.setMode("drive"),W.runMacro("drive-sequence")):I.buttons.driveMacro||R("driveMacro",!1),I.buttons.dockMacro&&R("dockMacro",!0)?(u1("dock_assist_toggle",{roverId:W.roverId||"",source:"gamepad"}),W.dockAssist.toggleAssist()):I.buttons.dockMacro||R("dockMacro",!1),I.buttons.headlightToggle&&R("headlightToggle",!0)?(u1("headlight_toggle",{roverId:W.roverId||"",source:"gamepad"}),W.toggleHeadlight()):I.buttons.headlightToggle||R("headlightToggle",!1),I.buttons.laserToggle&&R("laserToggle",!0)?(u1("laser_toggle",{roverId:W.roverId||"",source:"gamepad"}),W.toggleLaser()):I.buttons.laserToggle||R("laserToggle",!1),Math.abs(I.cameraAxis)>.001&&q(I.cameraAxis,E.calibration),W.registerInputState(d0,{connected:!0,signature:Y,id:n1.id,index:n1.index,axes:n1.axes,buttons:n1.buttons,drive:I.driveVector,aux:K,cameraAxis:I.cameraAxis,bindings:I.sources})}),[V,R,q]),null}function zc(t){const a=Number(t);return!Number.isFinite(a)||a<=0?0:Math.min(ie,Math.round(a))}function Rh({disabled:t,onStart:a,onStop:n,keyLabel:i,active:u,heat:h=0,className:d="",defaultShowSettings:v=!0,showSettingsToggle:p=!1,compactSettings:x=!1}){const[g,b]=m.useState(v),{value:y,save:M}=I1("horn",M6),[L,S]=m.useState(y?.waveform||M6.waveform),C=m.useRef(null),B=m.useRef(null),[A,H]=m.useState(()=>[...Array.isArray(y?.freqs)?y.freqs:M6.freqs,0,0,0,0].slice(0,4).map(E=>zc(E)));m.useEffect(()=>{S(y?.waveform||M6.waveform),Array.isArray(y?.freqs)&&H([...y.freqs,0,0,0,0].slice(0,4).map(Y=>zc(Y)))},[y?.freqs,y?.waveform]);const j=!!u,_=Math.max(0,Math.min(1,Number(h)||0)),F=m.useMemo(()=>["mobile-touch-control group relative flex w-full flex-col gap-0.5 overflow-hidden rounded-xl border-2 px-1 py-1.5 text-xs font-semibold select-none no-touch-select",j?"border-fuchsia-300/70 bg-fuchsia-700 text-fuchsia-50":"border-cyan-300/70 bg-cyan-900 text-cyan-50 hover:bg-cyan-800","disabled:opacity-50",d].filter(Boolean).join(" "),[d,j]),N=L==="sine"?"sine":"saw",V=m.useCallback(Y=>{const E=Y.target.value==="sine"?"sine":"saw";S(E),M(I=>({...I??{},waveform:E}))},[M]),R=m.useCallback((Y,E)=>{H(I=>{const Z=[...I];return Z[Y]=zc(E),M(t1=>({...t1??{},freqs:Z})),Z})},[M]);m.useEffect(()=>{const Y=C.current;if(!Y)return;const E=I=>{const Z=I.target;if(!(Z instanceof Element))return;const t1=Z.closest("input[data-horn-freq-index]");if(!t1)return;const h1=Number(t1.dataset.hornFreqIndex);if(!Number.isInteger(h1)||h1<0||h1>=A.length)return;I.preventDefault(),I.stopPropagation();const T=I.deltaY<0?1:-1,O=Number(A[h1])||0;R(h1,O+T*25)};return Y.addEventListener("wheel",E,{passive:!1,capture:!0}),()=>{Y.removeEventListener("wheel",E,{capture:!0})}},[A,R]);const q=Y=>{if(t||B.current!==null)return;const E=Y.target?.tagName?.toLowerCase();E==="input"||E==="select"||E==="option"||E==="label"||E==="button"||(Y.preventDefault(),B.current=Y.pointerId,Y.currentTarget.setPointerCapture?.(Y.pointerId),a?.())},$=Y=>{if(B.current!==Y.pointerId)return;const E=Y.target?.tagName?.toLowerCase();E==="input"||E==="select"||E==="option"||E==="label"||E==="button"||(Y.preventDefault(),B.current=null,Y.currentTarget.releasePointerCapture?.(Y.pointerId),n?.())},D=Y=>{B.current===Y.pointerId&&(B.current=null,n?.())},W=()=>{B.current!==null&&(B.current=null,n?.())},n1=p?r.jsx("button",{type:"button",onClick:Y=>{Y.preventDefault(),b(E=>!E)},className:"mobile-touch-control rounded bg-black/40 px-1 py-0.5 text-[0.6rem] font-semibold text-white/90 hover:text-white",children:g?"Hide":"Settings"}):null;return r.jsxs("div",{role:"button",tabIndex:0,"aria-pressed":j,onPointerDown:q,onPointerUp:$,onPointerCancel:D,onLostPointerCapture:Y=>{B.current===Y.pointerId&&(B.current=null,n?.())},onContextMenu:Y=>Y.preventDefault(),onBlur:W,className:F,children:[r.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-70",style:{background:`linear-gradient(90deg, rgba(14,116,144,0.7) ${_*100}%, rgba(0,0,0,0) ${_*100}%)`}}),r.jsx("div",{className:`pointer-events-none absolute inset-0 transition-opacity ${j?"opacity-40":"opacity-0"}`,style:{background:"linear-gradient(90deg, rgba(217,70,239,0.75), rgba(244,114,182,0.35))"}}),r.jsxs("div",{className:"relative z-10 flex items-center justify-between gap-0.5",children:[r.jsxs("span",{className:"flex items-center gap-0.5 text-sm font-semibold",children:[r.jsx("span",{children:"Horn"}),i?r.jsx("span",{className:"rounded bg-black/40 px-1 py-0.5 text-[0.6rem] font-semibold text-white",children:i}):null]}),n1,r.jsx("span",{className:`rounded px-1 py-0.5 text-[0.65rem] font-semibold ${j?"bg-fuchsia-200 text-fuchsia-900":"bg-slate-800 text-slate-200"}`,children:j?"Honk":"Hold"})]}),g?x?r.jsxs("div",{ref:C,className:"relative z-10 flex flex-col gap-0.5 text-[0.65rem]",children:[r.jsxs("label",{className:"flex items-center justify-between gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-slate-300",children:"Wave"}),r.jsxs("select",{value:N,onChange:V,className:"rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-[0.65rem] text-slate-100",children:[r.jsx("option",{value:"saw",children:"Saw"}),r.jsx("option",{value:"sine",children:"Sine"})]})]}),r.jsx("div",{className:"grid grid-cols-2 gap-0.5",children:A.map((Y,E)=>r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-[0.6rem] text-slate-400",children:E+1}),r.jsx("input",{type:"number",min:0,max:ie,step:1,value:Y,"data-horn-freq-index":E,onChange:I=>R(E,I.target.value),className:"w-full rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-right text-[0.65rem] font-mono text-slate-100"})]},`horn-freq-${E}`))})]}):r.jsxs("div",{ref:C,className:"relative z-10 grid grid-cols-[minmax(0,1.2fr)_repeat(4,minmax(0,1fr))] items-center gap-0.5 text-[0.65rem]",children:[r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-slate-300",children:"Wave"}),r.jsxs("select",{value:N,onChange:V,className:"rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-[0.65rem] text-slate-100",children:[r.jsx("option",{value:"saw",children:"Saw"}),r.jsx("option",{value:"sine",children:"Sine"})]})]}),A.map((Y,E)=>r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-[0.6rem] text-slate-400",children:E+1}),r.jsx("input",{type:"number",min:0,max:ie,step:1,value:Y,"data-horn-freq-index":E,onChange:I=>R(E,I.target.value),className:"w-full rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-right text-[0.65rem] font-mono text-slate-100"})]},`horn-freq-${E}`))]}):null]})}function bc(t){return typeof t=="boolean"}function ue({label:t,on:a,disabled:n,onToggle:i,keyLabel:u,className:h="",heightClass:d=""}){const[v,p]=m.useState(bc(a)?a:null),x=m.useRef(!1),g=m.useRef(null);m.useEffect(()=>{if(bc(a)){const H=window.setTimeout(()=>p(a),0);return()=>window.clearTimeout(H)}},[a]),m.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);const b=bc(v),y=b?v:!1,M=b?y?"On":"Off":"—",L=y?"bg-emerald-500 text-emerald-950":"bg-slate-700 text-slate-200",S=()=>{if(n)return;const H=b?!y:!0;p(H),i?.(H)},C=H=>{n||H.pointerType!=="mouse"&&(H.preventDefault(),x.current=!0,g.current&&clearTimeout(g.current),g.current=window.setTimeout(()=>{x.current=!1,g.current=null},800),S())},B=H=>{if(x.current){H.preventDefault(),x.current=!1,g.current&&(clearTimeout(g.current),g.current=null);return}S()},A=m.useMemo(()=>["mobile-touch-control group flex w-full flex-col items-center justify-center gap-0.35 rounded-xl border-2 px-1 py-0.75 text-center select-none no-touch-select",y?"border-emerald-300/70 bg-emerald-800 text-emerald-50 hover:bg-emerald-700":"border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800","disabled:opacity-50",d,h].filter(Boolean).join(" "),[h,y,d]);return r.jsxs("button",{type:"button",onPointerDown:C,onClick:B,onContextMenu:H=>H.preventDefault(),disabled:n,"aria-pressed":y,className:A,children:[r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx("span",{className:"text-sm font-semibold",children:t}),u?r.jsx("span",{className:"rounded bg-slate-800 px-1 py-0.5 text-[0.6rem] font-semibold text-slate-200",children:u}):null]}),r.jsx("span",{className:`rounded px-1 py-0.5 text-[0.7rem] font-semibold ${L}`,children:M})]})}const Ks="mobile-drive-pad",cQ=100,ea=[{id:"precision",label:"precision",modifierAction:"slowModifier"},{id:"normal",label:"normal",modifierAction:null},{id:"turbo",label:"turbo",modifierAction:"boostModifier"}],aQ={main:0,side:0,vacuum:0},nQ={main:127,side:127,vacuum:127},rQ={main:-127,side:-127,vacuum:-127};function Qs({id:t,label:a,values:n,color:i,disabled:u,onPress:h,onRelease:d}){return r.jsx("button",{type:"button",disabled:u,onPointerDown:v=>{v.preventDefault(),h(t,n)},onPointerUp:()=>d(t),onPointerLeave:()=>d(t),onPointerCancel:()=>d(t),onContextMenu:v=>v.preventDefault(),className:`mobile-touch-control flex h-full w-full items-center justify-center rounded-xl border-2 px-1 py-0.75 text-center text-sm font-semibold text-white transition select-none no-touch-select ${i} hover:brightness-110 active:brightness-125 active:scale-[0.99] disabled:opacity-30`,children:a})}function lQ({disabled:t,onPress:a,onRelease:n}){return r.jsxs("div",{className:"mobile-touch-control grid min-h-0 grid-rows-2 gap-0.5",children:[r.jsx(Qs,{id:"aux-vac-forward",label:"Vacuum Forward",values:nQ,color:"bg-fuchsia-600",disabled:t,onPress:a,onRelease:n}),r.jsx(Qs,{id:"aux-vac-backward",label:"Vacuum Backward",values:rQ,color:"bg-fuchsia-800",disabled:t,onPress:a,onRelease:n})]})}function yc(t,a,n){return Number.isFinite(t)?Math.max(a,Math.min(n,t)):a}function iQ(t){return typeof t!="number"||Number.isNaN(t)?"—":`${t>0?"+":""}${t.toFixed(1)}°`}function sQ({value:t,min:a,max:n,step:i=.5,disabled:u=!1,onChange:h}){const d=m.useRef(null),v=m.useRef(null),p=m.useMemo(()=>n===a?50:(yc(t,a,n)-a)/(n-a)*100,[n,a,t]),x=u?"opacity-50":"",g=m.useCallback(S=>{const C=d.current;if(!C)return t;const B=C.getBoundingClientRect(),A=Math.max(1,B.height),H=1-(S.clientY-B.top)/A,j=a+yc(H,0,1)*(n-a),_=Math.round(j/i)*i;return yc(_,a,n)},[n,a,i,t]),b=m.useCallback(S=>{const C=g(S);h?.(C)},[h,g]),y=m.useCallback(S=>{u||v.current===null&&(S.preventDefault(),v.current=S.pointerId,d.current?.setPointerCapture?.(S.pointerId),b(S))},[u,b]),M=m.useCallback(S=>{v.current===S.pointerId&&(S.preventDefault(),b(S))},[b]),L=m.useCallback(S=>{v.current===S.pointerId&&(S.preventDefault(),v.current=null,d.current?.releasePointerCapture?.(S.pointerId))},[]);return r.jsxs("div",{className:"mobile-touch-control flex h-full items-center justify-center gap-0.5",children:[r.jsx("span",{className:"mobile-touch-control text-sm font-semibold text-emerald-50 [writing-mode:vertical-rl] rotate-180",children:"Camera tilt"}),r.jsxs("div",{ref:d,role:"slider","aria-label":"Camera tilt","aria-valuemin":a,"aria-valuemax":n,"aria-valuenow":Number.isFinite(t)?t:a,"aria-valuetext":iQ(t),"aria-disabled":u,tabIndex:u?-1:0,onPointerDown:y,onPointerMove:M,onPointerUp:L,onPointerCancel:L,onLostPointerCapture:S=>{v.current===S.pointerId&&(v.current=null)},onContextMenu:S=>S.preventDefault(),style:{touchAction:"none"},className:`mobile-touch-control mobile-drag-control relative h-full w-6 rounded-full border border-emerald-100/80 bg-emerald-950 shadow-inner focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-emerald-200 ${x}`.trim(),children:[r.jsx("div",{className:"pointer-events-none absolute inset-x-1 bottom-1 rounded-full bg-emerald-400",style:{height:`${p}%`}}),r.jsx("div",{className:"pointer-events-none absolute left-1/2 h-3.5 w-3.5 -translate-x-1/2 rounded-full border border-emerald-950 bg-emerald-200 shadow",style:{bottom:`clamp(0.25rem, calc(${p}% - 0.4375rem), calc(100% - 1.125rem))`}})]})]})}const oQ=.5,uQ=.1;function hQ(){const t=_1(Z=>Z.state.roverId),a=o1(Z=>!!Z.session?.homeAssistant?.lightPolicy?.lockedOn),n=_1(Z=>Z.state.camera),i=_1(Z=>Z.state.horn),u=_1(Z=>Z.pipeline?.headlight),h=_1(Z=>Z.pipeline?.headlightState),d=_1(Z=>Z.pipeline?.laser),v=_1(Z=>Z.pipeline?.laserState),p=_1(Z=>Z.pipeline?.horn),{setServoAngle:x,setHeadlight:g,setLaser:b,setAuxMotors:y,startHorn:M,stopHorn:L}=K4(),S=k0(),C=!t,B=m.useRef(null),A=n?.config,H=!!(t&&n?.enabled&&A),j=!!(t&&u),_=!!(t&&d),F=!!(t&&p),N=i?.overheated,V=typeof A?.minAngle=="number"?A.minAngle:-45,R=typeof A?.maxAngle=="number"?A.maxAngle:45,q=typeof n?.angle=="number"?n.angle:typeof A?.homeAngle=="number"?A.homeAngle:(V+R)/2,$=!!(C||S.cameraLocked),D=n?.precisionMode?uQ:oQ,W=m.useCallback(Z=>{j&&(u1("headlight_toggle",{roverId:t,source:"mobile_control",enabled:!!Z}),g(Z))},[j,t,g]),n1=m.useCallback(Z=>{_&&(u1("laser_toggle",{roverId:t,source:"mobile_control",enabled:!!Z}),b(Z))},[_,t,b]),Y=m.useCallback(()=>(u1("horn_start",{roverId:t,source:"mobile_control"}),M()),[t,M]),E=m.useCallback((Z,t1)=>{C||(B.current=Z,y(t1))},[C,y]),I=m.useCallback(Z=>{C||B.current===Z&&(B.current=null,y(aQ))},[C,y]);return r.jsxs("div",{className:"mobile-touch-control grid h-full min-h-0 w-full grid-rows-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)] gap-0.5 text-slate-100",children:[r.jsx(lQ,{disabled:C,onPress:E,onRelease:I}),r.jsxs("div",{className:"mobile-touch-control flex min-h-0 items-stretch gap-0.5",children:[H?r.jsx("div",{className:"mobile-touch-control flex-1 min-h-0 rounded-xl border-2 border-emerald-300/70 bg-emerald-900 px-1 py-1 text-emerald-50",children:r.jsx(sQ,{value:q,min:V,max:R,step:D,disabled:$,onChange:x})}):null,j||_?r.jsxs("div",{className:"mobile-touch-control flex min-h-0 flex-1 flex-col gap-0.5",children:[j?r.jsx(ue,{label:"Headlight",on:h?.headlightOn,disabled:C,onToggle:W,heightClass:"h-full"}):null,_?r.jsx(ue,{label:"Laser",on:v?.laserOn,disabled:C||a,onToggle:n1,heightClass:"h-full"}):null]}):null]}),r.jsx("div",{className:"mobile-touch-control min-h-0",children:F?r.jsx(Rh,{disabled:C||N,onStart:Y,onStop:L,active:i?.active,heat:i?.heat,defaultShowSettings:!1,showSettingsToggle:!0,compactSettings:!0,className:"h-full"}):null})]})}function he({layout:t,className:a=""}){return r.jsx("div",{className:`mobile-touch-control flex flex-col gap-0.5 ${a}`.trim(),"data-mobile-layout":t,children:r.jsx(hQ,{})})}function Eh(t){const a=t?.oiModeLabel||"Unknown",n=a.toLowerCase(),i=t?.chargingStateLabel||"",u=!!t?.homeBase,h=u&&i.toLowerCase()!=="not charging"&&i!=="";return{driving:n==="full",docked:u,charging:h,dockedNotCharging:u&&!h,dockingInProgress:!u&&!h&&n==="passive",oiLabel:a,chargingLabel:i}}function Th(t){const a=C6(t,Va,La);return m.useMemo(()=>Eh(a),[a])}function f0({value:t,tone:a="neutral"}){const n=a==="good"?"border-emerald-200 bg-emerald-600 text-white":a==="warn"?"border-amber-200 bg-amber-600 text-white":a==="bad"?"border-red-200 bg-red-600 text-white":"border-slate-200/30 bg-slate-700 text-slate-100";return r.jsx("div",{className:`flex flex-1 flex-col items-center justify-center rounded-lg border px-0.75 py-0.5 text-center ${n}`,children:r.jsx("span",{className:"text-base font-semibold md:text-lg",children:t})})}function Xs({label:t}){return t?r.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:t}):null}function Mc({label:t,tone:a}){const n=a==="emerald"?"border-emerald-200/70 bg-emerald-600/70 text-emerald-50":a==="amber"?"border-amber-200/70 bg-amber-600/70 text-amber-50":"border-indigo-200/70 bg-indigo-600/70 text-indigo-50";return r.jsx("span",{className:`rounded-full border px-0.5 py-0.15 text-[0.7rem] font-semibold ${n}`,children:t})}function dQ({instructions:t,onConfirm:a,onCancel:n,pending:i}){return r.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/70 p-1",children:r.jsxs("div",{className:"surface w-full max-w-md space-y-0.5 border border-indigo-700 bg-indigo-950/90 p-1 text-slate-100 shadow-2xl",children:[r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-lg font-semibold text-indigo-50",children:"Manual Docking Assist"}),r.jsx("p",{className:"text-sm text-slate-200",children:t.summary}),r.jsx(ca,{steps:t.steps,tone:"indigo"})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5 text-sm",children:[r.jsx("button",{type:"button",onClick:n,className:"bg-slate-700 px-0.5 py-1 font-semibold text-slate-100 transition hover:bg-slate-600",children:"Cancel"}),r.jsx("button",{type:"button",disabled:i,onClick:a,className:"bg-indigo-600 px-0.5 py-1 font-semibold text-indigo-50 transition hover:bg-indigo-500 disabled:opacity-50",children:i?"Starting…":"Enter Assist"})]})]})})}function _h({layout:t="desktop",expand:a=!1,fill:n=!1,driveDockState:i,compactHeightClass:u=""}){const h=t==="mobile",d=_1(D1=>D1.state.roverId),v=_1(D1=>D1.state.keymap),p=K4(),x=k0(),g=C6(d,Va,La),b=i??Eh(g),{driving:y,docked:M,charging:L,dockingInProgress:S}=b,[C,B]=m.useState(null),[A,H]=m.useState(!1),[j,_]=m.useState(!1),F=!!x.active,N=!d||C!==null,V=!d||C!==null,R=_2(v?.driveMacro?.[0]),q=_2(v?.dockMacro?.[0]),$={summary:"Use assist mode to manually line up with the dock.",steps:["Line up the center dot of your rover with the center of the dock","The UI will indicate when you are successfully docked","When good contact is made, the dock will stop flashing."]},D={summary:"You must enable driving mode before you can move the rover.",steps:["Press the keybind or tap this button to enable driving mode","Once ready (should be instant), this dialog will change, and you will be able to move"]},W=M?"Docked":"Undocked",n1=M?"good":"bad",Y=L?"Charging":M?"Charging soon...":"—",E=L?"good":M?"warn":"bad",I=async()=>{if(!(!d||C)){B("drive"),u1("drive_return",{roverId:d,source:"drive_dock_action"});try{x.exitAssist(),p.setMode("drive"),await p.runMacro("drive-sequence"),u1("drive_return_result",{roverId:d,status:"accepted"})}catch(D1){u1("drive_return_result",{roverId:d,status:"failed",reason:D1?.message||"unknown"}),alert(D1.message)}finally{B(null)}}},Z=async()=>{if(!(!d||C)){H(!1),_(!1),B("drive"),u1("drive_start",{roverId:d,source:"drive_dock_action"});try{x.exitAssist(),p.setMode("drive"),await p.runMacro("drive-sequence"),u1("drive_start_result",{roverId:d,status:"accepted"})}catch(D1){u1("drive_start_result",{roverId:d,status:"failed",reason:D1?.message||"unknown"}),alert(D1.message)}finally{B(null)}}},t1=async()=>{if(!(!d||C)){B("dock"),u1("dock_assist_start",{roverId:d});try{x.enterAssist(),u1("dock_assist_start_result",{roverId:d,status:"accepted"})}catch(D1){u1("dock_assist_start_result",{roverId:d,status:"failed",reason:D1?.message||"unknown"}),alert(D1.message)}finally{B(null),H(!1),_(!1)}}},h1=()=>{if(!V){if(F){x.exitAssist(),u1("dock_assist_exit",{roverId:d});return}_(!0),H(!0),u1("dock_assist_open",{roverId:d})}},T="mobile-touch-control flex w-full flex-col gap-0.5 overflow-hidden rounded-xl border-2 px-0.75 py-0.75 text-slate-100 shadow-md transition hover:-translate-y-0.5 hover:shadow-xl focus-visible:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-60 select-none no-touch-select",O="text-center",K="items-center justify-between",l1="items-center justify-center",m1=h?"text-sm font-semibold":"",v1="border-emerald-300/70 bg-emerald-800 text-emerald-50 hover:bg-emerald-700 focus-visible:ring-emerald-300",A1="border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800 focus-visible:ring-amber-300",k1="border-indigo-300/70 bg-indigo-900 text-indigo-50 hover:bg-indigo-800 focus-visible:ring-indigo-300",R1="border-cyan-300/70 bg-cyan-900 text-cyan-50 hover:bg-cyan-800 focus-visible:ring-cyan-300",O1="border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800 focus-visible:ring-amber-300",P1=a||S,h2=P1?"h-full flex-1":n?"flex-1":"",r1=h&&!P1?u:"",V1=h&&!P1?l1:K,Z1=h&&!P1&&y&&M;if(!y&&!S)return r.jsxs("button",{type:"button",onClick:Z,onContextMenu:D1=>D1.preventDefault(),disabled:N,className:`${T} ${h2} ${r1} ${O} ${V1} ${m1} ${v1}`,children:[r.jsxs("div",{className:"space-y-0.5 w-full",children:[r.jsxs("div",{className:"flex w-full flex-col items-center gap-0.25",children:[r.jsx("span",{className:"text-base font-semibold text-emerald-50 md:text-lg",children:"Start Driving"}),!h&&P1?r.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:[R?r.jsx(Xs,{label:R}):null,r.jsx(Mc,{label:"Click to start",tone:"emerald"})]}):null]}),P1?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm text-emerald-50/90",children:D.summary}),r.jsx(ca,{steps:D.steps,tone:"emerald"})]}):null]}),P1?r.jsxs("div",{className:"flex w-full flex-1 flex-col gap-0.5 self-stretch",children:[r.jsx(f0,{label:"Dock",value:W,tone:n1}),r.jsx(f0,{label:"Charge",value:Y,tone:E})]}):null]});if(S){const D1={summary:"The rover is currently attempting to dock itself due to being idle.",steps:["Click to return to driving mode."]};return r.jsxs("button",{type:"button",disabled:N,onClick:I,onContextMenu:b1=>b1.preventDefault(),className:`${T} ${h2} ${r1} ${O} ${V1} ${m1} ${A1}`,children:[r.jsxs("div",{className:"space-y-0.5 w-full",children:[r.jsxs("div",{className:"flex w-full flex-col items-center gap-0.25",children:[r.jsx("span",{className:"text-base font-semibold text-amber-50 md:text-lg",children:"Attempting to auto-dock..."}),P1?r.jsx("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:r.jsx(Mc,{label:"Return to driving mode",tone:"emerald"})}):null]}),P1?r.jsx("p",{className:"text-sm text-amber-50/90",children:D1.summary}):null]}),P1?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex w-full flex-1 flex-col gap-0.5 self-stretch",children:[r.jsx(f0,{label:"Dock",value:W,tone:n1}),r.jsx(f0,{label:"Charge",value:Y,tone:E})]}),h?null:r.jsx(ca,{steps:D1.steps,tone:"amber"})]}):null]})}return r.jsxs(r.Fragment,{children:[r.jsxs("button",{type:"button",disabled:V,onClick:h1,onContextMenu:D1=>D1.preventDefault(),className:h?`flex w-full ${T} ${r1} ${O} ${V1} ${m1} ${F?R1:Z1?O1:k1}`:`${T} ${h2} ${O} ${K} ${m1} ${F?R1:k1}`,children:[r.jsxs("div",{className:"flex w-full flex-col items-center gap-0.25",children:[r.jsx("span",{className:"text-base font-semibold text-indigo-50 md:text-lg",children:Z1?"Docked!":F?"Exit Docking Assist":"Dock and charge"}),!h&&P1?r.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:[q?r.jsx(Xs,{label:q}):null,r.jsx(Mc,{label:F?"Click to exit assist":"Click to enable assist",tone:"indigo"})]}):null]}),!h&&P1&&r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm text-indigo-50/90",children:"Get near a dock and press this button to enter docking assist mode."}),r.jsxs("div",{className:"flex w-full flex-1 flex-col gap-0.5 self-stretch",children:[r.jsx(f0,{label:"Dock",value:W,tone:n1}),r.jsx(f0,{label:"Charge",value:Y,tone:E})]})]})]}),j||!h&&A?r.jsx(dQ,{instructions:$,pending:C==="dock",onCancel:()=>{_(!1),H(!1)},onConfirm:t1}):null]})}function ca({steps:t,tone:a="emerald"}){const n=a==="emerald"?"bg-emerald-900/60 text-emerald-50/90 border-emerald-700/60":a==="amber"?"bg-amber-900/60 text-amber-50/90 border-amber-700/60":"bg-indigo-900/60 text-indigo-50/90 border-indigo-700/60",i=a==="emerald"?"text-emerald-200":a==="amber"?"text-amber-200":"text-indigo-200";return r.jsx("div",{className:`space-y-0.5 rounded border px-0.5 py-0.35 text-left ${n}`,children:t.map((u,h)=>r.jsxs("div",{className:"text-[0.85rem] leading-snug break-words",children:[r.jsxs("div",{className:"flex items-start",children:[r.jsxs("span",{className:`mr-0 align-top text-[0.75rem] font-semibold ${i}`,children:[h+1,"."]}),r.jsx("span",{className:"align-top",children:u})]}),h(t[`${a.row}:${a.col}`]=a,t),{}),te=Ua.find(t=>t.id==="stop");function z0(t,a,n){return Number.isFinite(t)?Math.max(a,Math.min(n,t)):a}function qh(){return typeof window>"u"?{width:x0,height:x0}:{width:window.innerWidth||x0,height:window.innerHeight||x0}}function mQ(t){if(!t)return x0;const a=t.getBoundingClientRect(),n=qh(),i=Math.max(96,Math.min(a.width,n.width-z6*2));return Math.round(i)}function vQ(t,a,n){const i=qh(),u=n/2,h=Math.min(i.width-u,u+z6),d=Math.max(u+z6,i.width-u-z6),v=Math.min(i.height-u,u+z6),p=Math.max(u+z6,i.height-u-z6);return{x:z0(t,h,d),y:z0(a,v,p)}}function pQ(t,a,n){const i=t?.size||x0,u=i/2,h=i/wc,d=z0(a-t.center.x+u,0,i-1),v=z0(n-t.center.y+u,0,i-1),p=z0(Math.floor(d/h),0,wc-1),x=z0(Math.floor(v/h),0,wc-1);return fQ[`${x}:${p}`]||te}function gQ({center:t,size:a,activeCellId:n}){if(typeof document>"u")return null;const i=a/2;return Np.createPortal(r.jsx("div",{className:"pointer-events-none fixed inset-0 z-[1000]","aria-hidden":"true",children:r.jsx("div",{className:"absolute grid grid-cols-3 grid-rows-3 overflow-hidden rounded-lg border-2 border-cyan-300/80 bg-slate-950/90 shadow-2xl shadow-cyan-950/50 backdrop-blur-sm",style:{height:a,left:t.x-i,top:t.y-i,width:a},children:Ua.map(u=>{const h=u.id===n,d=u.id==="stop",v="flex items-center justify-center border border-slate-700/80 px-1 text-center text-xs font-semibold leading-tight",p=h?d?"bg-rose-500 text-white":"bg-cyan-300 text-slate-950":d?"bg-slate-900 text-slate-300":"bg-slate-800/80 text-slate-200";return r.jsx("div",{className:`${v} ${p}`,children:u.label},u.id)})})}),document.body)}function xQ({activeInputLabel:t="stop",disabled:a,onCellChange:n,onStop:i}){const u=m.useRef(null),h=m.useRef(null),d=m.useRef(null),v=m.useRef(null),[p,x]=m.useState(null),g=m.useCallback(()=>{h.current=null,v.current=null,x(null),i?.()},[i]),b=m.useCallback(S=>{const C=d.current;if(!C)return;const B=pQ(C,S.clientX,S.clientY);v.current!==B.id&&(v.current=B.id,n?.(B)),x({...C,activeCellId:B.id})},[n]),y=m.useCallback(S=>{if(a||h.current!==null)return;S.preventDefault();const C=u.current;if(!C)return;h.current=S.pointerId;const B=mQ(C),A=vQ(S.clientX,S.clientY,B);d.current={center:A,size:B,activeCellId:te.id},C.setPointerCapture?.(S.pointerId),v.current=te.id,x(d.current),n?.(te)},[a,n]),M=m.useCallback(S=>{a||h.current!==S.pointerId||(S.preventDefault(),b(S))},[a,b]),L=m.useCallback(S=>{if(h.current!==S.pointerId)return;S.preventDefault();const C=S.pointerId;g(),u.current?.releasePointerCapture?.(C)},[g]);return m.useEffect(()=>{if(!a)return;const S=setTimeout(g,0);return()=>clearTimeout(S)},[a,g]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:u,role:"presentation",className:"mobile-touch-control mobile-drag-control relative flex h-full min-h-[10rem] w-full select-none items-center justify-center overflow-hidden text-slate-100",style:{touchAction:"none"},onPointerDown:y,onPointerMove:M,onPointerUp:L,onPointerCancel:L,onLostPointerCapture:S=>{h.current===S.pointerId&&g()},onContextMenu:S=>S.preventDefault(),children:[r.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-0 border-b border-slate-700 bg-slate-950 px-1.5 py-0.5 text-center",children:r.jsx("span",{className:"font-mono text-xs font-semibold text-cyan-200",children:t})}),r.jsxs("div",{className:"pointer-events-none flex flex-col items-center gap-0.5 px-2 pt-5 text-center",children:[r.jsx("span",{className:"text-sm font-semibold text-slate-100",children:"drive pad"}),r.jsx("span",{className:"text-xs leading-tight text-slate-300",children:"hold and drag"})]})]}),p?r.jsx(gQ,{center:p.center,size:p.size,activeCellId:p.activeCellId}):null]})}function zQ(t,a){const n=t?.[a];return!n||n.size===0?null:n.values().next().value??null}function bQ(t){return ea.find(a=>a.id===t)||ea[1]}function yQ({disabled:t=!1}){const a=_1(F=>F.state.keymap),{setCameraPrecisionMode:n,setDriveVector:i,registerInputState:u}=K4(),{value:h}=I1("inputs",D4),[d,v]=m.useState("normal"),[p,x]=m.useState("stop"),g=m.useRef("normal"),b=m.useRef(null),y=m.useRef(null),M=m.useMemo(()=>hh(a),[a]),L=m.useMemo(()=>Ch(h),[h]),S=m.useCallback(()=>{y.current&&(clearInterval(y.current),y.current=null)},[]),C=m.useCallback((F,N=g.current)=>{const V=new Set,R=bQ(N);return[...Array.isArray(F?.actions)?F.actions:[],R.modifierAction].filter(Boolean).forEach($=>{const D=zQ(M,$);D&&V.add(D)}),V},[M]),B=m.useCallback((F,N="move",V=g.current)=>{if(t)return;const R=C(F,V),q=Sh(R,M),$=Hh(R,M,L);n(V==="precision"),i(q,{source:Ks,speedOptions:$}),u(Ks,{keys:Array.from(R),vector:q,activeCell:F?.id??"stop",speedMode:V,lastEvent:N})},[C,t,L,M,u,n,i]),A=m.useCallback((F="stop")=>{S(),b.current=null,x("stop"),B({id:"stop",actions:[]},F,g.current)},[S,B]),H=m.useCallback(()=>{y.current||(y.current=setInterval(()=>{b.current&&B(b.current,"repeat")},cQ))},[B]),j=m.useCallback(F=>{t||(b.current=F,x(F?.label||"stop"),B(F,"move"),H())},[t,B,H]),_=m.useCallback(F=>{v(F),g.current=F,n(F==="precision"),b.current&&B(b.current,"speed",F)},[B,n]);return m.useEffect(()=>()=>{S(),n(!1)},[S,n]),m.useEffect(()=>{t&&(A("disabled"),n(!1))},[t,n,A]),r.jsxs("div",{className:"mobile-touch-control flex flex-1 min-h-0 flex-col overflow-hidden rounded-xl border-2 border-slate-700 bg-slate-900 text-slate-100 shadow-md",children:[r.jsx("div",{className:"mobile-touch-control grid grid-cols-3 gap-0.5 border-b border-slate-700 bg-slate-950 p-0.5",children:ea.map(F=>{const N=d===F.id,V=F.id==="precision"?L.precisionSpeed:F.id==="turbo"?L.turboSpeed:L.baseSpeed;return r.jsxs("button",{type:"button",className:`mobile-touch-control min-h-9 rounded-md px-1 text-xs font-semibold ${N?"bg-cyan-300 text-slate-950":"bg-slate-800 text-slate-200"}`,onClick:()=>_(F.id),disabled:t,children:[r.jsx("span",{className:"block leading-tight",children:F.label}),r.jsx("span",{className:"block font-mono text-[0.7rem] leading-tight",children:V})]},F.id)})}),r.jsx("div",{className:"mobile-touch-control min-h-0 flex-1",children:r.jsx(xQ,{activeInputLabel:p,disabled:t,onCellChange:j,onStop:()=>A("stop")})})]})}function MQ({layout:t}){const a=_1(p=>p.state.roverId),n=Th(a),i=n.docked&&!n.driving,u=i||n.dockingInProgress,h=!a,v=`mobile-touch-control flex h-full flex-col gap-0.5 text-slate-100 ${i?"max-h-screen self-start":""}`;return r.jsxs("div",{className:v,"data-mobile-layout":t,children:[r.jsx(_h,{layout:"mobile",expand:u,driveDockState:n,compactHeightClass:"min-h-[5rem]"}),u?null:r.jsx(yQ,{disabled:h})]})}function de({layout:t,className:a=""}){return r.jsx("div",{className:`mobile-touch-control flex flex-col gap-0.5 ${a}`.trim(),"data-mobile-layout":t,children:r.jsx(MQ,{layout:t==="landscape"?"landscape":"portrait"})})}function wQ(t=[],a={}){const n=N2(),{enabled:i=!0,version:u=null}=a,[h,d]=m.useState({}),v=m.useRef(new Map),p=m.useMemo(()=>t.map(S=>typeof S=="string"?S:S.id),[t]),x=m.useMemo(()=>{const S=p.join("|");return u?`${S}|v:${u}`:S},[p,u]),g=m.useRef([]),[b,y]=m.useState(0),M=m.useRef(new Map),L=typeof window<"u"&&new URLSearchParams(window.location.search).has("debugSnapshots");return m.useEffect(()=>{if(!n)return;const S=()=>y(C=>C+1);return n.on("connect",S),()=>n.off("connect",S)},[n]),m.useEffect(()=>{g.current=p},[x,p]),m.useEffect(()=>{v.current.forEach(S=>URL.revokeObjectURL(S)),v.current.clear(),d({})},[x]),m.useEffect(()=>{if(!i){v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear(),d({});return}if(!g.current.length||!n)return;let S=!1;const C=g.current,B=(H={},j)=>{if(S||!H.id||!j)return;const _=j.byteLength??j.length??0,F=Date.now(),N=M.current.get(H.id)||{count:0,totalBytes:0,lastLogAt:0},V={count:N.count+1,totalBytes:N.totalBytes+_,lastLogAt:N.lastLogAt};if(L&&(!V.lastLogAt||F-V.lastLogAt>=1e4)){const D=V.count?V.totalBytes/V.count:0;console.log("[roomCamera]",H.id,`frame=${_}B`,`avg=${Math.round(D)}B`,`count=${V.count}`),V.lastLogAt=F}M.current.set(H.id,V);const R=new Blob([j],{type:"image/jpeg"}),q=URL.createObjectURL(R),$=v.current.get(H.id);$&&URL.revokeObjectURL($),v.current.set(H.id,q),d(D=>({...D,[H.id]:{status:"playing",ts:H.ts||Date.now(),error:null,objectUrl:q}}))},A=(H={})=>{S||!H.id||d(j=>({...j,[H.id]:{...j[H.id]||{},status:H.error?"error":j[H.id]?.status||"connecting",error:H.error||null,ts:H.ts||j[H.id]?.ts||null,objectUrl:j[H.id]?.objectUrl||null}}))};return n.on("roomCamera:frame",B),n.on("roomCamera:status",A),n.emit("roomCamera:subscribe",{ids:C},(H={})=>{H.error}),()=>{S=!0,n.emit("roomCamera:unsubscribe",{ids:C}),n.off("roomCamera:frame",B),n.off("roomCamera:status",A),v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear()}},[n,x,i,b,L]),h}function CQ({feed:t,label:a}){const[n,i]=m.useState(!1);m.useEffect(()=>{t&&(!t.ts&&!t.objectUrl||i(h=>!h))},[t?.ts,t?.objectUrl]);const u=m.useMemo(()=>t?t.error?`Error: ${t.error}`:t.status||"Connecting…":"Connecting…",[t]);return r.jsxs("div",{className:"relative w-full overflow-hidden rounded bg-black",style:{aspectRatio:"4 / 3"},children:[t?.objectUrl?r.jsx("img",{src:t.objectUrl,alt:a,className:"h-full w-full object-cover"}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-300",children:"Waiting for frame…"}),r.jsx("div",{className:"pointer-events-none absolute left-0 top-0 bg-black/70 px-0.5 py-0.5 text-xs font-semibold text-white",children:a}),r.jsxs("div",{className:"pointer-events-none absolute bottom-0 left-0 m-0 flex items-center gap-0.5 rounded bg-black/70 px-0.5 py-0.25 text-[0.7rem] text-slate-100",children:[r.jsx("span",{className:`h-2 w-2 rounded-full ${n?"bg-emerald-400":"bg-slate-500"}`}),r.jsx("span",{children:u})]})]})}function SQ(){return r.jsxs(N1,{title:"Room Cameras",bodyClassName:"space-y-0.5 text-sm",children:[r.jsx("p",{className:"text-center text-slate-400",children:"No room cameras configured."}),r.jsx("p",{className:"text-center text-slate-500",children:"Add entries to server config to populate this list."})]})}const Dh=["horizontal","vertical"],HQ="0px";function Cc(t,a){return Dh.includes(t)?t:a}function AQ(){const t=m.useRef(null),[a,n]=m.useState(!1);return m.useEffect(()=>{const i=t.current;if(!i||typeof window>"u"||typeof document>"u")return;let u=!0;const h=()=>{n(u&&document.visibilityState!=="hidden")},d=()=>{h()};if(document.addEventListener("visibilitychange",d),typeof IntersectionObserver!="function")return h(),()=>{document.removeEventListener("visibilitychange",d)};const v=new IntersectionObserver(([p])=>{u=!!p?.isIntersecting,h()},{root:null,rootMargin:HQ,threshold:0});return v.observe(i),()=>{v.disconnect(),document.removeEventListener("visibilitychange",d)}},[]),{panelRef:t,isPanelVisible:a}}function Ia({defaultOrientation:t="horizontal",orientation:a,hideLayoutToggle:n=!1,hideHeader:i=!1,panelId:u=null}){const h=o1(j=>j.session?.roomCameras||[]),d=m.useMemo(()=>h.map(j=>j.id),[h]),{panelRef:v,isPanelVisible:p}=AQ(),x=wQ(d,{enabled:p}),{value:g,save:b}=I1("roomCameraPanels",{}),[y,M]=m.useState(()=>Cc(u?g?.[u]:t,"horizontal")),L=u?g?.[u]:null,S=Cc(a||L||y,"horizontal"),C=S==="vertical"?"flex flex-col gap-0.5":"grid gap-0.5 md:grid-cols-2",B=!n&&!a&&h.length>0,A=j=>{M(j),u&&b(_=>({..._||{},[u]:j}))};if(h.length===0)return r.jsx("div",{ref:v,children:r.jsx(SQ,{})});const H=B?r.jsxs("div",{className:"flex items-center gap-0.5 text-[0.68rem] text-slate-400",children:[r.jsx("span",{children:"Layout"}),r.jsx("div",{className:"inline-flex overflow-hidden rounded border border-slate-700",children:Dh.map(j=>r.jsx("button",{type:"button",className:`px-1 py-0.5 ${S===j?"bg-slate-600 text-white":"bg-transparent text-slate-400 hover:text-white"}`,onClick:()=>A(j),children:j==="vertical"?"Vertical":"Grid"},j))})]}):null;return r.jsx("div",{ref:v,children:r.jsx(N1,{title:"Room cameras",actions:H,hideHeader:i,bodyClassName:"space-y-0.5 text-base",children:r.jsx("div",{className:C,children:h.map(j=>{const _=x[j.id]||null;return r.jsx("article",{className:"w-full space-y-0.5 p-0.5",children:r.jsx(CQ,{feed:_,label:j.name||j.id})},j.id)})})})})}const LQ="modulepreload",VQ=function(t){return"/"+t},Ws={},Js=function(a,n,i){let u=Promise.resolve();if(n&&n.length>0){let x=function(g){return Promise.all(g.map(b=>Promise.resolve(b).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};var d=x;document.getElementsByTagName("link");const v=document.querySelector("meta[property=csp-nonce]"),p=v?.nonce||v?.getAttribute("nonce");u=x(n.map(g=>{if(g=VQ(g),g in Ws)return;Ws[g]=!0;const b=g.endsWith(".css"),y=b?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${y}`))return;const M=document.createElement("link");if(M.rel=b?"stylesheet":LQ,b||(M.as="script"),M.crossOrigin="",M.href=g,p&&M.setAttribute("nonce",p),document.head.appendChild(M),b)return new Promise((L,S)=>{M.addEventListener("load",L),M.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${g}`)))})}))}function h(v){const p=new Event("vite:preloadError",{cancelable:!0});if(p.payload=v,window.dispatchEvent(p),!p.defaultPrevented)throw v}return u.then(v=>{for(const p of v||[])p.status==="rejected"&&h(p.reason);return a().catch(h)})};function BQ({frame:t}){const a=m.useRef(null),n=m.useRef(null),i=m.useRef(null),u=m.useRef(null),h=m.useRef(null),d=m.useRef(null),v=m.useRef(null),p=m.useRef(!1),x=m.useRef(t),g=m.useCallback(()=>{const M=n.current,L=u.current,S=i.current;!M||!L||!S||!p.current||M.render(L,S)},[]),b=m.useCallback(()=>{const M=h.current;M&&(u.current?.remove(M),M.geometry?.dispose(),M.material?.dispose(),h.current=null)},[]),y=m.useCallback(()=>{const M=u.current,L=x.current,S=v.current;if(!M||!S||!L?.buffer||!p.current)return;const C=Number(L.meta?.strideBytes)||16,B=Number(L.meta?.width)||0,A=Number(L.meta?.height)||0,H=B*A;if(!L.meta?.grid||!H||C<16){b();return}const j=new DataView(L.buffer),_=new Float32Array(H*3),F=new Float32Array(H*3),N=new Uint8Array(H),V=new Float32Array(H);for(let Y=0;Y0?1:0,V[Y]=Z}const R=new S.BufferGeometry;R.setAttribute("position",new S.BufferAttribute(_,3)),R.setAttribute("color",new S.BufferAttribute(F,3));const q=[],$=.12,D=(Y,E,I)=>{if(!N[Y]||!N[E]||!N[I])return!1;const Z=Math.min(V[Y],V[E],V[I]);return Math.max(V[Y],V[E],V[I])-Z<=$};for(let Y=0;Y{x.current=t,y()},[t,y]),m.useEffect(()=>{const M=a.current;if(!M)return;let L=!1,S=null,C=null;async function B(){const[A,H]=await Promise.all([Js(()=>import("./three.module--MGUDD-H.js"),[]),Js(()=>import("./OrbitControls-BJ-UXxdt.js"),__vite__mapDeps([0,1]))]);if(L)return;const j=A,{OrbitControls:_}=H;v.current=j;const F=new j.Scene;F.background=new j.Color(657930);const N=new j.PerspectiveCamera(55,4/3,.01,20);N.position.set(0,.15,2.2);const V=new j.WebGLRenderer({antialias:!0,alpha:!1});V.setPixelRatio(Math.min(window.devicePixelRatio||1,1.5)),V.setSize(M.clientWidth||640,M.clientHeight||480,!1),M.appendChild(V.domElement);const R=new _(N,V.domElement);R.enableDamping=!1,R.target.set(0,0,-1.4),R.addEventListener("change",g),u.current=F,i.current=N,n.current=V,d.current=R,S=new ResizeObserver(([q])=>{const $=Math.max(1,q.contentRect.width),D=Math.max(1,q.contentRect.height);N.aspect=$/D,N.updateProjectionMatrix(),V.setSize($,D,!1),g()}),S.observe(M),C=new IntersectionObserver(([q])=>{const $=!!q?.isIntersecting;p.current=$,$&&(y(),g())},{threshold:.01}),C.observe(M)}return B(),()=>{L=!0,C?.disconnect(),S?.disconnect(),d.current?.removeEventListener("change",g),d.current?.dispose(),b(),n.current?.dispose(),n.current?.domElement?.remove(),u.current=null,i.current=null,n.current=null,d.current=null,v.current=null}},[b,y,g]),r.jsx("div",{ref:a,className:"h-full w-full"})}const NQ={enabled:!1,available:!1,busy:!1,captureCooldownUntil:0,lastError:null,hasPointCloud:!1,hasColorImage:!1};function jQ(t){return{...NQ,...t&&typeof t=="object"?t:{}}}function to(t){return t?t instanceof ArrayBuffer?t:ArrayBuffer.isView(t)?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):null:null}function kQ({cooldownText:t,enabled:a,busy:n,lastError:i}){return t?{label:t,className:"border-red-400 bg-red-600 text-red-50"}:!a||i?{label:"Off",className:"border-red-400 bg-red-700 text-red-50"}:n?{label:"...",className:"border-amber-200 bg-amber-500 text-amber-950"}:{label:"Ready",className:"border-emerald-300 bg-emerald-600 text-emerald-50"}}function Oh(){const t=N2(),a=o1(H=>jQ(H.session?.kinect)),[n,i]=m.useState("3d"),[u,h]=m.useState(null),[d,v]=m.useState(null),[p,x]=m.useState(null),[g,b]=m.useState(()=>Date.now());m.useEffect(()=>{const H=setInterval(()=>b(Date.now()),1e3);return()=>clearInterval(H)},[]),m.useEffect(()=>{if(!t)return;const H=(_={},F)=>{const N=to(F);!N||!_?.grid||(h({meta:_,buffer:N}),i("3d"),x(null))},j=(..._)=>{const F=_[1],N=to(F);if(!N)return;const V=new Blob([N],{type:"image/jpeg"}),R=URL.createObjectURL(V);v(q=>(q&&URL.revokeObjectURL(q),R)),i("image"),x(null)};return t.on("kinect:pointCloudFrame",H),t.on("kinect:colorFrame",j),t.emit("kinect:requestCachedFrames",{},()=>{}),()=>{t.off("kinect:pointCloudFrame",H),t.off("kinect:colorFrame",j)}},[t]),m.useEffect(()=>()=>{d&&URL.revokeObjectURL(d)},[d]);const y=Math.max(0,Number(a.captureCooldownUntil||0)-g),M=!a.enabled||a.busy||y>0,L=y>0?`${Math.ceil(y/1e3)}s`:null,S=m.useMemo(()=>kQ({cooldownText:L,enabled:a.enabled,busy:a.busy,lastError:a.lastError}),[L,a.busy,a.enabled,a.lastError]),C=p||a.lastError,B=m.useCallback(H=>{!t||M||(x(null),t.emit(H,{},(j={})=>{j.error&&x(j.error)}))},[M,t]),A=r.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-0.5 text-[0.68rem] text-slate-400",children:[r.jsx("span",{className:`inline-flex min-w-[3.7rem] justify-center rounded border px-1 py-0.5 text-xs font-semibold ${S.className}`,children:S.label}),r.jsx("div",{className:"inline-flex overflow-hidden rounded border border-slate-700",children:["3d","image"].map(H=>r.jsx("button",{type:"button",className:`px-1 py-0.5 ${n===H?"bg-slate-600 text-white":"bg-transparent text-slate-400 hover:text-white"}`,onClick:()=>i(H),children:H==="3d"?"3D":"Image"},H))}),r.jsx("button",{type:"button",className:"button-dark px-1 py-0.25",disabled:M,onClick:()=>B("kinect:requestPointCloud"),children:"Request 3D"}),r.jsx("button",{type:"button",className:"button-dark px-1 py-0.25",disabled:M,onClick:()=>B("kinect:requestColorImage"),children:"Request Image"})]});return r.jsxs(N1,{title:"Kinect Viewer",actions:A,bodyClassName:"space-y-0.5 p-0.5 text-sm",children:[r.jsx("div",{className:"aspect-[4/3] w-full overflow-hidden rounded bg-black",children:n==="3d"&&u?.buffer?r.jsx(BQ,{frame:u}):n==="3d"?r.jsx("div",{className:"flex h-full items-center justify-center text-center text-sm text-slate-400",children:"Request a 3D frame"}):d?r.jsx("img",{src:d,alt:"Kinect image",className:"h-full w-full object-contain"}):r.jsx("div",{className:"flex h-full items-center justify-center text-center text-sm text-slate-400",children:"Request an image"})}),C?r.jsx("p",{className:"m-0 break-words text-[0.7rem] text-red-300",children:String(C).toLowerCase()}):null]})}const FQ={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"turn:your.turn.server:3478",username:"user",credential:"pass"}],bundlePolicy:"max-bundle",rtcpMuxPolicy:"require"};function RQ(t){if(typeof btoa=="function")return btoa(t);if(typeof Buffer<"u")return Buffer.from(t).toString("base64");throw new Error("No base64 encoder available")}function EQ(t){if(!t)return{};const a=`${t}:${t}`;return{Authorization:`Basic ${RQ(a)}`}}class eo{constructor({url:a,token:n,video:i,onStatus:u,audioOnly:h=!1,receiveAudio:d=!0}){this.url=a,this.token=n,this.video=i,this.audioOnly=h,this.receiveAudio=d,this.pc=null,this.abortController=null,this.onStatus=u}notify(a,n){typeof this.onStatus=="function"&&this.onStatus(a,n)}configureVideoElement(){this.video&&(this.video.playsInline=!0,this.video.autoplay=!0,this.video.muted=!this.audioOnly,typeof this.video.disableRemotePlayback<"u"&&(this.video.disableRemotePlayback=!0),"latencyHint"in HTMLMediaElement.prototype&&(this.video.latencyHint="interactive"))}async start(){if(!this.url||!this.video)throw new Error("Media target missing");this.stop(),this.notify("connecting"),this.configureVideoElement(),this.abortController=new AbortController;const a=new RTCPeerConnection(FQ);this.pc=a;const n=new MediaStream;a.ontrack=i=>{i.streams[0]?.getTracks().forEach(u=>n.addTrack(u)),this.video.srcObject=n,i.track?.kind==="video"&&"playoutDelayHint"in i.receiver&&(i.receiver.playoutDelayHint=0)},this.audioOnly?a.addTransceiver("audio",{direction:"recvonly"}):(a.addTransceiver("video",{direction:"recvonly"}),this.receiveAudio&&a.addTransceiver("audio",{direction:"recvonly"})),a.onconnectionstatechange=()=>{this.notify(a.connectionState)},a.oniceconnectionstatechange=()=>{const i=a.iceConnectionState;(i==="failed"||i==="disconnected")&&this.notify(i)};try{const i=await a.createOffer({offerToReceiveAudio:this.audioOnly?!0:this.receiveAudio,offerToReceiveVideo:!this.audioOnly});await a.setLocalDescription(i);const u=await fetch(this.url,{method:"POST",headers:{"Content-Type":"application/sdp",...EQ(this.token)},body:i.sdp,signal:this.abortController.signal});if(!u.ok)throw new Error(`WHEP request failed: ${u.status}`);const h=await u.text();await a.setRemoteDescription({type:"answer",sdp:h}),a.getReceivers().forEach(d=>{"playoutDelayHint"in d&&(d.playoutDelayHint=0)}),await this.video.play().catch(()=>{}),this.notify("playing")}catch(i){throw this.notify("error",i.message),this.stop(),i}}stop(){this.abortController&&(this.abortController.abort(),this.abortController=null),this.pc&&(this.pc.getSenders().forEach(a=>a.track?.stop()),this.pc.getReceivers().forEach(a=>a.track?.stop()),this.pc.close(),this.pc=null),this.video&&(this.video.srcObject=null),this.notify("stopped")}}function TQ(t){if(!t)return null;if(typeof t=="string"){const a=String(t).trim();return a?{type:"rover",id:a,key:a}:null}if(typeof t=="object"){if(t.type&&t.id){const a=String(t.id);let n=t.key;return n||(n=t.type==="room"?`room:${a}`:a),{type:t.type,id:a,key:n}}if(t.roverId){const a=String(t.roverId);return{type:"rover",id:a,key:t.key||a}}if(t.roomCameraId){const a=String(t.roomCameraId);return{type:"room",id:a,key:t.key||`room:${a}`}}}return null}function _Q(t=[]){const a=new Set,n=[];return t.forEach(i=>{!i?.key||a.has(i.key)||(a.add(i.key),n.push(i))}),n.sort((i,u)=>i.key.localeCompare(u.key))}function aa(t=[],a={}){const n=N2(),{enabled:i=!0,version:u=null}=a,[h,d]=m.useState({}),v=m.useMemo(()=>Array.isArray(t)?_Q(t.map(TQ).filter(Boolean)):[],[t]),p=m.useMemo(()=>{const M=v.map(L=>`${L.type}:${L.id}:${L.key}`).join("|");return u?`${M}|v:${u}`:M},[v,u]),x=m.useRef([]),[g,b]=m.useState(0);return m.useEffect(()=>{if(!n)return;const M=()=>b(L=>L+1);return n.on("connect",M),()=>{n.off("connect",M)}},[n]),m.useEffect(()=>{x.current=v},[v]),m.useEffect(()=>{if(!p||!i){d({});return}const M=x.current;let L=!1;function S(C){const B=C.type==="room"?{roomCameraId:C.id}:{roverId:C.id};n.emit("video:request",B,(A={})=>{L||(A?.error&&x3("video_request_failed",{type:C.type,sourceId:C.id,reason:A.error},{key:`${C.type}:${C.id}:${A.error}`,throttleMs:60*1e3}),d(H=>({...H,[C.key]:A})))})}return M.forEach(C=>{S(C)}),()=>{L=!0}},[n,p,i,g]),m.useMemo(()=>{if(!p||!i)return{};const M={};return v.forEach(L=>{h[L.key]&&(M[L.key]=h[L.key])}),M},[p,h,v])}function Uh(t=[],a={}){const n=N2(),{enabled:i=!0,version:u=null}=a,[h,d]=m.useState({}),v=m.useRef(new Map),p=m.useMemo(()=>t.map(S=>typeof S=="string"?S:S.id).filter(Boolean),[t]),x=m.useMemo(()=>{const S=p.join("|");return u?`${S}|v:${u}`:S},[p,u]),g=m.useRef([]),[b,y]=m.useState(0),M=m.useRef(new Map),L=typeof window<"u"&&new URLSearchParams(window.location.search).has("debugSnapshots");return m.useEffect(()=>{if(!n)return;const S=()=>y(C=>C+1);return n.on("connect",S),()=>n.off("connect",S)},[n]),m.useEffect(()=>{g.current=p},[x,p]),m.useEffect(()=>{v.current.forEach(S=>URL.revokeObjectURL(S)),v.current.clear(),d({})},[x]),m.useEffect(()=>{if(!i){v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear(),d({});return}if(!g.current.length||!n)return;let S=!1;const C=g.current,B=(H={},j)=>{if(S||!H.id||!j)return;const _=j.byteLength??j.length??0,F=Date.now(),N=M.current.get(H.id)||{count:0,totalBytes:0,lastLogAt:0},V={count:N.count+1,totalBytes:N.totalBytes+_,lastLogAt:N.lastLogAt};if(L&&(!V.lastLogAt||F-V.lastLogAt>=1e4)){const D=V.count?V.totalBytes/V.count:0;console.log("[roverSnapshot]",H.id,`frame=${_}B`,`avg=${Math.round(D)}B`,`count=${V.count}`),V.lastLogAt=F}M.current.set(H.id,V);const R=new Blob([j],{type:"image/jpeg"}),q=URL.createObjectURL(R),$=v.current.get(H.id);$&&URL.revokeObjectURL($),v.current.set(H.id,q),d(D=>({...D,[H.id]:{status:"playing",ts:H.ts||Date.now(),error:null,objectUrl:q}}))},A=(H={})=>{S||!H.id||d(j=>({...j,[H.id]:{...j[H.id]||{},status:H.error?"error":j[H.id]?.status||"connecting",error:H.error||null,ts:H.ts||j[H.id]?.ts||null,objectUrl:j[H.id]?.objectUrl||null}}))};return n.on("roverSnapshot:frame",B),n.on("roverSnapshot:status",A),n.emit("roverSnapshot:subscribe",{ids:C},(H={})=>{H.error}),()=>{S=!0,n.emit("roverSnapshot:unsubscribe",{ids:C}),n.off("roverSnapshot:frame",B),n.off("roverSnapshot:status",A),v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear()}},[n,x,i,b,L]),h}const co=2e3,qQ=3e3,DQ=3e3,OQ=40,UQ=1e3,Ih={none:"",grayscale:"grayscale(1) contrast(1.08)",greenscale:"grayscale(1) sepia(1) hue-rotate(70deg) saturate(2.2) brightness(0.95) contrast(1.1)"};function IQ(t){return Object.prototype.hasOwnProperty.call(Ih,t)?t:j0.colorFilter}function G8({roverId:t=null,sessionInfo:a=null,audioSessionInfo:n=null,videoMode:i=null,snapshotFeed:u=null,label:h,forceMute:d=!1,sensors:v}){const p=o1(z1=>z1.session?.assignment?.roverId??null),x=t??p,g=o1(z1=>z1.session?.mode||null),b=o1(z1=>x&&Array.isArray(z1.session?.roster)&&z1.session.roster.find(q1=>String(q1.id)===String(x))||null),y=!!b?.media?.audioPublishUrl,M=i?i==="whep":!0,L=y,S=m.useMemo(()=>x?[...M?[{type:"rover",id:x,key:x}]:[],...L?[{type:"rover",id:`${x}-audio`,key:`${x}-audio`}]:[]]:[],[x,M,L]),C=aa(S,{enabled:!!(x&&(M||L)),version:g}),B=a??(x&&C[x]||null),A=n??(x&&y&&C[`${x}-audio`]||null),H=Uh(x?[x]:[],{enabled:!!(x&&!B?.url),version:g}),j=u??(x&&H[x]||null),_=h||b?.name||(x?`Rover ${x}`:"Rover"),F=C6(x,Wg,Jg),N=v?{mainBrushCurrentMa:v?.mainBrushCurrentMa??0,mainBrushOvercurrent:!!v?.wheelOvercurrents?.mainBrush}:F,V=m.useRef(null),R=m.useRef(null),q=m.useRef(null),$=m.useRef(null),D=m.useRef(null),W=m.useRef(null),n1=m.useRef(null),Y=m.useRef(null),[E,I]=m.useState("idle"),[Z,t1]=m.useState(null),[h1,T]=m.useState("idle"),[O,K]=m.useState(null),[l1,m1]=m.useState(0),[v1,A1]=m.useState(0),[k1,R1]=m.useState(!0),O1=!!A?.url,Q1=i==="snapshot"||!i&&!B?.url,{value:P1}=I1("audio",y2),{value:h2}=I1("video",j0),r1=IQ(h2?.colorFilter),V1=Ih[r1],Z1=V1?{filter:V1}:void 0,D1=Number.isFinite(P1?.masterVolume)?P1.masterVolume:y2.masterVolume,b1=Number.isFinite(P1?.roverVolume)?P1.roverVolume:y2.roverVolume,L1=typeof P1?.mainBrushDuckEnabled=="boolean"?P1.mainBrushDuckEnabled:typeof P1?.autoLevelEnabled=="boolean"?P1.autoLevelEnabled:y2.mainBrushDuckEnabled,x1=Number.isFinite(P1?.mainBrushDuckAmount)?Math.max(0,Math.min(1,P1.mainBrushDuckAmount)):y2.mainBrushDuckAmount,C1=Math.max(0,Math.min(1,D1*b1)),g1=!!((Number(N?.mainBrushCurrentMa)||0)>OQ||N?.mainBrushOvercurrent),T1=L1&&g1?1-x1:1,c1=Math.max(0,Math.min(1,C1*T1)),M1=m.useMemo(()=>typeof window>"u"?!1:new URLSearchParams(window.location.search).has("debugAudio"),[]),y1=m.useRef({hasDedicatedAudio:!1,audioUrl:null,mainBrushDuckEnabled:!1,mainBrushDuckAmount:0,mainBrushActive:!1,baseRoverGain:0,effectiveRoverGain:0});m.useEffect(()=>{y1.current={hasDedicatedAudio:O1,audioUrl:A?.url||null,mainBrushDuckEnabled:L1,mainBrushDuckAmount:x1,mainBrushActive:g1,baseRoverGain:C1,effectiveRoverGain:c1}},[O1,A?.url,L1,x1,g1,C1,c1]);const j1=m.useCallback((z1,q1={})=>{if(!M1)return;const o2=R.current,t2=y1.current,e2={event:z1,ts:Date.now(),roverLabel:_||null,hasDedicatedAudio:t2.hasDedicatedAudio,audioUrl:t2.audioUrl,mainBrushDuckEnabled:t2.mainBrushDuckEnabled,mainBrushDuckAmount:t2.mainBrushDuckAmount,mainBrushActive:t2.mainBrushActive,baseRoverGain:t2.baseRoverGain,effectiveRoverGain:t2.effectiveRoverGain,element:o2?{muted:o2.muted,volume:o2.volume,paused:o2.paused,ended:o2.ended,readyState:o2.readyState,networkState:o2.networkState}:null,...q1};try{console.log(`[AudioDebug] ${z1} ${JSON.stringify(e2)}`)}catch{console.log("[AudioDebug]",z1,e2)}},[M1,_]);m.useEffect(()=>{j1("settings/update")},[j1]);const r2=m.useCallback(()=>{clearTimeout(q.current),q.current=setTimeout(()=>m1(Date.now()),co)},[]),d1=m.useCallback(()=>{clearTimeout($.current),$.current=setTimeout(()=>A1(Date.now()),co)},[]),p1=m.useCallback(async()=>{const z1=V.current;if(z1)try{z1.muted=!0,await z1.play()}catch{}},[]),J1=m.useCallback((z1=0)=>{if(d||O1)return;clearTimeout(W.current);const q1=()=>{clearTimeout(W.current),W.current=setTimeout(()=>{d||o2()},qQ)},o2=async()=>{const t2=V.current;if(t2)try{await p1(),t2.muted=!1,await t2.play(),R1(!1)}catch{t2.muted=!0,R1(!0),q1()}};W.current=setTimeout(o2,z1)},[p1,d,O1]);m.useEffect(()=>()=>{clearTimeout(q.current),clearTimeout($.current),clearTimeout(W.current),clearInterval(D.current),n1.current&&(cancelAnimationFrame(n1.current),n1.current=null)},[]),m.useEffect(()=>{E==="playing"&&J1(0)},[E,J1]),m.useEffect(()=>{Q1&&(I("snapshot"),t1(null))},[Q1]),m.useEffect(()=>{if(Q1||!B?.url||!V.current)return;let z1=!0,q1;const o2=setTimeout(()=>R1(!0),0),t2=(e2,U2)=>{z1&&(j1("video/status",{nextStatus:e2,info:U2||null}),I(e2),t1(U2||null),e2==="playing"&&p1(),["error","failed","disconnected","closed"].includes(e2)&&(x3("whep_player_error",{roverId:x,status:e2,detail:U2||""},{key:`${x||"unknown"}:${e2}:${U2||""}`,throttleMs:60*1e3}),r2()))};return q1=new eo({url:B.url,token:B.token,video:V.current,receiveAudio:!O1,onStatus:t2}),q1.start().catch(e2=>{z1&&(I("error"),t1(e2.message),x3("whep_player_error",{roverId:x,status:"start_failed",detail:e2.message},{key:`${x||"unknown"}:start_failed:${e2.message}`,throttleMs:60*1e3}),r2())}),()=>{z1=!1,clearTimeout(o2),q1?.stop()}},[Q1,B?.url,B?.token,l1,r2,p1,O1,j1,x]),m.useEffect(()=>{E==="stopped"&&B?.url&&r2()},[E,B?.url,r2]),m.useEffect(()=>{const z1=R.current;if(!z1||!A?.url){j1("route/no-audio-url"),Y.current=null;return}const q1=Math.max(0,Math.min(1,c1)),o2=Y.current==null?Math.max(0,Math.min(1,z1.volume)):Y.current;if(n1.current&&(cancelAnimationFrame(n1.current),n1.current=null),q1>o2){const t2=performance.now(),e2=o2,U2=q1-e2,W2=I2=>{const C2=Math.min(1,(I2-t2)/UQ),F4=e2+U2*C2;z1.volume=F4,Y.current=F4,C2<1?n1.current=requestAnimationFrame(W2):n1.current=null};n1.current=requestAnimationFrame(W2)}else z1.volume=q1,Y.current=q1;j1("route/direct",{elementVolume:q1,duckEnabled:L1,mainBrushActive:g1,duckAmount:x1})},[A?.url,c1,L1,g1,x1,j1]),m.useEffect(()=>{if(!A?.url||!R.current)return;let z1=!0,q1;const o2=(t2,e2)=>{z1&&(j1("audio/status",{nextStatus:t2,info:e2||null}),T(t2),K(e2||null),["error","failed"].includes(t2)&&d1())};return q1=new eo({url:A.url,token:A.token,video:R.current,audioOnly:!0,onStatus:o2}),q1.start().catch(t2=>{z1&&(T("error"),K(t2.message),d1())}),()=>{z1=!1,q1?.stop()}},[A?.url,A?.token,v1,d1,j1]),m.useEffect(()=>{const z1=R.current;if(!A?.url||!z1){clearInterval(D.current);return}if(!["connecting","connected","playing","paused"].includes(h1)){clearInterval(D.current);return}const o2=async()=>{const t2=R.current;t2&&(t2.muted=!1,!(!t2.paused&&!t2.ended)&&(j1("retry/play-attempt"),t2.play().then(()=>{j1("retry/play-ok"),T(e2=>["error","failed","disconnected","closed"].includes(e2)?e2:"playing"),K(null)}).catch(e2=>{j1("retry/play-fail",{error:e2?.message}),K(U2=>U2||e2?.message||"autoplay blocked")})))};return o2(),D.current=setInterval(o2,DQ),()=>clearInterval(D.current)},[A?.url,h1,j1]),m.useEffect(()=>{const z1=R.current;if(!z1)return;const q1=()=>{j1("element/play"),T(C2=>C2==="error"?C2:"playing"),K(null)},o2=()=>{j1("element/pause"),T(C2=>["error","failed","disconnected","closed","stopped"].includes(C2)?C2:"paused"),K(C2=>C2||"paused")},t2=()=>{j1("element/ended"),T(C2=>C2==="error"?C2:"stopped"),K(C2=>C2||"ended")},e2=()=>{const{error:C2}=z1,F4=C2?.message||"audio error";j1("element/error",{error:F4}),T("error"),K(F4)},U2=()=>j1("element/waiting"),W2=()=>j1("element/canplay"),I2=()=>j1("element/stalled");return z1.addEventListener("play",q1),z1.addEventListener("pause",o2),z1.addEventListener("ended",t2),z1.addEventListener("error",e2),z1.addEventListener("waiting",U2),z1.addEventListener("canplay",W2),z1.addEventListener("stalled",I2),()=>{z1.removeEventListener("play",q1),z1.removeEventListener("pause",o2),z1.removeEventListener("ended",t2),z1.removeEventListener("error",e2),z1.removeEventListener("waiting",U2),z1.removeEventListener("canplay",W2),z1.removeEventListener("stalled",I2)}},[A?.url,j1]);const f1=j?.error?`Error: ${j.error}`:j?.objectUrl?"snapshot":j?.status||"waiting",w1=Q1?f1:B?.url?E==="error"?`Error: ${Z||"unknown"}`:Z?`${E} (${Z})`:E:"waiting",S1=A?.error?`Error: ${A.error}`:A?.url?h1==="error"?`Error: ${O||"unknown"}`:O?`${h1} (${O})`:h1:"waiting",$1=!Q1&&!B?.error&&E!=="playing";return r.jsxs(r.Fragment,{children:[Q1?j?.objectUrl?r.jsx("img",{src:j.objectUrl,alt:_,className:"h-full w-full object-contain",style:Z1,draggable:!1}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-300",children:"Waiting for frame…"}):r.jsx("video",{ref:V,muted:d||k1||O1,playsInline:!0,autoPlay:!0,controls:!1,className:"h-full w-full object-contain",style:Z1}),$1?r.jsx("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/45",children:r.jsx("div",{className:"rounded border border-slate-500/70 bg-black/70 px-3 py-1 text-sm font-semibold text-slate-100",children:"Connecting to video...."})}):null,r.jsx("audio",{ref:R,autoPlay:!0,hidden:!0}),r.jsx("div",{className:"pointer-events-none absolute left-1 top-1 z-20 font-medium text-slate-100 text-[0.65rem]",children:r.jsxs("div",{className:"flex flex-col gap-0.5 leading-none",children:[r.jsxs("span",{children:["Status: ",w1]}),S1?r.jsxs("span",{children:["Audio: ",S1]}):null]})})]})}function PQ(t){const a=o1(F=>F.session?.mode||null),n=o1(F=>F.session?.roster??[]),i=o1(F=>F.session?.users??[]),u=o1(F=>F.session?.turnQueues??{}),h=o1(F=>F.session?.socketId||null),d=o1(F=>F.session?.activeDrivers??{}),v=a==="turns",p=e5(1e3,v),x=t&&u?.[t]||null,g=t&&d?.[t]||null,b=!!(h&&g===h),y=m.useMemo(()=>{const F=x?.queue||[];if(!F.length||!x?.current||F.length<=1)return null;const N=F.findIndex(V=>V===x.current);return N===-1?F[0]||null:F[(N+1)%F.length]||null},[x]),M=!!(h&&y===h),L=x?.deadline||null,S=L?L-p:null,C=n.length,B=m.useMemo(()=>{const F=new Set;return i.forEach(N=>{if(String(N?.role||"")==="spectator")return;const R=String(N?.roverId||"").trim(),q=String(N?.socketId||"").trim();!R||!q||F.add(q)}),F.size},[i]),A=v&&B>C,H=v&&M&&S!=null&&S<=5e3&&S>0;return v&&!b&&!H&&A?"snapshot":null}function $Q(t){const a=t?.session?.socials;return Array.isArray(a)?a:[]}function ZQ(t,a){const n=String(a||"").trim().toLowerCase();return n&&$Q(t).find(i=>String(i?.id||i?.label||"").trim().toLowerCase()===n)||null}function GQ(t){if(typeof t!="string")return null;const a=t.trim();return a&&(/^#[0-9a-fA-F]{3,8}$/.test(a)||/^(rgb|rgba|hsl|hsla)\([^)]+\)$/.test(a))?a:null}function YQ(t){if(typeof t!="string"||!t.trim())return Zc;const a=_Y[t.trim()];return typeof a=="function"?a:Zc}function He({id:t=null,label:a,url:n,icon:i,color:u,layout:h="stacked",className:d=""}){const v=o1(S=>t?ZQ(S,t):null),p=n||v?.url||null;if(!p)return null;const x=i||v?.icon||null,g=u||v?.color||null,b=YQ(x),y=GQ(g),M=a||v?.label||"Link",L=h==="inline";return r.jsx("a",{href:p,target:"_blank",rel:"noopener noreferrer","aria-label":M,onClick:()=>{u1("social_link_click",{id:t||"",label:M,layout:h}),t==="discord"&&u1("discord_click",{layout:h})},className:`grid h-full min-h-0 w-full place-items-center rounded-md bg-slate-700 px-0.5 ${L?"py-0.5":"pb-3"} text-center text-sm font-medium text-white transition hover:opacity-90 ${d}`,style:y?{backgroundColor:y}:void 0,children:L?r.jsxs("span",{className:"inline-flex max-w-full items-center justify-center gap-1 text-center leading-tight",children:[r.jsx(b,{className:"shrink-0",style:{fontSize:"1.1em"}}),r.jsx("span",{className:"break-words",children:M})]}):r.jsxs("span",{className:"flex h-full w-full max-w-full flex-col items-center justify-between text-center leading-tight",children:[r.jsx("span",{className:"flex min-h-0 flex-1 items-center justify-center",children:r.jsx(b,{className:"shrink-0",style:{fontSize:"clamp(1rem, 2.2vh + 1.2vw, 2rem)"}})}),r.jsx("span",{className:"w-full break-words leading-tight",children:M})]})})}function KQ({roverId:t=null,mobileHud:a=!1}){const n=o1(r1=>r1.session?.assignment?.roverId??null),i=t??n,u=o1(r1=>r1.session?.mode||null),h=o1(r1=>r1.session?.roster??[]),d=o1(r1=>r1.session?.users??[]),v=o1(r1=>r1.session?.turnQueues??{}),p=o1(r1=>r1.session?.socketId||null),x=o1(r1=>r1.session?.activeDrivers??{}),g=_1(r1=>r1.state.lastControlIntentAt),[b,y]=m.useState(!1),[M,L]=m.useState(null),[S,C]=m.useState(!1),[B,A]=m.useState(0),H=m.useRef({initialized:!1,roverId:null,activeDriverId:null}),j=m.useRef(g||0),_=a?"text-[0.5rem]":"text-[0.7rem]",F=a?"px-0.5 py-0.25":"px-1 py-0.5",N=a?"text-3xl":"text-5xl",V=a?"text-xs":"text-sm",R=a?"text-[0.55rem]":"text-[0.75rem]",q=a?"px-4 py-3":"px-6 py-4",$=i?v?.[i]:null,D=i?x?.[i]:null,W=!!(p&&D===p),n1=u==="turns",Y=e5(1e3,n1),E=m.useMemo(()=>{const r1=$?.queue||[];if(!r1.length||!$?.current||r1.length<=1)return null;const V1=r1.findIndex(Z1=>Z1===$.current);return V1===-1?r1[0]||null:r1[(V1+1)%r1.length]||null},[$]),I=!!(p&&E===p),Z=$?.deadline||null,t1=$?.idleDeadline||null,h1=Z?Z-Y:null,T=t1?t1-Y:null,O=h.length,K=m.useMemo(()=>{const r1=new Set;return d.forEach(V1=>{if(String(V1?.role||"")==="spectator")return;const D1=String(V1?.roverId||"").trim(),b1=String(V1?.socketId||"").trim();!D1||!b1||r1.add(b1)}),r1.size},[d]),l1=n1&&K>O,m1=n1&&I&&h1!=null&&h1<=5e3&&h1>0,v1=n1&&!W,A1=v1&&!m1&&l1,k1=h1!=null&&Number.isFinite(h1)?Math.max(0,Math.ceil(h1/1e3)):null,R1=T!=null&&Number.isFinite(T)?Math.max(0,Math.ceil(T/1e3)):null,O1=m.useMemo(()=>!n1||!W?null:k1!=null?`${k1}s left`:"Your turn",[n1,W,k1]),Q1=m.useMemo(()=>!v1||!I||k1==null?null:`${k1} seconds until your turn.`,[v1,I,k1]),P1=W&&typeof R1=="number",h2=S;return m.useEffect(()=>{if(u!=="turns"){y(!1),L(null),H.current={initialized:!1,roverId:null,activeDriverId:null};return}const r1=H.current,V1=D||null;if(!p||!i){y(!1),L(null),H.current={initialized:!1,roverId:null,activeDriverId:null};return}if(!r1.initialized||r1.roverId!==i){H.current={initialized:!0,roverId:i,activeDriverId:V1};return}!!r1.activeDriverId&&r1.activeDriverId!==p&&V1===p?(y(!0),L(Date.now())):V1!==p&&b&&(y(!1),L(null)),H.current={initialized:!0,roverId:i,activeDriverId:V1}},[D,u,i,p,b]),m.useEffect(()=>{!b||!M||g>M&&y(!1)},[g,b,M]),m.useEffect(()=>{const r1=Number(j.current)||0,V1=Number(g)||0;V1>r1&&v1&&A(Date.now()),j.current=V1},[g,v1]),m.useEffect(()=>{if(!v1||!B)return;C(!0);const r1=setTimeout(()=>C(!1),650);return()=>clearTimeout(r1)},[v1,B]),r.jsxs(r.Fragment,{children:[b?r.jsx("div",{className:"pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-black/55",children:r.jsxs("div",{className:`flex flex-col items-center gap-0.5 rounded border border-amber-300/80 bg-black/70 ${q}`,children:[r.jsx("div",{className:`font-semibold text-amber-200 ${N}`,children:"IT IS YOUR TURN!"}),r.jsx("div",{className:`text-amber-200/80 ${V}`,children:"Start driving!"}),P1?r.jsxs("div",{className:`text-red-100/90 ${R}`,children:["Idle skip in ",R1,"s"]}):null]})}):null,O1?r.jsx("div",{className:`pointer-events-none absolute bottom-1 left-1 rounded border ${h2?"border-red-300/90 bg-red-900/80 text-red-100":"border-amber-300/80 bg-black/75 text-amber-200"} ${F} ${_}`,children:O1}):null,v1?r.jsx("div",{className:"pointer-events-none absolute bottom-1 left-1 z-40",children:r.jsxs("div",{className:`w-fit rounded border ${S?"border-red-300/90 bg-red-900/80 text-red-100":"border-amber-300/80 bg-black/75 text-amber-200"} ${a?"px-2 py-1 text-[0.6rem]":"px-3 py-1.5 text-sm"}`,children:[r.jsx("div",{className:S?"text-[0.82rem] font-semibold text-red-50":"text-[0.82rem] font-semibold text-white",children:"Not your turn to drive!"}),Q1?r.jsx("div",{className:S?"text-red-100/95":"text-amber-100",children:Q1}):null,A1?r.jsx("div",{className:S?"text-red-100/90":"text-amber-200/85",children:"Video switched to preview mode to save bandwidth."}):null,r.jsx("div",{className:"pointer-events-auto mt-0.5",children:r.jsx(He,{id:"discord",label:"Join our Discord while you wait!",layout:"inline"})})]})}):null]})}const QQ=s2.memo(KQ);function Ph(){const{value:t,save:a}=I1("page",{hudMapDesktop:!1});return[!!t?.hudMapDesktop,u=>{a({hudMapDesktop:!!u})}]}function ao({variant:t="default",label:a,roverColor:n=null,driverLabel:i=null,mobileHud:u=!1,labelScale:h=1}){const d=u?"px-0.25 py-0.25":"px-0.5 py-0.5",v=u?"text-[0.55rem]":"text-[0.8rem]",p="bottom-0.5",x={transform:`translateX(-50%) scale(${h})`,transformOrigin:"center bottom"};return t==="spectator"?r.jsx("div",{className:`absolute ${p} left-1/2`,style:x,children:r.jsxs("div",{className:`flex items-center gap-0.5 bg-black/80 text-slate-100 ${d} ${v}`,children:[r.jsx(j4,{name:a,color:n}),i?r.jsxs("span",{className:"text-slate-300",children:["• ",i]}):null]})}):r.jsx("div",{className:`absolute ${p} left-1/2`,style:x,children:r.jsx("div",{className:`flex gap-0.5 bg-black/80 text-slate-100 ${d} ${v}`,children:r.jsx(j4,{name:a,color:n})})})}function XQ({sensors:t,telemetry:a=null,mobileHud:n=!1}){const i=a?.voltageMv??t?.voltageMv??null,u=a?.currentMa??t?.currentMa??null,h=a?.batteryChargeMah??t?.batteryChargeMah??null,d=a?.oiModeLabel??t?.oiMode?.label??"Unknown",v=a?.homeBase??!!t?.chargingSources?.homeBase,p=a?.chargingStateLabel??t?.chargingState?.label??"",x=n?"px-0.25 py-0.25":"px-1 py-0.5",g=n?"left-0.5 top-1/2":"left-1 top-1/2",b=n?"text-[0.45rem]":"text-[0.65rem]",y=[["Voltage",i!=null?`${(i/1e3).toFixed(2)} V`:"--"],["Current",u!=null?`${u} mA`:"--"],["Charge",h!=null?`${h}`:"--"],["OI",d||"--"]],M=!!(p&&p.toLowerCase()!=="not charging"),L=d.toLowerCase(),S=L==="full"?"bg-emerald-500/80 text-emerald-50":L==="safe"?"bg-amber-400/80 text-amber-950":L==="passive"?"bg-slate-700/80 text-slate-100":"bg-slate-700/60 text-slate-200",C=v?"bg-emerald-500/80 text-emerald-50":"bg-slate-700/70 text-slate-200",B=M?"bg-emerald-500/80 text-emerald-50":v?"bg-amber-400/80 text-amber-950":"bg-slate-700/70 text-slate-200";return r.jsx("div",{className:`absolute ${g} flex -translate-y-1/2 flex-col gap-0.5 bg-black/70 text-slate-100 ${b} ${x}`,children:r.jsxs("div",{className:"space-y-0.5 leading-tight",children:[r.jsxs("div",{className:"flex flex-col gap-0.5 text-[0.75rem] font-semibold uppercase tracking-wide",children:[r.jsx("span",{className:`rounded px-1.5 py-0.5 ${C}`,children:v?"Docked":"Undocked"}),r.jsx("span",{className:`rounded px-1.5 py-0.5 ${B}`,children:M?"Charging":"Not charging"}),r.jsxs("span",{className:`rounded px-1.5 py-0.5 ${S}`,children:["OI: ",d]})]}),y.map(([A,H])=>r.jsxs("span",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{className:"text-slate-400",children:A}),r.jsx("span",{className:"font-semibold text-white",children:H})]},A))]})})}function F0(t){return Math.max(0,Math.min(1,t))}function $h(t){return(t-90)*Math.PI/180}function D8(t,a,n,i){const u=$h(i);return{x:t+n*Math.cos(u),y:a+n*Math.sin(u)}}function na(t,a,n,i,u){let h=i,d=u;d<=h&&(d+=360);const v=D8(t,a,n,h),p=D8(t,a,n,d);return["M",v.x,v.y,"A",n,n,0,0,1,p.x,p.y].join(" ")}function Pa(t,a){if(a)return"#ef4444";const n=Math.abs(t);return n>900?"#f59e0b":n>300?"#22c55e":"#64748b"}function WQ(t,a){if(t==null||t<=0)return"hsl(200 60% 18%)";const i=F0(t/(a||1));return`hsl(${(200+Math.pow(i,.45)*360)%360} 100% 60%)`}function JQ({count:t,totalSpan:a,gap:n,startAngle:i}){const h=(a-n*(t-1))/t,d=[];let v=i;for(let p=0;pna(a,n,g,h,d),[a,n,d,g,h]);return r.jsxs(r.Fragment,{children:[r.jsx("path",{d:y,stroke:v,strokeWidth:b,strokeLinecap:"round",fill:"none",opacity:x}),p?r.jsx("path",{d:y,stroke:"#ef4444",strokeWidth:b,strokeLinecap:"round",fill:"none",className:"animate-pulse",opacity:1}):null]})}),tX=s2.memo(function({cx:a,cy:n,rInner:i,rOuter:u,startDeg:h,endDeg:d,percent:v,backgroundColor:p,fillColor:x,fillFromEnd:g=!1}){const b=F0(v??0),y=(i+u)/2,M=u-i,L=m.useMemo(()=>na(a,n,y,h,d),[a,n,d,y,h]),S=m.useMemo(()=>{const B=(d-h)*b,A=g?d-B:h,H=g?d:h+B;return na(a,n,y,A,H)},[a,n,d,g,y,b,h]);return r.jsxs(r.Fragment,{children:[r.jsx("path",{d:L,stroke:p,strokeWidth:M,strokeLinecap:"round",fill:"none",opacity:"0.95"}),b>0?r.jsx("path",{d:S,stroke:x,strokeWidth:M,strokeLinecap:"round",fill:"none",opacity:"1"}):null]})}),eX=s2.memo(function({cx:a,cy:n,rBase:i,rTip:u,startDeg:h,endDeg:d,color:v,value:p,max:x}){const g=(h+d)/2,b=F0(p!=null?p/(x||1):0),y=Math.pow(b,.35),M=i-(i-u)*y,L=Math.max(u,Math.min(M,i)),S=m.useMemo(()=>{const C=D8(a,n,u,g),B=D8(a,n,L,h),A=D8(a,n,L,d);return`M ${C.x} ${C.y} L ${B.x} ${B.y} L ${A.x} ${A.y} Z`},[L,a,n,d,g,u,h]);return r.jsx("path",{d:S,fill:v,opacity:1,stroke:"none"})}),ro=s2.memo(function({cx:a,cy:n,current:i,drop:u,overcurrent:h,label:d}){const v=Math.abs(i),p=F0(v/1200),x=Pa(i,h),g=56,b=14,y=9,M=3,L=g*p,S=d==="L"?-1:1,C=S*(-y/2-M/2),B=S*(b/2+M/2),A=d==="L"?-90:90,H=b+y+M+2,j=g+4;return r.jsxs("g",{transform:`translate(${a},${n})`,children:[r.jsx("rect",{x:-H/2,y:-j/2,width:H,height:j,rx:"4",fill:"none",stroke:"#64748b",strokeWidth:"1"}),r.jsx("rect",{x:C-b/2,y:-g/2,width:b,height:g,fill:"#0f172a",stroke:"#0f172a",strokeWidth:"1",rx:"2"}),r.jsx("rect",{x:C-b/2,y:g/2-L,width:b,height:L,fill:x,className:h?"animate-pulse":""}),r.jsx("rect",{x:B-y/2,y:-g/2,width:y,height:g,fill:u?"#ef4444":"#475569",className:u?"animate-pulse":"",rx:"2"}),u?r.jsx("text",{x:B,y:0,textAnchor:"middle",dominantBaseline:"central",transform:`rotate(${A} ${B} 0)`,className:"pointer-events-none fill-white text-[0.48rem] font-bold",children:"Dropped"}):null,r.jsx("text",{x:0,y:g/2+10,textAnchor:"middle",className:"fill-slate-200 text-[0.7rem]",children:d})]})}),cX=s2.memo(function({cx:a,cy:n,current:i,overcurrent:u}){let h=Math.abs(i);h<10&&(h=0);const d=Pa(i*3,u),v=43,p=h>0?.65:null;return r.jsxs("g",{style:{transformOrigin:`${a}px ${n}px`,animation:p?`spin ${p}s linear infinite`:"none",animationDirection:p?"reverse":"normal"},children:[r.jsx("circle",{cx:a,cy:n,r:10,fill:"#64748b",stroke:"#64748b",strokeWidth:"1"}),[0,120,240].map(g=>{const b=$h(g),y=a+v*Math.cos(b),M=n+v*Math.sin(b);return r.jsx("line",{x1:a,y1:n,x2:y,y2:M,stroke:d,strokeWidth:"4",strokeLinecap:"round"},g)}),u?r.jsx("circle",{cx:a,cy:n,r:v+8,stroke:"#ef4444",strokeWidth:"3",fill:"none",className:"animate-pulse"}):null]})}),lo=s2.memo(function({x:a,y:n,width:i,height:u,label:h,valueText:d,percent:v,color:p="#38bdf8",missing:x=!1}){const g=F0(v??0),b=i*g;return r.jsxs("g",{transform:`translate(${a},${n})`,children:[r.jsx("rect",{width:i,height:u,rx:"4",fill:"#020617",opacity:"0.9",stroke:"#334155",strokeWidth:"1"}),r.jsx("rect",{x:"2",y:u-5,width:i-4,height:"3",rx:"1.5",fill:"#1e293b"}),r.jsx("rect",{x:"2",y:u-5,width:Math.max(0,b-4),height:"3",rx:"1.5",fill:x?"#475569":p}),r.jsx("text",{x:"5",y:"9",className:"fill-slate-400 text-[0.48rem] font-semibold",children:h}),r.jsx("text",{x:i-5,y:"10",textAnchor:"end",className:"fill-slate-100 text-[0.55rem] font-semibold",children:d})]})});s2.memo(function({x:a,y:n,width:i,height:u,bytes:h}){const d=Array.isArray(h)?h:[],v=d.length,p=0,x=v>0?Math.max(.8,(i-p*(v-1))/v):i;return r.jsx("g",{transform:`translate(${a},${n})`,opacity:"0.72",children:d.map((g,b)=>{const M=(Number.isFinite(g)?Math.max(0,Math.min(255,g)):0)/255,L=2+M*(u-5),S=Math.round(M*300+35),C=b*(x+p),B=u-2-L;return r.jsx("rect",{x:C+1,y:B,width:Math.max(.6,x),height:L,rx:"0.8",fill:`hsl(${S} 95% 58%)`},b)})})});const aX=s2.memo(function({cx:a,cy:n,current:i,overcurrent:u,variant:h,dirtLeft:d,dirtRight:v}){const p=Math.abs(i),x=Pa(i,u),g=1,b=96,y=12,M=`main-brush-pattern-a-${h}`,L=`main-brush-pattern-b-${h}`,S=p>0?.6:null,C=i>=0?1:-1,B=(A,H,j)=>{const _=Number.isFinite(Number(j))?Math.max(0,Number(j)):0,N=2.5+F0(_/80)*5.5,V=_>0?"#fbbf24":"#475569",R=_>0?"#fde68a":"#1e293b";return r.jsx("circle",{cx:A,cy:H,r:N,fill:V,stroke:R,strokeWidth:"1",opacity:_>0?.95:.45,className:_>0?"animate-pulse":""})};return r.jsxs("g",{children:[r.jsx("defs",{children:[M,L].map((A,H)=>r.jsxs("pattern",{id:A,patternUnits:"userSpaceOnUse",width:"6",height:"6",children:[r.jsx("rect",{width:"6",height:"6",fill:x,opacity:g}),r.jsx("path",{d:"M0 6 L6 0",stroke:"#0f172a",strokeWidth:"1"}),S?r.jsx("animateTransform",{attributeName:"patternTransform",type:"translate",from:"0 0",to:`0 ${C*(H===0?6:-6)}`,dur:`${S}s`,repeatCount:"indefinite"}):null]},A))}),r.jsx("rect",{x:a-b/2,y:n-14,width:b,height:y,rx:"3",fill:`url(#${M})`,stroke:"#64748b",strokeWidth:"1"}),r.jsx("rect",{x:a-b/2,y:n+4,width:b,height:y,rx:"3",fill:`url(#${L})`,stroke:"#64748b",strokeWidth:"1"}),B(a-b/4,n-8,d),B(a+b/4,n+8,v),u?r.jsx("rect",{x:a-b/2-4,y:n-16,width:b+8,height:y*2+16,rx:"6",stroke:"#ef4444",strokeWidth:"3",fill:"none",className:"animate-pulse"}):null]})});function Z2(t,a=null){return t==null||!Number.isFinite(Number(t))?a:Number(t)}function S6(t,a,n,i){const u=K3(a?null:t,n,i);return a?n({sensors:a}):u}const nX=Object.freeze({bumpLeft:!1,bumpRight:!1});function rX(t){const a=t?.sensors;if(!a)return nX;const n=a.bumpsAndWheelDrops||{};return{bumpLeft:!!n.bumpLeft,bumpRight:!!n.bumpRight}}function lX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,rX,k4),u=6,h=i.bumpLeft?u:0,d=i.bumpRight?u:0;return r.jsxs(r.Fragment,{children:[r.jsx(no,{cx:n.centerX,cy:n.centerY,rInner:n.lightRingInner-h,rOuter:n.lightRingOuter-h,startDeg:-70,endDeg:-6,color:i.bumpLeft?"#ef4444":"#475569",opacity:1,pulse:!!i.bumpLeft}),r.jsx(no,{cx:n.centerX,cy:n.centerY,rInner:n.lightRingInner-d,rOuter:n.lightRingOuter-d,startDeg:6,endDeg:70,color:i.bumpRight?"#ef4444":"#475569",opacity:1,pulse:!!i.bumpRight})]})}const iX=s2.memo(lX),sX=Object.freeze({cliffLeftSignal:null,cliffFrontLeftSignal:null,cliffFrontRightSignal:null,cliffRightSignal:null,cliffLeft:!1,cliffFrontLeft:!1,cliffFrontRight:!1,cliffRight:!1});function oX(t){const a=t?.sensors;return a?{cliffLeftSignal:Z2(a.cliffLeftSignal),cliffFrontLeftSignal:Z2(a.cliffFrontLeftSignal),cliffFrontRightSignal:Z2(a.cliffFrontRightSignal),cliffRightSignal:Z2(a.cliffRightSignal),cliffLeft:!!a.cliffLeft,cliffFrontLeft:!!a.cliffFrontLeft,cliffFrontRight:!!a.cliffFrontRight,cliffRight:!!a.cliffRight}:sX}function uX(t){return t==null||!Number.isFinite(Number(t))?0:Math.max(0,Math.min(1,Number(t)/4095))}function hX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,oX,k4);return r.jsx(r.Fragment,{children:n.cliffSegments.map(u=>r.jsx(tX,{cx:n.centerX,cy:n.centerY,rInner:n.cliffRingInner,rOuter:n.cliffRingOuter,startDeg:u.start,endDeg:u.end,percent:uX(i[u.valueKey]),backgroundColor:i[u.activeKey]?"#7f1d1d":"#334155",fillColor:i[u.activeKey]?"#fbbf24":"#f59e0b",fillFromEnd:u.fillFromEnd},u.label))})}const dX=s2.memo(hX),fX=Object.freeze({voltageMv:null,currentMa:null,chargingStateLabel:""});function mX(t){const a=t?.sensors;return a?{voltageMv:Z2(a.voltageMv),currentMa:Z2(a.currentMa),chargingStateLabel:a.chargingState?.label||""}:fX}function vX(t){return t==null||!Number.isFinite(Number(t))?"--.-V":`${(Number(t)/1e3).toFixed(1)}V`}function pX(t){if(t==null||!Number.isFinite(Number(t)))return"---mA";const a=Number(t);return`${a>0?"+":""}${Math.round(a)}mA`}function gX(t){return t==null||!Number.isFinite(Number(t))?0:Zh((Number(t)-12e3)/5e3)}function xX(t){return t==null||!Number.isFinite(Number(t))?0:Zh(Math.abs(Number(t))/2500)}function Zh(t){return Math.max(0,Math.min(1,t))}function zX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,mX,k4);return r.jsxs(r.Fragment,{children:[r.jsx(lo,{x:n.voltageReadout.x,y:n.voltageReadout.y,width:n.voltageReadout.width,height:n.voltageReadout.height,label:i.chargingStateLabel||"unknown",valueText:vX(i.voltageMv),percent:gX(i.voltageMv),color:"#38bdf8",missing:i.voltageMv==null}),r.jsx(lo,{x:n.currentReadout.x,y:n.currentReadout.y,width:n.currentReadout.width,height:n.currentReadout.height,label:"current",valueText:pX(i.currentMa),percent:xX(i.currentMa),color:Number(i.currentMa)<0?"#f59e0b":"#22c55e",missing:i.currentMa==null})]})}const bX=s2.memo(zX),yX=Object.freeze([null,null,null,null,null,null]);function MX(t){const a=t?.sensors;return a?[Z2(a.lightBumpLeftSignal),Z2(a.lightBumpFrontLeftSignal),Z2(a.lightBumpCenterLeftSignal),Z2(a.lightBumpCenterRightSignal),Z2(a.lightBumpFrontRightSignal),Z2(a.lightBumpRightSignal)]:yX}function wX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,MX,Zu),u=i.filter(d=>d!=null),h=u.length?Math.max(...u,1200):1200;return r.jsx(r.Fragment,{children:n.lightSegments.map((d,v)=>{const p=i[v],x=WQ(p,h),g=n.lightRingOuter+4,b=g+28;return r.jsx(eX,{cx:n.centerX,cy:n.centerY,rBase:b,rTip:g,startDeg:d.start,endDeg:d.end,color:x,value:p,max:h},d.label)})})}const CX=s2.memo(wX),SX=Object.freeze({mainBrushCurrentMa:0,mainBrushOvercurrent:!1,dirtDetectLeft:null,dirtDetect:null});function HX(t){const a=t?.sensors;return a?{mainBrushCurrentMa:Z2(a.mainBrushCurrentMa,0),mainBrushOvercurrent:!!a.wheelOvercurrents?.mainBrush,dirtDetectLeft:Z2(a.dirtDetectLeft),dirtDetect:Z2(a.dirtDetect)}:SX}function AX({roverId:t,sensors:a,geometry:n,variant:i}){const u=S6(t,a,HX,k4);return r.jsx(aX,{cx:n.centerX,cy:n.centerY,current:u.mainBrushCurrentMa,overcurrent:u.mainBrushOvercurrent,variant:i,dirtLeft:u.dirtDetectLeft,dirtRight:u.dirtDetect})}const LX=s2.memo(AX),VX=Object.freeze({sideBrushCurrentMa:0,sideBrushOvercurrent:!1});function BX(t){const a=t?.sensors;return a?{sideBrushCurrentMa:Z2(a.sideBrushCurrentMa,0),sideBrushOvercurrent:!!a.wheelOvercurrents?.sideBrush}:VX}function NX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,BX,k4);return r.jsx(cX,{cx:n.centerX+n.innerCircle*.65,cy:n.centerY-n.innerCircle*.55,current:i.sideBrushCurrentMa,overcurrent:i.sideBrushOvercurrent})}const jX=s2.memo(NX),kX=Object.freeze({wheelDropLeft:!1,wheelDropRight:!1,leftWheelOvercurrent:!1,rightWheelOvercurrent:!1,wheelLeftCurrentMa:0,wheelRightCurrentMa:0});function FX(t){const a=t?.sensors;if(!a)return kX;const n=a.bumpsAndWheelDrops||{},i=a.wheelOvercurrents||{};return{wheelDropLeft:!!n.wheelDropLeft,wheelDropRight:!!n.wheelDropRight,leftWheelOvercurrent:!!i.leftWheel,rightWheelOvercurrent:!!i.rightWheel,wheelLeftCurrentMa:Z2(a.wheelLeftCurrentMa,0),wheelRightCurrentMa:Z2(a.wheelRightCurrentMa,0)}}function RX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,FX,k4);return r.jsxs(r.Fragment,{children:[r.jsx(ro,{cx:n.centerX-n.wheelLineOffset,cy:n.centerY,current:i.wheelLeftCurrentMa,drop:i.wheelDropLeft,overcurrent:i.leftWheelOvercurrent,label:"L"}),r.jsx(ro,{cx:n.centerX+n.wheelLineOffset,cy:n.centerY,current:i.wheelRightCurrentMa,drop:i.wheelDropRight,overcurrent:i.rightWheelOvercurrent,label:"R"})]})}const EX=s2.memo(RX),TX=["L","FL","CL","CR","FR","R"];function _X(t,a){const n=t/2,i=t*.05,u=n,h=n+i,d=n*.8,v=d-4,p=d+4,x=d-14,g=d-6,b=d*.65,y=JQ({count:6,totalSpan:140,gap:6,startAngle:-70}),M=t*.46,L=Math.min(M,Math.max(96,t*.42)),S=Math.max(18,t*.08),C=Math.max(6,t*.03),B=t-C-S;return{size:t,variant:a,centerX:u,centerY:h,innerCircle:d,lightRingInner:v,lightRingOuter:p,cliffRingInner:x,cliffRingOuter:g,wheelLineOffset:b,voltageReadout:{x:C,y:B,width:L,height:S},currentReadout:{x:t-C-L,y:B,width:L,height:S},lightSegments:y.map((A,H)=>({label:TX[H],start:A.start,end:A.end})),cliffSegments:[{label:"Cliff L",start:-60,end:-46,valueKey:"cliffLeftSignal",activeKey:"cliffLeft",fillFromEnd:!0},{label:"Cliff FL",start:-32,end:-16,valueKey:"cliffFrontLeftSignal",activeKey:"cliffFrontLeft",fillFromEnd:!0},{label:"Cliff FR",start:16,end:32,valueKey:"cliffFrontRightSignal",activeKey:"cliffFrontRight",fillFromEnd:!1},{label:"Cliff R",start:46,end:60,valueKey:"cliffRightSignal",activeKey:"cliffRight",fillFromEnd:!1}]}}function qX({roverId:t=null,sensors:a=null,variant:n="full",size:i,overlay:u=!1}){const h=i||(n==="mini"?190:260),d=m.useMemo(()=>_X(h,n),[h,n]);return r.jsx("div",{className:`${u?"relative":"relative p-1"}`,style:u?{width:`${h}px`,height:`${h}px`}:{height:"100%",width:"100%",aspectRatio:"1 / 1"},children:r.jsxs("svg",{width:"100%",height:"100%",viewBox:`0 0 ${h} ${h}`,preserveAspectRatio:"xMidYMid meet",className:"mx-auto block",children:[r.jsx("circle",{cx:d.centerX,cy:d.centerY,r:d.innerCircle,fill:"#0f172a",stroke:"#334155",strokeWidth:"2"}),r.jsx(EX,{roverId:t,sensors:a,geometry:d}),r.jsx(jX,{roverId:t,sensors:a,geometry:d}),r.jsx(LX,{roverId:t,sensors:a,geometry:d,variant:n}),r.jsx(CX,{roverId:t,sensors:a,geometry:d}),r.jsx(dX,{roverId:t,sensors:a,geometry:d}),r.jsx(iX,{roverId:t,sensors:a,geometry:d}),r.jsx(bX,{roverId:t,sensors:a,geometry:d})]})})}const Gh=s2.memo(qX);function io({roverId:t=null,sensors:a,show:n=!0,mapPosition:i="top-center",layoutFormat:u="desktop",mobileHud:h=!1}){if(!n)return null;const d=u==="mobile-portrait",v="240px",p=d?.3:h?.33:.7,g={width:v,height:v,opacity:h?.6:.7,transform:i==="top-center"?`translateX(-50%) scale(${p})`:`scale(${p})`,transformOrigin:i==="bottom-left"?"bottom left":i==="top-center"?"top center":"top right",...i==="bottom-left"?{left:"0.25rem",bottom:"0.25rem"}:i==="top-center"?{left:"50%",top:"0.25rem"}:{right:"0.25rem",top:"0.25rem"}};return r.jsx("div",{className:"pointer-events-none absolute rounded",style:g,children:r.jsx(Gh,{roverId:t,sensors:a,size:240,overlay:!0})})}function DX({roverId:t=null,sensors:a,label:n,roverColor:i=null,layoutFormat:u="desktop",variant:h="default",driverLabel:d=null,showTopDown:v=void 0,mobileHud:p=!1,mapPosition:x=null,labelScale:g=1}){const b=o1(V=>V.session?.assignment?.roverId??null),y=t??b,M=K3(y,tx,ex),L=o1(V=>{if(!y)return{label:null,roverColor:null};const q=(V.session?.roster||[]).find($=>String($.id)===String(y));return{label:q?.name||null,roverColor:q?.color||null}}),S=o1(V=>{if(!y||h!=="spectator")return null;const R=V.session?.activeDrivers?.[y]||null,$=(V.session?.users||[]).find(D=>String(D.socketId||"")===String(R||""));return $?.nickname||$?.name||null}),C=a??null,B=n??L.label??null,A=i??L.roverColor??null,H=d??S,j=p,[_]=Ph(),F=typeof v=="boolean"?v:h==="spectator"||j?!0:_,N=x||(h==="spectator"?"top-center":j?"top-right":"top-center");return h==="none"?null:h==="spectator"?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[r.jsx(XQ,{sensors:C,telemetry:a?null:M,mobileHud:j}),r.jsx(ao,{variant:"spectator",label:B,roverColor:A,driverLabel:H,mobileHud:j,labelScale:g})]}),r.jsx(io,{roverId:y,sensors:C,show:F,mapPosition:N,layoutFormat:u,mobileHud:j})]}):r.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[r.jsx(ao,{variant:"default",label:B,roverColor:A,mobileHud:j,labelScale:g}),r.jsx(io,{roverId:y,sensors:C,show:F&&h!=="spectator",mapPosition:N,layoutFormat:u,mobileHud:j})]})}const Yh=s2.memo(DX);function OX({mobileHud:t=!1}){const{visible:a,statusLabel:n,statusTone:i,active:u,charging:h}=k0({manageLifecycle:!0}),[d,v]=m.useState(""),p=m.useRef(null),x=m.useRef(u);if(m.useEffect(()=>{const b=x.current;u&&!b?v("Dock assist mode enabled"):!u&&b&&h&&v("Docking successful! Thank you!"),x.current=u},[u,h]),m.useEffect(()=>{if(d)return p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{v(""),p.current=null},2500),()=>{p.current&&(clearTimeout(p.current),p.current=null)}},[d]),!a)return null;const g=i==="good"?"border-emerald-200/90 bg-emerald-900/90 text-emerald-50":i==="warn"?"border-amber-200/90 bg-amber-900/90 text-amber-50":"border-cyan-200/90 bg-cyan-900/90 text-cyan-50";return r.jsx("div",{className:"pointer-events-none absolute inset-0",children:d?r.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:r.jsx("div",{className:`rounded-xl border border-indigo-200/95 bg-black/95 px-4 py-2 text-center font-semibold text-indigo-50 shadow-2xl ${t?"text-lg":"text-2xl"}`,children:d})}):r.jsx("div",{className:`absolute right-2 top-1/2 -translate-y-1/2 rounded-lg border px-2 py-1 font-semibold shadow-lg ${g} ${t?"text-[0.65rem]":"text-xs"}`,children:n})})}const UX=s2.memo(OX),so=5e3,IX=700;function Kh({roverId:t=null,description:a,variant:n="default",mobileHud:i=!1,displayKey:u="",controlIntentAt:h}){const d=o1(A=>A.session?.assignment?.roverId??null),v=t??d,p=o1(A=>v&&(A.session?.roster||[]).find(_=>String(_.id)===String(v))?.description||null),x=a??p,g=typeof h=="number"?h:0,b=u||`${v||""}::${x||""}`,[y,M]=m.useState(!1),[L,S]=m.useState(!1),C=m.useRef(null),B=m.useRef(null);return m.useEffect(()=>()=>{clearTimeout(C.current),clearTimeout(B.current)},[]),m.useEffect(()=>{if(n!=="default"||!x){M(!1),S(!1),clearTimeout(C.current),clearTimeout(B.current);return}clearTimeout(C.current),clearTimeout(B.current),M(!0),S(!1)},[x,b,n]),m.useEffect(()=>{n!=="default"||!x||!y||L||(Number(g)||0)<=0||C.current||B.current||(C.current=setTimeout(()=>{S(!0),C.current=null},so),B.current=setTimeout(()=>{M(!1),B.current=null},so+IX))},[g,x,L,y,n]),x?n==="spectator"?r.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-1 z-50 flex justify-center",children:r.jsx("div",{className:"surface max-w-[92%] border border-slate-600/80 px-1 py-0.5 text-center text-[0.62rem] leading-tight text-slate-100 shadow-lg",children:x})}):n!=="default"||!y?null:r.jsx("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center",children:r.jsxs("div",{className:`surface max-w-[94%] border border-slate-400 bg-neutral-900 px-2 py-1 text-center font-semibold text-slate-100 shadow-xl transition-opacity duration-700 ${L?"opacity-0":"opacity-100"} ${i?"text-[1rem] leading-tight":"text-[1.5rem] leading-tight"}`,children:[r.jsx("p",{children:"Just so you know, this rover"}),r.jsx("p",{children:x}),r.jsx("p",{className:`${i?"text-[0.58rem]":"text-[0.72rem]"} mt-0.5 font-normal text-slate-300`,children:"This fades 5 seconds after your first control input."})]})}):null}const PX={leftWheel:"Left wheel",rightWheel:"Right wheel",mainBrush:"Main brush",sideBrush:"Side brush",limiter:"Overcurrent limit"};function $X({roverId:t=null,sensors:a,overcurrentLimiter:n=null,compact:i=!1}){const u=o1(N=>N.session?.assignment?.roverId??null),h=t??u,d=K3(h,Gu,Yu),v=dh(h),p=a?.wheelOvercurrents??d,x=n??v??null,g=m.useMemo(()=>p==null?[]:Object.entries(p).filter(([,N])=>!!N).map(([N])=>N),[p]),b=x?.caps||null,y=m.useMemo(()=>{if(!b)return null;const N=Number.isFinite(b?.drive?.cap)?b.drive.cap:1,V=Number.isFinite(b?.aux?.cap)?b.aux.cap:1;return Math.max(0,Math.min(1,1-Math.min(N,V)))},[b]),M=!!x?.isActive,L=m.useMemo(()=>g.length?g:M?["limiter"]:[],[g,M]),S=y??(g.length?1:0);if(!L?.length)return null;const C=L.map(N=>PX[N]||N),B=i?"w-[12rem] h-[3.5rem]":"w-[20rem] h-[7rem]",A=i?"px-2 py-1":"px-4 py-2",H=i?"text-lg":"text-4xl",j=i?"text-xs":"text-xl",_=Math.max(0,Math.min(1,S)),F=`${Math.round(_*100)}%`;return r.jsx("div",{className:`pointer-events-none absolute flex items-center justify-center bg-red-900/50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 ${B}`,children:r.jsxs("div",{className:"relative h-full w-full",children:[r.jsx("div",{className:"absolute inset-0 overflow-hidden",children:r.jsx("div",{className:"h-full bg-red-700/60",style:{width:F}})}),r.jsxs("div",{className:`relative z-10 flex h-full w-full flex-col items-center justify-center text-center font-semibold text-white animate-pulse ${H} ${A}`,children:[r.jsx("div",{children:"OVERCURRENT"}),r.jsx("div",{className:`mt-0 font-medium text-white ${j}`,children:C.join(", ")})]})]})})}const Qh=s2.memo($X),Y8=10;function a5({batteryState:t=null,charge:a=null,config:n=null}){const i=t?.percentDisplay!=null&&Number.isFinite(t.percentDisplay)?Math.round(t.percentDisplay):null,u=t?.warnActive??null,h=t?.urgentActive??null,d=n?.Full??null,v=n?.Warn??null,p=n?.Urgent??null,x=a??t?.charge??null;let g=i;if(g==null&&(g=ZX({charge:x,full:d,warn:v,urgent:p})),g==null)return{available:!1};const b=Math.max(0,Math.min(1,g/100)),y=u??(v!=null&&x!=null&&x<=v),M=h??(p!=null&&x!=null&&x<=p);return{available:!0,percent:b,percentDisplay:g,warnActive:y,urgentActive:M,warnDisplayPercent:Y8}}function ZX({charge:t,full:a,warn:n,urgent:i}){if(t!=null&&a!=null&&n!=null&&i!=null&&a>n&&n>i){const u=Y8/100,h=1-u;if(t<=i)return 0;if(t<=n){const v=(t-i)/(n-i);return Math.round(Math.max(0,Math.min(1,v))*Y8)}if(t>=a)return 100;const d=(t-n)/(a-n);return Math.round((u+Math.max(0,Math.min(1,d))*h)*100)}return null}function GX({roverId:t=null,sensors:a,batteryConfig:n,compact:i=!1}){const u=o1(L=>L.session?.assignment?.roverId??null),h=t??u,d=K3(h,Se,Ce),v=o1(L=>h?(L.session?.roster||[]).find(B=>String(B.id)===String(h))?.battery??null:null),p=a?{batteryChargeMah:a?.batteryChargeMah??null,batteryCapacityMah:a?.batteryCapacityMah??null}:d,x=n??v,g=a5({charge:p?.batteryChargeMah??null,config:x});if(!g?.available||!g.warnActive&&!g.urgentActive)return null;const b=g.urgentActive?"BATTERY VERY LOW, DOCK THE ROVER AND CHARGE IMMEDIATELY!!":"Battery low! please dock and charge the rover soon.",y=i?"p-2 top-6":"p-4 top-10",M=i?"text-sm":"text-2xl";return r.jsx("div",{className:`pointer-events-none absolute flex items-center justify-center bg-amber-900/60 left-1/2 -translate-x-1/2 ${y}`,children:r.jsx("div",{className:`text-center font-semibold text-white animate-pulse ${M}`,children:r.jsx("div",{children:b})})})}const Xh=s2.memo(GX);function YX({roverId:t=null,sensors:a}){const n=o1(b=>b.session?.assignment?.roverId??null),u=K3(t??n,Qg,Xg),h=a?[a?.lightBumpLeftSignal,a?.lightBumpFrontLeftSignal,a?.lightBumpCenterLeftSignal,a?.lightBumpCenterRightSignal,a?.lightBumpFrontRightSignal,a?.lightBumpRightSignal]:u,d=h.filter(b=>b!=null).reduce((b,y)=>Math.max(b,y),1200),v=b=>Math.pow(Math.max(0,Math.min(1,(b??0)/d)),.35),p=b=>b==null||b<=0?"hsl(200 60% 18%)":`hsl(${(200+v(b)*360)%360} 100% 60%)`,x=6,g=12;return r.jsx("div",{className:"flex w-full items-center justify-center gap-0.5",children:h.map((b,y)=>{const M=v(b),L=yv.session?.assignment?.roverId??null),i=t??n,u=K3(i,Se,Ce),h=o1(v=>i?(v.session?.roster||[]).find(g=>String(g.id)===String(i))?.battery??null:null),d=a5({charge:u?.batteryChargeMah??null,config:h});return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(KX,{roverId:i}),r.jsx("div",{className:"space-y-0.5 text-sm",children:r.jsx(Ae,{visual:d,compact:a})})]})}function tW(){if(typeof navigator>"u")return!1;const t=navigator.userAgent||"",a=navigator.vendor||"";return/safari/i.test(t)&&/apple/i.test(a)&&!/crios|fxios|edgios|opr|chrome|android/i.test(t)}function eW({compact:t=!1}){const a=o1(q=>q.session?.role||null),n=o1(q=>q.session?.assignment?.roverId||null),i=o1(q=>q.session?.roster||[]),{sendMessage:u,onInputFocus:h,onInputBlur:d,blurChat:v,registerInputRef:p,setTypingActive:x}=qa(),{value:g}=I1("tts",{engine:"chromegtts",voice:"tpf",pitch:50,googlePitch:1,googleSpeed:1}),[b,y]=m.useState(""),[M,L]=m.useState(!1),S=a!=="spectator",C=a==="spectator",A=!!m.useMemo(()=>i.find(q=>String(q.id)===String(n))||null,[n,i])?.audio?.ttsEnabled,H=m.useMemo(()=>{if(!A)return null;const q=g?.engine==="espeak"?"espeak":g?.engine==="flite"?"flite":"chromegtts";if(q==="espeak"){let D=Number.isFinite(g?.pitch)?Math.round(g.pitch):void 0;return typeof D=="number"&&(D=Math.max(0,Math.min(99,D))),{speak:!0,engine:q,pitch:D}}const $=typeof g?.voice=="string"?g.voice:void 0;if(q==="chromegtts"){const D=Number.isFinite(g?.googlePitch)?g.googlePitch:1,W=Number.isFinite(g?.googleSpeed)?g.googleSpeed:1;return{speak:!0,engine:q,voice:$,pitch:D,speed:W}}return{speak:!0,engine:q,voice:$}},[g?.engine,g?.googlePitch,g?.googleSpeed,g?.pitch,g?.voice,A]),j=t?"pointer-events-auto absolute bottom-0.5 right-0.5 flex w-[9rem] max-w-[70vw] items-center gap-0.5 rounded bg-black/70 px-0.4 py-0.2":"pointer-events-auto absolute bottom-1 right-1 flex w-[12rem] max-w-[70vw] items-center gap-0.5 rounded bg-black/70 px-0.5 py-0.25",N=`min-w-0 flex-1 bg-transparent ${m.useMemo(()=>tW(),[])?"mobile-text-entry":t?"text-[0.55rem]":"text-[0.7rem]"} text-slate-100 placeholder:text-slate-400 focus:outline-none`,V=t?"mobile-touch-control rounded bg-cyan-500/80 px-0.35 py-0.2 text-[0.55rem] font-semibold text-black disabled:opacity-50":"mobile-touch-control rounded bg-cyan-500/80 px-0.5 py-0.25 text-[0.7rem] font-semibold text-black disabled:opacity-50";async function R(q){if(q.preventDefault(),!S)return;const $=b.trim();if($){L(!0);try{await u($,H),y(""),v(),x(!1)}catch(D){alert(D.message)}finally{L(!1)}}}return C?null:r.jsxs("form",{onSubmit:R,className:j,children:[r.jsx("input",{className:N,value:b,onChange:q=>{const $=q.target.value;y($),x(!!$.trim())},onFocus:q=>{h(q),x(!!b.trim())},onBlur:q=>{d(q),x(!1)},onKeyDown:q=>{q.key==="Enter"&&!b.trim()&&(q.preventDefault(),v(),x(!1))},ref:q=>p(q,{target:"hud"}),placeholder:S?"Chat (tts)":"Spectator",disabled:!S}),r.jsx("button",{type:"submit",disabled:!S||M,className:V,children:"Speak"})]})}const cW=m.memo(eW);function $a({layoutFormat:t="desktop"}){const a=o1(h=>h.session?.assignment?.roverId??null),n=PQ(a),i=_1(h=>h.state.lastControlIntentAt);if(!a)return r.jsx(N1,{hideHeader:!0,className:"shrink-0",children:r.jsxs("div",{className:"panel-muted content-center text-center text-sm text-slate-400 aspect-[4/3]",children:[r.jsx("p",{children:"You are not assigned to a rover."}),r.jsx("p",{className:"mt-0",children:r.jsx("a",{href:"/spectate",className:"text-blue-400 underline hover:text-blue-500",children:"Click here to visit the spectator page."})})]})});const u=t!=="desktop";return r.jsx(N1,{hideHeader:!0,className:"shrink-0",children:r.jsxs("div",{className:"flex flex-col gap-0.5",children:[r.jsxs("div",{className:"relative w-full overflow-hidden bg-black aspect-[4/3]",children:[r.jsx(G8,{roverId:a,videoMode:n}),r.jsx(QQ,{mobileHud:u}),r.jsx(Kh,{variant:"default",mobileHud:u,controlIntentAt:i}),r.jsx(Yh,{layoutFormat:t,variant:"default",mobileHud:u,labelScale:1}),r.jsx(UX,{mobileHud:u}),r.jsx(cW,{compact:u}),r.jsx(Qh,{compact:u}),r.jsx(Xh,{compact:u})]}),r.jsx(JX,{mobileHud:u})]})})}const aW=Object.freeze([{id:"white",label:"White",hex:"#ffffff",action:"white"},{id:"red",label:"Red",hex:"#ff0000"},{id:"green",label:"Green",hex:"#00ff00"},{id:"cyan",label:"Cyan",hex:"#00c7be"},{id:"blue",label:"Blue",hex:"#0000ff"},{id:"purple",label:"Purple",hex:"#bf5af2"}]);function ra({label:t,tone:a="muted"}){const n=a==="success"?"bg-emerald-900 text-emerald-100":a==="warn"?"bg-amber-900 text-amber-100":"bg-slate-800 text-slate-200";return r.jsx("span",{className:`rounded px-1 py-0.5 text-xs font-semibold leading-none ${n}`,children:t})}function Wh(...t){return t.filter(Boolean).join(" ")}function nW(t,{unavailable:a,isOn:n,supportsColor:i}){if(a||!n)return;const u=i?t.colorHex:null;if(u)return{backgroundColor:u,borderColor:"rgba(255,255,255,0.38)"}}function rW({entity:t,swatch:a,disabled:n,onSetColor:i,onSetWhite:u}){const h=d=>{if(d.stopPropagation(),!n){if(a.action==="white"){u(t.id).catch(()=>{});return}i(t.id,a.hex).catch(()=>{})}};return r.jsx("button",{type:"button",onClick:h,onKeyDown:d=>{d.stopPropagation()},disabled:n,title:`${a.label} ${t.name||t.id}`,"aria-label":`Set ${t.name||t.id} to ${a.label}`,className:Wh("h-5 w-6 shrink-0 rounded-sm border border-white/80 transition-transform disabled:cursor-not-allowed disabled:opacity-40",!n&&"hover:scale-110 hover:border-white"),style:{backgroundColor:a.hex}})}function lW({entity:t,connected:a,controlsLocked:n,onToggle:i,onSetColor:u,onSetWhite:h}){const d=t.state==="unavailable"||!t.available,v=t.state==="on",p=t.type==="light"&&t.supportsColor,x=d?"warn":v?"success":"muted",g=d?"Unavailable":v?"On":"Off",b=n||!a||d,y=b||!p,M=nW(t,{unavailable:d,isOn:v,supportsColor:p}),L=d?"border-slate-800 bg-slate-950 text-slate-500":n?"border-amber-700/60 bg-amber-950/70 text-amber-100":v?"border-emerald-700/70 bg-emerald-900 text-white":"border-neutral-700 bg-neutral-950 text-slate-300",S=()=>{b||i(t.id)},C=B=>{b||B.key!=="Enter"&&B.key!==" "||(B.preventDefault(),S())};return r.jsxs("div",{role:"button",tabIndex:b?-1:0,onClick:S,onKeyDown:C,"aria-disabled":b,className:Wh("flex min-w-[9.5rem] flex-col gap-0.5 rounded border px-0.5 py-0.5 transition-colors",b?"cursor-not-allowed opacity-70":"cursor-pointer hover:border-white/60",L),style:M,title:`${v?"Turn off":"Turn on"} ${t.name||t.id}`,children:[r.jsxs("div",{className:"-mx-0.5 -mt-0.5 grid min-h-5 grid-cols-[minmax(0,1fr)_auto] items-center gap-0.5 rounded-t bg-black/45 px-0.5 py-0.5 text-left text-white",children:[r.jsx("span",{className:"min-w-0 truncate text-[0.78rem] font-semibold leading-none",children:t.name||t.id}),r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx(ra,{label:g,tone:x}),a?null:r.jsx("span",{className:"text-[0.65rem] font-semibold text-amber-200",children:"Offline"})]})]}),p?r.jsx("div",{className:"flex flex-wrap justify-center gap-0.5",children:aW.map(B=>r.jsx(rW,{entity:t,swatch:B,disabled:y,onSetColor:u,onSetWhite:h},B.id))}):null]})}function Jh(){const t=_1(M=>M.state.keymap),a=o1(M=>M.session?.homeAssistant||null),{homeAssistantToggle:n,homeAssistantSetLightColor:i,homeAssistantSetLightWhite:u}=O2(),h=m.useMemo(()=>a?.entities||[],[a?.entities]),d=a?.lightPolicy||null,v=!!(d?.locked||d?.lockedOn),p=d?.lockState||(d?.lockedOn?"on":null),x=_2(t?.homeAssistantOn?.[0]),g=_2(t?.homeAssistantOff?.[0]);if(!a?.enabled)return r.jsx(N1,{title:"Room Controls",bodyClassName:"space-y-0.5 text-sm text-slate-400",children:r.jsx("p",{className:"text-slate-500",children:"Not configured on the server."})});if(h.length===0)return r.jsx(N1,{title:"Room Controls",bodyClassName:"space-y-0.5 text-sm text-slate-400",children:r.jsx("p",{className:"text-slate-500",children:"No lights or switches configured."})});const b=!!a?.connected,y=r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex items-center gap-0.5 text-[0.68rem] text-slate-400",children:[r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx("span",{children:"On"}),x?r.jsx(oo,{label:x}):null]}),r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx("span",{children:"Off"}),g?r.jsx(oo,{label:g}):null]})]}),v?r.jsx(ra,{label:p==="off"?"Locked Off":"Locked On",tone:"warn"}):null,r.jsx(ra,{label:b?"Connected":"Offline",tone:b?"success":"warn"})]});return r.jsxs(N1,{title:"Room Controls",actions:y,bodyClassName:"space-y-0.5 text-base",children:[v?r.jsx("p",{className:"rounded border border-amber-600/60 bg-amber-900/40 px-1 py-0.5 text-xs text-amber-100",children:p==="off"?"Lights are locked off. Room controls are disabled.":"Lights are locked on. Room controls are disabled."}):null,r.jsx("div",{className:"grid grid-cols-1 gap-0.5 sm:grid-cols-2 lg:grid-cols-3",children:h.map(M=>r.jsx(lW,{entity:M,connected:b,controlsLocked:v,onToggle:n,onSetColor:i,onSetWhite:u},M.id))})]})}function oo({label:t}){return t?r.jsx("span",{className:"rounded border border-slate-600 px-1 text-[0.65rem] text-slate-300",children:t}):null}function Za(){const{login:t}=O2(),[a,n]=m.useState(""),[i,u]=m.useState(""),[h,d]=m.useState(!1);async function v(p){p.preventDefault(),d(!0);try{await t(a,i),n(""),u("")}catch(x){alert(x.message)}finally{d(!1)}}return r.jsx(N1,{title:"Admin login",bodyClassName:"space-y-0.5 text-base",children:r.jsxs("form",{className:"flex flex-col gap-0.5",onSubmit:v,children:[r.jsx("input",{className:"field-input",placeholder:"Username",value:a,onChange:p=>n(p.target.value)}),r.jsx("input",{className:"field-input",placeholder:"Password",type:"password",value:i,onChange:p=>u(p.target.value)}),r.jsx("button",{type:"submit",disabled:h,className:"button-dark w-full disabled:opacity-50",children:h?"Logging in…":"Login"})]})})}function uo(...t){return t.filter(Boolean).join(" ")}function iW(t){const a=t?.batteryState?.percentDisplay;return a==null?"--":`${a}%`}function sW(t){return t?.batteryState?t.batteryState.urgentActive?"text-red-400":t.batteryState.warnActive?"text-amber-300":"text-emerald-300":"text-slate-400"}function oW({title:t,roster:a=[],emptyText:n="No roster data.",renderActions:i=null}){return r.jsxs("div",{className:"space-y-0.5 text-sm",children:[t&&r.jsx("p",{className:"text-sm text-slate-400",children:t}),a.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:n}):r.jsx("ul",{className:"space-y-0.5 text-sm",children:a.map(u=>{const h=!!(u?.private?.enabled&&u?.private?.open),d=!!u?.locked;return r.jsxs("li",{className:uo("surface flex flex-wrap items-center justify-between gap-0.5",d?"bg-red-900/40":h?"bg-amber-700/35 border border-amber-200/30":null),children:[r.jsxs("div",{children:[r.jsx("p",{children:r.jsx(j4,{rover:u,fallback:u.id})}),r.jsxs("p",{className:"text-xs text-slate-500 flex flex-wrap items-center gap-0.5",children:[r.jsx("span",{children:u.locked?"locked":"free"}),u.lockReason&&r.jsx("span",{className:"rounded bg-black/30 px-1",children:u.lockReason}),r.jsxs("span",{className:uo("font-semibold",sW(u)),children:["Battery ",iW(u)]})]})]}),i?i(u):null]},u.id)})})]})}function uW(t){const a=t?.runtime||{},n=t?.output||{},i=t?.errors||{};return a.inFlight?{label:"IN FLIGHT",detail:a.reason||"Generating commentary now",className:"border-amber-400/60 bg-amber-700/20 text-amber-200"}:a.outcome==="posted"?{label:"POSTED",detail:n.posted?`Last: ${n.posted}`:"Commentary posted",className:"border-emerald-400/60 bg-emerald-700/20 text-emerald-200"}:a.outcome==="skipped"?{label:"SKIPPED",detail:a.reason||"Model chose to skip",className:"border-slate-400/60 bg-slate-700/30 text-slate-200"}:a.outcome==="failed"?{label:"FAILED",detail:i.message||a.reason||"Tick failed",className:"border-red-400/60 bg-red-700/20 text-red-200"}:{label:a.running?"IDLE":"STOPPED",detail:a.reason||"Waiting for next tick",className:"border-sky-400/50 bg-sky-700/20 text-sky-200"}}function hW(t,a){const n=Date.now(),u=(Array.isArray(t)?t:[]).map((h,d)=>{const v=String(h?.role||"").toLowerCase(),p=typeof h?.content=="string"?h.content:JSON.stringify(h?.content??null,null,2),x=v==="system"?"LLM System":v==="assistant"?"LLM Context":v==="user"?"LLM Input":"LLM Message";return{id:`llm-msg-${d}`,message:{ts:n+d,nickname:x,text:p,role:"spectator",bot:v==="system"}}});if(a!=null){const h=String(a);u.push({id:"llm-output",message:{ts:n+u.length+1,nickname:"LLM Output",text:h.trim()?h:"",role:"spectator",bot:!0}})}return u}function dW({state:t,onClearHistory:a,clearingHistory:n}){const[i,u]=m.useState(null);if(!t)return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"LLM Commentary"}),r.jsx("div",{className:"surface text-xs text-slate-300",children:"No status received yet."})]});const h=t.runtime||{},d=t.counters||{},v=t.timings||{},p=t.input||{},x=t.output||{},g=t.errors||{},b=Array.isArray(t.history)?t.history:[],y=b.find(C=>C.runId===i)||(b.length?b[b.length-1]:null),M=uW(t),L=hW(p.modelMessages,x.raw),S=[{label:"running",value:h.running?"yes":"no"},{label:"in flight",value:h.inFlight?"yes":"no"},{label:"phase",value:h.phase||"--"},{label:"run id",value:h.currentRunId??"--"},{label:"tick count",value:h.tickCount??0},{label:"last tick",value:h.lastTickAt?new Date(h.lastTickAt).toLocaleString():"never"},{label:"next run",value:h.nextRunAt?new Date(h.nextRunAt).toLocaleString():"n/a"},{label:"outcome",value:h.outcome||"--"},{label:"reason",value:h.reason||"--"},{label:"skip streak",value:d.skipStreak??0},{label:"clear count",value:d.clearCount??0},{label:"last gen",value:v.lastGenerationMs!=null?`${v.lastGenerationMs} ms`:"--"},{label:"avg gen",value:v.avgGenerationMs!=null?`${v.avgGenerationMs} ms`:"--"},{label:"gen count",value:v.generationCount??0},{label:"prompt chars",value:d.promptChars??0},{label:"active drivers",value:d.snapshotSummary?.activeDrivers??0},{label:"snapshot rovers",value:d.snapshotSummary?.rovers??0},{label:"snapshot chat",value:d.snapshotSummary?.chatMessages??0}];return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"LLM Commentary"}),r.jsx("div",{className:"flex gap-0.5 text-xs",children:r.jsx("button",{type:"button",onClick:a,disabled:!!n,className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:n?"Clearing...":"Clear LLM History"})}),r.jsxs("div",{className:`surface border text-center ${M.className}`,children:[r.jsx("div",{className:"text-[1.1rem] font-bold tracking-wide",children:M.label}),r.jsx("div",{className:"text-xs text-slate-200",children:M.detail})]}),r.jsx("div",{className:"surface flex flex-wrap gap-0.5 text-xs",children:S.map(C=>r.jsxs("span",{className:"rounded border border-slate-600/60 bg-slate-800/70 px-0.5 py-0.25 text-[0.72rem] leading-tight text-slate-200",children:[C.label,": ",C.value]},C.label))}),g.message?r.jsxs("div",{className:"surface text-xs text-red-300 break-words",children:["Error: ",g.message]}):null,g.details?r.jsxs("details",{className:"surface text-xs text-red-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-red-300",children:"Failure details"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-red-200",children:JSON.stringify(g.details,null,2)})]}):null,x.generated?r.jsxs("div",{className:"surface text-xs text-slate-200 break-words",children:["Generated: ",x.generated]}):null,x.posted?r.jsxs("div",{className:"surface text-xs text-emerald-200 break-words",children:["Posted: ",x.posted]}):null,r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-2",children:[r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Live Input Conversation"}),r.jsx("div",{className:"surface max-h-72 space-y-0.5 overflow-y-auto",children:L.length?L.map(C=>r.jsx(P8,{message:C.message},C.id)):r.jsx("div",{className:"text-xs text-slate-300",children:"No model conversation captured yet."})})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Output + Error"}),r.jsxs("div",{className:"surface space-y-0.5 text-xs text-slate-200",children:[r.jsxs("div",{children:["Raw output: ",x.raw?.trim()?x.raw:""]}),r.jsxs("div",{children:["Posted: ",x.posted||""]}),r.jsxs("div",{children:["Output at: ",x.modelOutputAt?new Date(x.modelOutputAt).toLocaleString():"n/a"]}),r.jsxs("div",{children:["Failed at: ",g.failedAt?new Date(g.failedAt).toLocaleString():"n/a"]})]})]})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Full Monitor Payload"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(t,null,2)})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Recent Runs"}),r.jsx("div",{className:"surface max-h-52 space-y-0.5 overflow-y-auto text-xs",children:b.length?b.slice().reverse().map(C=>r.jsxs("button",{type:"button",onClick:()=>u(C.runId),className:`w-full text-left surface ${y?.runId===C.runId?"border border-sky-400/50":""}`,children:[r.jsxs("span",{className:"text-slate-300",children:["#",C.runId]})," ",r.jsx("span",{className:"text-slate-200",children:C.outcome||C.phase||"--"})," ",r.jsx("span",{className:"text-slate-400",children:C.durationMs!=null?`${C.durationMs}ms`:"--"})," ",r.jsx("span",{className:"text-slate-500",children:C.reason||""})]},C.runId)):r.jsx("div",{className:"text-slate-300",children:"No runs recorded yet."})})]}),y?r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsxs("summary",{className:"cursor-pointer select-none text-slate-300",children:["Run #",y.runId," details"]}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(y,null,2)})]}):null]})}function fW({state:t,onClearHistory:a,clearingHistory:n}){const[i,u]=m.useState(!1);if(!t)return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Overseer Control"}),r.jsx("div",{className:"surface text-xs text-slate-300",children:"No status received yet."})]});const h=t.runtime||{},d=t.config||{},v=t.output||{},p=t.timings||{},x=t.input||{},g=t.errors||{},b=()=>{const y=Array.isArray(x.modelMessages)?x.modelMessages:[];return y.length?y.map((M,L)=>{const S=String(M?.role||"unknown").toUpperCase(),C=String(M?.content||"");return`#${L+1} ${S} + `}),r.jsxs("p",{className:"flex flex-wrap items-center gap-0.5 text-slate-100",children:[r.jsx("span",{className:"font-semibold text-slate-300 pr-1",children:"Barcode scanned:"}),r.jsx("span",{className:"font-semibold text-white",children:n}),a?r.jsx("a",{href:a,target:"_blank",rel:"noreferrer",className:"rounded-md ml-0.5 px-2 py-1 text-xl font-semibold leading-tight tracking-normal",style:{animation:"barcode-wiki-flat-flash 0.35s steps(1, end) infinite"},children:"Wiki link"}):null]})]})}function cK({alert:t}){if(t.kind==="buttonbox-active"&&t.payload){const a=t.payload;return r.jsxs("div",{className:"pointer-events-none w-[12.5rem]",children:[r.jsx(rh,{buttonId:a.buttonId,count:a.count,goal:a.goal,rewardNumber:a.rewardNumber,rewardName:a.rewardName,rewardDescription:a.rewardDescription,dailyCount:a.dailyCount,dailyLimit:a.dailyLimit,limited:a.limited,className:a.limited?"bg-red-950/70 ring-1 ring-red-500/70":"bg-cyan-900/45"}),a.description?r.jsx("p",{className:["mt-1 text-center text-xs font-semibold",a.limited?"text-red-200":"text-cyan-100"].join(" "),children:a.description}):null]})}return t.kind==="chat"&&t.payload?r.jsx(P8,{message:t.payload}):t.kind==="chat-typing"&&t.payload?r.jsx(P8,{message:t.payload,variant:"typing"}):t.kind==="barcode-scan"&&t.payload?r.jsx(eK,{payload:t.payload}):r.jsx("div",{className:"pointer-events-auto min-w-0 max-w-[24rem] px-1.5 py-0.5 text-left text-[0.72rem] leading-tight text-slate-100",children:r.jsxs("p",{className:"truncate text-slate-100",children:[r.jsx("span",{className:"font-semibold text-slate-300",children:t.title||"Alert"}),r.jsx("span",{className:"text-slate-500",children:" · "}),r.jsx("span",{className:"text-white",children:t.message})]})})}const h0={main:[-127,127],side:[-127,127],vacuum:[0,127]},oc={maxSpeed:500,baseSpeed:250,boostSpeed:400},aK=60,Gc=100,Ea=[31,127],S0=60,Yc=8,nK=250,rK=4e3,ie=2e3,Fs=.4,lK=.8,iK={start:[128],safe:[131],full:[132],passive:[128],dock:[143]},q8={driveForward:["w"],driveBackward:["s"],driveLeft:["a"],driveRight:["d"],boostModifier:["\\"],slowModifier:["shift"],auxMainForward:["i"],auxMainReverse:["k"],auxSideForward:["o"],auxSideReverse:["l"],auxVacuumFast:["p"],auxVacuumSlow:[";"],auxAllForward:[","],cameraUp:["u"],cameraDown:["j"],headlightToggle:["e"],laserToggle:["r"],videoFilterCycle:["2"],hornHonk:["h"],micPtt:["m"],driveMacro:["f"],dockMacro:["g"],chatFocus:["enter"],songNoteUp:["ArrowUp"],songNoteDown:["ArrowDown"],homeAssistantOn:["ArrowRight"],homeAssistantOff:["ArrowLeft"]},oh=[{id:"drive-sequence",label:"Drive",description:"Start, undock, and full command sequence used by the drive button.",steps:[{type:"servo",angle:0},{type:"oi",command:"start"},{type:"pause",duration:Gc},{type:"oi",command:"dock"},{type:"pause",duration:Gc},{type:"oi",command:"full"},{type:"pause",duration:300},{type:"drive",speeds:{left:-300,right:-300}},{type:"pause",duration:600},{type:"drive",speeds:{left:0,right:0}}]}];function Kc(){return{vector:{x:0,y:0,boost:!1},speeds:{left:0,right:0},source:null,lastUpdatedAt:0}}function Qc(){return{main:0,side:0,vacuum:0}}function sK(){return{enabled:!1,angle:null,config:null,precisionMode:!1}}function Xt(){return{note:S0}}function R8(){return{active:!1,heat:0,overheated:!1}}function Wt(){return{pttActive:!1}}function Xc(){return{active:!1}}const Rs={roverId:null,mode:"drive",drive:Kc(),aux:Qc(),camera:sK(),song:Xt(),horn:R8(),mic:Wt(),manualDockAssist:Xc(),lastControlIntentAt:0,macros:oh,keymap:q8,inputs:{}};function oK(t,a){switch(a.type){case"control/set-rover":return{...t,roverId:a.payload??null,drive:a.payload?t.drive:Kc(),aux:a.payload?t.aux:Qc(),song:a.payload?t.song:Xt(),horn:a.payload?t.horn:R8(),mic:a.payload?t.mic:Wt(),manualDockAssist:a.payload?t.manualDockAssist:Xc(),lastControlIntentAt:a.payload?t.lastControlIntentAt:0};case"control/set-mode":return t.mode===a.payload?t:{...t,mode:a.payload==="dock"?"dock":"drive"};case"control/update-drive":{const{vector:n,speeds:i,source:u}=a.payload;return{...t,drive:{vector:n??t.drive.vector,speeds:i??t.drive.speeds,source:u??t.drive.source,lastUpdatedAt:Date.now()}}}case"control/set-aux-motors":return{...t,aux:{...t.aux,...a.payload}};case"control/set-camera-config":return{...t,camera:{...t.camera,enabled:!!a.payload?.config,config:a.payload?.config??null,precisionMode:a.payload?.config?t.camera.precisionMode:!1,angle:typeof a.payload?.angle=="number"?a.payload.angle:a.payload?.config?a.payload.config.homeAngle??t.camera.angle:null}};case"control/set-camera-angle":return{...t,camera:{...t.camera,angle:a.payload}};case"control/set-camera-precision-mode":return t.camera.precisionMode===!!a.payload?t:{...t,camera:{...t.camera,precisionMode:!!a.payload}};case"control/register-input-state":{const n=a.payload?.source||"unknown";return{...t,inputs:{...t.inputs,[n]:{...t.inputs[n]??{},...a.payload?.state,updatedAt:Date.now()}}}}case"control/set-keymap":return{...t,keymap:{...t.keymap,...a.payload??{}}};case"control/set-macros":return{...t,macros:Array.isArray(a.payload)?a.payload:t.macros};case"control/reset":return{...t,drive:Kc(),aux:Qc(),song:Xt(),horn:R8(),mic:Wt(),lastControlIntentAt:0};case"control/set-horn-active":return{...t,horn:{...t.horn||R8(),active:!!a.payload}};case"control/set-horn-heat":return{...t,horn:{...t.horn||R8(),heat:typeof a.payload?.heat=="number"?a.payload.heat:0,overheated:!!a.payload?.overheated}};case"control/record-intent":return{...t,lastControlIntentAt:Date.now()};case"control/set-song-note":return{...t,song:{...t.song||Xt(),note:a.payload??S0}};case"control/set-mic-ptt":return{...t,mic:{...t.mic||Wt(),pttActive:!!a.payload}};case"control/set-manual-dock-assist":return{...t,manualDockAssist:{...t.manualDockAssist||Xc(),active:!!a.payload}};default:return t}}function H0(t,a,n){return typeof t!="number"||Number.isNaN(t)?a:Math.max(a,Math.min(n,t))}function Es(t){return typeof t!="number"||Number.isNaN(t)?0:Math.max(-1,Math.min(1,t))}function A4(t,a){return!Array.isArray(a)||a.length!==2?t:H0(t,a[0],a[1])}function uK(t={}){const a=Es(t.x??0),n=Es(t.y??0);return{x:a,y:n,boost:!!t.boost}}function hK(t={},a={}){const n=uK(t),i=typeof a.maxSpeed=="number"?a.maxSpeed:oc.maxSpeed,u=typeof a.baseSpeed=="number"?a.baseSpeed:oc.baseSpeed,h=typeof a.boostSpeed=="number"?a.boostSpeed:oc.boostSpeed,d=n.boost?h:u,v=n.y*d,p=n.x*d;return{vector:n,speeds:{left:H0(Math.round(v+p),-i,i),right:H0(Math.round(v-p),-i,i)}}}function dK(t){const a=Array.isArray(t)?t:[],n=String.fromCharCode(...a);if(typeof btoa=="function")return btoa(n);if(typeof Buffer<"u")return Buffer.from(a).toString("base64");throw new Error("No base64 encoder available")}function Ts(t){return new Promise(a=>setTimeout(a,t))}function fK(t={}){const{driveTransform:a,auxTransform:n}=t,i=N2(),u=o1(V=>V.session?.assignment?.roverId??null),h=o1(V=>V.session?.roster??[]),d=m.useMemo(()=>!u||!Array.isArray(h)?null:h.find(V=>String(V.id)===String(u))||null,[u,h]),v=m.useMemo(()=>!d?.cameraServo||!d.cameraServo.enabled?null:d.cameraServo,[d]),p=m.useMemo(()=>!d?.headlight||!d.headlight.enabled?null:d.headlight,[d]),x=m.useMemo(()=>!d?.laser||!d.laser.enabled?null:d.laser,[d]),g=m.useMemo(()=>!d?.horn||!d.horn.enabled?null:d.horn,[d]),b=m.useMemo(()=>d?.headlight?.state??null,[d]),y=m.useMemo(()=>d?.laser?.state??null,[d]),M=m.useCallback((V,R)=>{u&&i.emit("command",{roverId:u,...V},R)},[i,u]),L=m.useCallback(()=>{u&&M({type:"sensorStream",data:{sensorStream:{enable:!0}}})},[M,u]),S=m.useCallback(V=>{if(!u)return null;const R={left:A4(V?.left??0,[-500,500]),right:A4(V?.right??0,[-500,500])},q=a?a(R):R,$={left:A4(q?.left??0,[-500,500]),right:A4(q?.right??0,[-500,500])};return M({type:"drive",data:{driveDirect:$}}),$},[a,M,u]),C=m.useCallback(({main:V=0,side:R=0,vacuum:q=0}={})=>{if(!u)return null;const $={main:A4(V,h0.main),side:A4(R,h0.side),vacuum:A4(q,h0.vacuum)},D=n?n($):$,W={main:A4(D?.main??0,h0.main),side:A4(D?.side??0,h0.side),vacuum:A4(D?.vacuum??0,h0.vacuum)};return M({type:"motors",data:{motorPwm:W}}),W},[n,M,u]),B=m.useCallback(V=>!u||!v?null:(M({type:"servo",data:{servo:{angle:V}}}),V),[M,u,v]),A=m.useCallback(V=>{if(!u)return!1;const R=Array.isArray(V)?V:typeof V=="string"?iK[V]:null;return R?(M({type:"raw",data:{raw:dK(R)}}),L(),!0):!1},[M,L,u]),H=m.useCallback(async V=>{if(!(!V||!Array.isArray(V.steps)||!u))for(const R of V.steps){if(!u)break;switch(R.type){case"oi":A(R.command);break;case"drive":S(R.speeds??{left:0,right:0});break;case"motors":C(R.values??{});break;case"servo":B(R.angle);break;case"pause":await Ts(R.duration??Gc);break}if(R.delay||R.delayMs){const q=R.delayMs??R.delay;typeof q=="number"&&q>0&&await Ts(q)}}},[u,A,S,C,B]),j=m.useCallback((V="toggle")=>!u||!p?null:(M({type:"headlight",data:{headlight:{action:V}}}),V),[M,p,u]),_=m.useCallback((V="toggle")=>!u||!x?null:(M({type:"laser",data:{laser:{action:V}}}),V),[M,x,u]),F=m.useCallback(V=>u?(M({type:"horn",data:{horn:V}}),V):null,[M,u]),N=m.useCallback((V=[],R={})=>{if(!u)return null;const $=(Array.isArray(V)&&V.length>0?V:[{note:S0,duration:Yc}]).slice(0,16).map(D=>({note:A4(Math.round(D?.note??S0),Ea),duration:A4(Math.round(D?.duration??Yc),[1,255])}));return M({type:"song",data:{song:{notes:$,slot:R.slot,loop:R.loop}}}),$},[M,u]);return m.useMemo(()=>({roverId:u,rosterEntry:d,servoConfig:v,headlight:p,headlightState:b,laser:x,laserState:y,horn:g,emitCommand:M,enableSensorStream:L,sendDriveDirect:S,sendAuxMotors:C,sendServoAngle:B,sendOiCommand:A,sendHeadlight:j,sendLaser:_,sendHorn:F,sendSong:N,runMacroSteps:H}),[u,d,v,p,b,x,y,g,M,L,S,C,B,A,j,_,F,H])}const mK={"{":"[","}":"]",":":";",'"':"'","<":",",">":".","?":"/","|":"\\",_:"-","+":"="},_s={"[":"BracketLeft","]":"BracketRight","\\":"Backslash",";":"Semicolon","'":"Quote",",":"Comma",".":"Period","/":"Slash","-":"Minus","=":"Equal","`":"Backquote"};function c5(t){if(typeof t!="string")return"";const a=t.toLowerCase();return mK[a]??a}function vK(t){const a=c5(t);if(!a)return null;if(_s[a])return _s[a];if(a.length===1){if(/[a-z]/.test(a))return`Key${a.toUpperCase()}`;if(/[0-9]/.test(a))return`Digit${a}`}return null}function uh(t){const a=c5(t);return a?`key:${a}`:null}function pK(t){const a=vK(t);return a?`code:${a}`:null}function qs(t){const a=new Set,n=uh(t?.key??"");n&&a.add(n);const i=t?.code?`code:${t.code}`:null;return i&&a.add(i),Array.from(a)}function hh(t={}){return Object.fromEntries(Object.entries(t).map(([a,n])=>{const i=Array.isArray(n)?n:[n],u=new Set;return i.forEach(h=>{const d=uh(String(h));d&&u.add(d);const v=pK(String(h));v&&u.add(v)}),[a,u]}))}function _2(t){const a=c5(t);return a?a===" "?"Space":a==="\\"?"Backslash":a==="`"?"Backtick":a==="["?"[ or {":a==="]"?"] or }":a===";"?"; or :":a==="'"?`' or "`:a===","?", or <":a==="."?". or >":a==="/"?"/ or ?":a==="-"?"- or _":a==="="?"= or +":a==="arrowup"?"Arrow Up":a==="arrowdown"?"Arrow Down":a==="arrowleft"?"Arrow Left":a==="arrowright"?"Arrow Right":a.length===1?a.toUpperCase():a:"—"}const D4={keyboard:{baseSpeed:250,turboSpeed:500,precisionSpeed:125,tiltSpeed:90,tiltIntervalMs:110}},v3={label:"Default",calibration:{driveDeadzone:.18,cameraDeadzone:.08,auxDeadzone:.05,driveCurve:"linear",cameraCurve:"linear",auxCurve:"linear",cameraMode:"absolute",cameraSensitivity:60,auxSideScale:.55},bindings:{drive:{kind:"axisPair",sources:[{kind:"axisPair",x:0,y:1,invertX:!1,invertY:!0}]},cameraTilt:{kind:"axis",sources:[{kind:"axis",index:3,invert:!0},{kind:"axis",index:1,invert:!0}]},mainBrush:{kind:"axis",sources:[{kind:"buttonAxis",index:6},{kind:"axis",index:2,invert:!1}]},sideBrush:{kind:"axis",sources:[{kind:"buttonAxis",index:7},{kind:"axis",index:5,invert:!1}]},vacuum:{kind:"button",sources:[{kind:"button",index:0}]},allAux:{kind:"button",sources:[{kind:"button",index:1}]},mainReverse:{kind:"button",sources:[{kind:"button",index:4}]},sideReverse:{kind:"button",sources:[{kind:"button",index:5}]},driveMacro:{kind:"button",sources:[{kind:"button",index:2}]},dockMacro:{kind:"button",sources:[{kind:"button",index:3}]},headlightToggle:{kind:"button",sources:[{kind:"button",index:9}]},laserToggle:{kind:"button",sources:[]}}},Z3={activeSignature:null,profiles:{},defaults:{profile:v3}},M6={waveform:"saw",freqs:[440,550,660,0]},y2={masterVolume:1,alertVolume:.5,roverVolume:1,mainBrushDuckEnabled:!0,mainBrushDuckAmount:.75},j0={colorFilter:"none"},b6=[{key:"drive",motors:["leftWheel","rightWheel"]},{key:"aux",motors:["mainBrush","sideBrush"]}],gK={downRatePerSec:.15,upRatePerSec:.7,releaseDelaySec:1,outputRateMs:250};function Ds(){return b6.reduce((t,a)=>(t[a.key]={cap:1,clearSec:0},t),{})}function Os(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):0}function dh(t,a={}){const n=o1(S=>S.session?.role||null),i=C6(t,Gu,Yu),u=m.useMemo(()=>({...gK,...a.config||{}}),[a.config]),[h,d]=m.useState(()=>Ds()),v=m.useRef(0),p=m.useRef(i);m.useEffect(()=>{p.current=i||{}},[i]),m.useEffect(()=>{d(Ds()),v.current=0},[t]);const x=m.useMemo(()=>b6.some(S=>S.motors.some(C=>!!i?.[C])),[i]),g=m.useMemo(()=>Object.values(h||{}).some(S=>(Number.isFinite(S?.cap)?S.cap:1)<.999),[h]),b=!!t&&(x||g);m.useEffect(()=>{if(!b)return;v.current=typeof performance<"u"?performance.now():Date.now();const S=setInterval(()=>{const C=typeof performance<"u"?performance.now():Date.now(),B=Math.max(0,C-v.current);v.current=C;const A=Math.min(.25,B/1e3);A<=0||d(H=>{let j=!1;const _={},F=Number.isFinite(u.downRatePerSec)?Math.max(0,u.downRatePerSec):0,N=Number.isFinite(u.upRatePerSec)?Math.max(0,u.upRatePerSec):0,V=Number.isFinite(u.releaseDelaySec)?Math.max(0,u.releaseDelaySec):0;return b6.forEach(R=>{const q=H[R.key]||{cap:1,clearSec:0},$=Number.isFinite(q.cap)?q.cap:1,D=Number.isFinite(q.clearSec)?q.clearSec:0,W=R.motors.some(I=>!!p.current?.[I]),n1=W?0:D+A,Y=!W&&n1>=V,E=Os(W?$-F*A:Y?$+N*A:$);(Math.abs(E-$)>1e-4||Math.abs(n1-D)>1e-4)&&(j=!0),_[R.key]={cap:E,clearSec:n1}}),j?_:H})},100);return()=>clearInterval(S)},[u.downRatePerSec,u.releaseDelaySec,u.upRatePerSec,t,b]);const y=m.useMemo(()=>{const S=b6.reduce((C,B)=>{const A=h?.[B.key],H=Number.isFinite(A?.cap)?A.cap:1;return C[B.key]=Os(H),C},{});return{perGroup:S,drive:{left:S.drive??1,right:S.drive??1},aux:{main:S.aux??1,side:S.aux??1,vacuum:1}}},[h]),M=m.useMemo(()=>{const S={};b6.forEach(B=>{B.motors.forEach(A=>{S[A]=!!i?.[A]})});const C=b6.reduce((B,A)=>(B[A.key]=A.motors.some(H=>!!i?.[H]),B),{});return{motors:S,groups:C}},[i]),L=n==="admin"||n==="lockdown";return m.useMemo(()=>({caps:h,overcurrent:M,scales:y,isActive:(y?.drive?.left??1)<1||(y?.drive?.right??1)<1||(y?.aux?.main??1)<1||(y?.aux?.side??1)<1,config:u,adminImmune:L}),[h,M,y,u,L])}function xK(t={},a,n=!1){if(n||!a?.drive)return t;const i=typeof a.drive.left=="number"?a.drive.left:1,u=typeof a.drive.right=="number"?a.drive.right:1;return i>=.999&&u>=.999?t:{left:Math.round((t.left??0)*i),right:Math.round((t.right??0)*u)}}function zK(t={},a,n=!1){if(n||!a?.aux)return t;const i=typeof a.aux.main=="number"?a.aux.main:1,u=typeof a.aux.side=="number"?a.aux.side:1,h=typeof a.aux.vacuum=="number"?a.aux.vacuum:1;return i>=.999&&u>=.999&&h>=.999?t:{main:Math.round((t.main??0)*i),side:Math.round((t.side??0)*u),vacuum:Math.round((t.vacuum??0)*h)}}const Ta=m.createContext(null);function bK(t){return typeof t=="function"?t:a=>a}const yK=["setMode","setDriveVector","setAuxMotors","setServoAngle","nudgeServo","goServoHome","setCameraPrecisionMode","runMacro","stopAllMotion","sendOiCommand","setSensorStream","setHeadlight","toggleHeadlight","setLaser","toggleLaser","updateKeyBinding","resetKeyBindings","registerInputState","setManualDockAssistActive","toggleManualDockAssist","setSongNote","sendSong","startHorn","stopHorn","setMicPttActive"];function Us(t){return Object.fromEntries(Object.entries(t||{}).map(([a,n])=>[a,Array.isArray(n)?[...n]:[]]))}function MK(t,a){if(!t)return a;const n=typeof t.minAngle=="number"?t.minAngle:-45,i=typeof t.maxAngle=="number"?t.maxAngle:45;return H0(a,n,i)}function wK(t=[]){if(!Array.isArray(t)||t.length<3)return t;const a=t.slice(-3),[n,i,u]=a,h=n?.type==="drive"&&Number(n?.speeds?.left)===-300&&Number(n?.speeds?.right)===-300,d=i?.type==="pause"&&Number(i?.duration)===600,v=u?.type==="drive"&&Number(u?.speeds?.left)===0&&Number(u?.speeds?.right)===0;return!h||!d||!v?t:t.slice(0,-3)}function CK({children:t}){const[a,n]=m.useReducer(oK,Rs),i=m.useRef(null),u=m.useRef(new Set),h=m.useRef({}),[d]=m.useState(()=>Object.fromEntries(yK.map(f1=>[f1,(...w1)=>h.current[f1]?.(...w1)])),[]),v=m.useCallback(()=>i.current,[]),p=m.useCallback((f1,w1,S1=Object.is)=>{const $1=bK(f1),z1=i.current,q1={selector:$1,equalityFn:S1,listener:w1,current:$1(z1)};return u.current.add(q1),()=>{u.current.delete(q1)}},[]),x=m.useCallback(f1=>{u.current.forEach(w1=>{const S1=w1.selector(f1);w1.equalityFn(w1.current,S1)||(w1.current=S1,w1.listener(S1))})},[]),g=m.useRef(null),b=m.useRef(!1),y=m.useRef(Rs.camera.angle),M=m.useRef(null),L=m.useRef(0),S=m.useRef(0),{value:C,save:B}=I1("controls",{keymap:q8,macros:oh}),{value:A}=I1("page",{driveMacroBackoffEnabled:!0}),{value:H}=I1("horn",M6),j=typeof A?.driveMacroBackoffEnabled=="boolean"?A.driveMacroBackoffEnabled:!0,_=o1(f1=>f1.session?.assignment?.roverId??null),F=o1(f1=>f1.session?.homeAssistant?.entities??[]),N=o1(f1=>!!f1.session?.homeAssistant?.lightPolicy?.lockedOn),{homeAssistantSetState:V}=O2(),R=dh(_),q=m.useCallback(f1=>xK(f1,R.scales,R.adminImmune),[R.adminImmune,R.scales]),$=m.useCallback(f1=>zK(f1,R.scales,R.adminImmune),[R.adminImmune,R.scales]),D=fK({driveTransform:q,auxTransform:$}),W=m.useCallback(()=>{const w1=(F||[]).filter(S1=>(S1.type==="light"||S1.type==="switch")&&S1.available!==!1&&S1.state!=="on");if(w1.length===0){b.current=!1;return}b.current=!0,w1.forEach(S1=>{V(S1.id,"on").catch(()=>{})}),b.current=!1},[F,V]);m.useEffect(()=>{n({type:"control/set-rover",payload:D.roverId})},[D.roverId]),m.useEffect(()=>{const f1=g.current;g.current=a.mode,f1!=="drive"&&a.mode==="drive"&&F?.length?W():f1!=="drive"&&a.mode==="drive"&&(b.current=!0)},[a.mode,F,W]),m.useEffect(()=>{b.current&&F?.length&&W()},[F,W]),m.useEffect(()=>{const f1={...q8,...C?.keymap||{}};n({type:"control/set-keymap",payload:f1}),C?.macros&&n({type:"control/set-macros",payload:C.macros})},[C?.keymap,C?.macros]),m.useEffect(()=>{const f1=D.servoConfig;if(!f1){n({type:"control/set-camera-config",payload:{config:null}}),y.current=null;return}const w1=typeof f1.minAngle=="number"?f1.minAngle:-45,S1=typeof f1.maxAngle=="number"?f1.maxAngle:45,$1=typeof f1.homeAngle=="number"?f1.homeAngle:(w1+S1)/2,z1=typeof y.current=="number"?H0(y.current,w1,S1):null,q1=z1??H0($1,w1,S1);n({type:"control/set-camera-config",payload:{config:f1,angle:q1}}),y.current=q1},[D.servoConfig]),m.useEffect(()=>{y.current=typeof a.camera.angle=="number"?a.camera.angle:y.current},[a.camera.angle]),m.useEffect(()=>{D.roverId&&D.enableSensorStream()},[D.roverId,D.enableSensorStream]);const n1=m.useCallback(f1=>{n({type:"control/set-mode",payload:f1})},[]),Y=m.useCallback(()=>{n({type:"control/record-intent"})},[]),E=m.useRef(a.drive.speeds),I=m.useRef(a.aux),Z=m.useMemo(()=>JSON.stringify(R.scales),[R.scales]),t1=m.useRef(0),h1=m.useRef(0);m.useEffect(()=>{E.current=a.drive.speeds},[a.drive.speeds]),m.useEffect(()=>{I.current=a.aux},[a.aux]),m.useEffect(()=>{if(!D.roverId||R.adminImmune||!R.isActive)return;const f1=Math.max(0,Number(R?.config?.outputRateMs)||0),w1=typeof performance<"u"?performance.now():Date.now(),S1=E.current||{left:0,right:0},$1=I.current||{main:0,side:0,vacuum:0},z1=!!(S1.left||S1.right),q1=!!($1.main||$1.side||$1.vacuum);!z1&&!q1||(z1&&w1-t1.current>=f1&&(t1.current=w1,D.sendDriveDirect(S1)),q1&&w1-h1.current>=f1&&(h1.current=w1,D.sendAuxMotors($1)))},[Z,R.adminImmune,R.config,R.isActive,D]);const T=m.useCallback((f1,w1={})=>{const S1={...w1.speedOptions||{}};if(a.manualDockAssist?.active){const z1=Math.max(1,Math.min(aK,500));S1.maxSpeed=Math.min(typeof S1.maxSpeed=="number"?S1.maxSpeed:z1,z1),S1.baseSpeed=Math.min(typeof S1.baseSpeed=="number"?S1.baseSpeed:z1,z1),S1.boostSpeed=Math.min(typeof S1.boostSpeed=="number"?S1.boostSpeed:z1,z1)}const $1=hK(f1,S1);n({type:"control/update-drive",payload:{...$1,source:w1.source??null}}),Y(),D.sendDriveDirect($1.speeds)},[D,Y,a.manualDockAssist?.active]),O=m.useCallback((f1={})=>{const w1=D.sendAuxMotors(f1)??f1;n({type:"control/set-aux-motors",payload:w1}),Y()},[D,Y]),K=m.useCallback((f1,w1)=>{if(!f1)return!1;const S1=c5(w1);if(!S1)return!1;const $1=Us(a.keymap);return $1[f1]=[S1],n({type:"control/set-keymap",payload:$1}),B(z1=>({...z1??{},keymap:$1})),!0},[a.keymap,B]),l1=m.useCallback(()=>{const f1=Us(q8);n({type:"control/set-keymap",payload:f1}),B(w1=>({...w1??{},keymap:f1}))},[B]),m1=m.useCallback((f1,w1={})=>{if(!D.servoConfig)return;const S1=!!w1?.force;if(a.manualDockAssist?.active&&!S1)return;const $1=MK(D.servoConfig,f1);n({type:"control/set-camera-angle",payload:$1}),D.sendServoAngle($1),y.current=$1,Y()},[D,Y,a.manualDockAssist?.active]),v1=m.useCallback((f1=0)=>{const w1=D.servoConfig;if(!w1)return;const S1=typeof f1=="number"&&f1!==0?f1:w1.nudgeDegrees||1,$1=typeof y.current=="number"?y.current:typeof w1.homeAngle=="number"?w1.homeAngle:0;m1($1+S1)},[D.servoConfig,m1]),A1=m.useCallback(()=>{const f1=D.servoConfig;if(!f1)return;const w1=typeof f1.homeAngle=="number"?f1.homeAngle:typeof f1.minAngle=="number"&&typeof f1.maxAngle=="number"?(f1.minAngle+f1.maxAngle)/2:0;m1(w1)},[D.servoConfig,m1]),k1=m.useCallback(f1=>{n({type:"control/set-camera-precision-mode",payload:!!f1})},[]),R1=m.useCallback(async f1=>{const w1=a.macros.find($1=>$1.id===f1)||null;if(!w1)return;let S1=w1;f1==="drive-sequence"&&(W(),F?.length||(b.current=!0),Y(),j||(S1={...w1,steps:wK(w1.steps)})),await D.runMacroSteps(S1)},[j,D,Y,F,a.macros,W]),O1=m.useCallback(()=>{n({type:"control/update-drive",payload:{vector:{x:0,y:0,boost:!1},speeds:{left:0,right:0},source:"system-stop"}}),D.sendDriveDirect({left:0,right:0}),D.sendAuxMotors({main:0,side:0,vacuum:0})},[D]),Q1=m.useCallback(f1=>{D.sendOiCommand(f1)},[D]),P1=m.useCallback(f1=>{D.roverId&&D.emitCommand({type:"sensorStream",data:{sensorStream:{enable:f1}}})},[D]),h2=m.useCallback(f1=>{if(!D.headlight)return;const w1=typeof f1=="boolean"?f1?"on":"off":"toggle";D.sendHeadlight(w1),Y()},[D,Y]),r1=m.useCallback(()=>{h2()},[h2]),V1=m.useCallback(f1=>{if(!D.laser||N&&f1!==!1)return;const w1=typeof f1=="boolean"?f1?"on":"off":"toggle";D.sendLaser(w1),Y()},[D,Y,N]),Z1=m.useCallback(()=>{V1()},[V1]),D1=m.useCallback(f1=>{const w1=typeof f1=="number"?f1:S0;return n({type:"control/set-song-note",payload:w1}),w1},[]),b1=m.useCallback((f1,w1)=>D.sendSong(f1,w1),[D]),L1=m.useMemo(()=>{const f1=H??M6,w1=f1.waveform==="sine"?"sine":"saw",$1=[...Array.isArray(f1.freqs)?f1.freqs:M6.freqs,0,0,0,0].slice(0,4).map(z1=>{const q1=Number(z1);return Number.isFinite(q1)?q1<=0?0:Math.min(ie,Math.round(q1)):0});return{waveform:w1,freqs:$1}},[H]),x1=m.useRef(null),C1=m.useCallback(()=>{if(!D.horn)return;if(a.horn?.overheated||(a.horn?.heat??0)>=1||a.horn?.active)return!1;const f1=Date.now();return D.sendHorn({action:"start",...L1}),n({type:"control/set-horn-active",payload:!0}),L.current=f1,S.current=f1,M.current&&(clearTimeout(M.current),M.current=null),M.current=setTimeout(()=>{x1.current?.()},rK),Y(),!0},[n,L1,D,Y,a.horn?.active,a.horn?.heat,a.horn?.overheated]),g1=m.useCallback(()=>{if(!D.horn)return;D.sendHorn({action:"stop"}),n({type:"control/set-horn-active",payload:!1}),M.current&&(clearTimeout(M.current),M.current=null);const f1=Date.now(),w1=L.current||f1,S1=Math.max(0,f1-w1);if(L.current=0,S1>0){const $1=a.horn?.heat??0,z1=S1/1e3*Fs;let q1=Math.max(0,Math.min(1,$1+z1)),o2=a.horn?.overheated??!1;q1>=1&&(q1=1,o2=!0),n({type:"control/set-horn-heat",payload:{heat:q1,overheated:o2}})}},[n,D,a.horn?.heat,a.horn?.overheated]),T1=m.useRef({active:!!a.horn?.active,heat:a.horn?.heat??0,overheated:!!a.horn?.overheated});m.useEffect(()=>{T1.current={active:!!a.horn?.active,heat:a.horn?.heat??0,overheated:!!a.horn?.overheated}},[a.horn?.active,a.horn?.heat,a.horn?.overheated]),m.useEffect(()=>{x1.current=g1},[g1]);const c1=!!a.horn?.active||(a.horn?.heat??0)>0||!!a.horn?.overheated;m.useEffect(()=>{if(!c1)return;const w1=setInterval(()=>{const S1=Date.now(),$1=S.current||S1;S.current=S1;const z1=Math.min(1e3,Math.max(0,S1-$1))/1e3,q1=T1.current,o2=q1.heat??0,t2=!!q1.active,e2=!!q1.overheated,U2=z1*(t2?Fs:-.2);let W2=Math.max(0,Math.min(1,o2+U2)),I2=e2;W2>=1?(W2=1,I2=!0,t2&&x1.current()):I2&&W2<=lK&&(I2=!1),(W2!==o2||I2!==e2)&&n({type:"control/set-horn-heat",payload:{heat:W2,overheated:I2}})},100);return()=>clearInterval(w1)},[n,c1]);const M1=m.useCallback(f1=>{const w1=!!f1;if(!!a.manualDockAssist?.active===w1)return;if(n({type:"control/set-manual-dock-assist",payload:w1}),!w1){D.sendSong([{note:83,duration:10},{note:76,duration:10}],{slot:0}),m1(0,{force:!0});return}const $1=typeof D.servoConfig?.minAngle=="number"?D.servoConfig.minAngle:-45;m1($1,{force:!0}),D.sendSong([{note:76,duration:10},{note:83,duration:10}],{slot:0}),Y()},[D,Y,m1,a.manualDockAssist?.active]),y1=m.useCallback(()=>{M1(!a.manualDockAssist?.active)},[M1,a.manualDockAssist?.active]),j1=m.useCallback((f1,w1)=>{n({type:"control/register-input-state",payload:{source:f1,state:w1}})},[]),r2=m.useCallback(f1=>{n({type:"control/set-mic-ptt",payload:!!f1})},[]),d1=m.useMemo(()=>({setMode:n1,setDriveVector:T,setAuxMotors:O,setServoAngle:m1,nudgeServo:v1,goServoHome:A1,setCameraPrecisionMode:k1,runMacro:R1,stopAllMotion:O1,sendOiCommand:Q1,setSensorStream:P1,setHeadlight:h2,toggleHeadlight:r1,setLaser:V1,toggleLaser:Z1,updateKeyBinding:K,resetKeyBindings:l1,registerInputState:j1,setManualDockAssistActive:M1,toggleManualDockAssist:y1,setSongNote:D1,sendSong:b1,startHorn:C1,stopHorn:g1,setMicPttActive:r2}),[n1,T,O,m1,v1,A1,k1,R1,O1,Q1,P1,h2,r1,V1,Z1,K,l1,j1,M1,y1,D1,b1,C1,g1,r2]),p1=m.useMemo(()=>({state:a,dispatch:n,pipeline:D,overcurrentLimiter:R,actions:d}),[a,D,R,d]);i.current==null&&(i.current=p1),m.useLayoutEffect(()=>{h.current=d1},[d1]),m.useLayoutEffect(()=>{i.current!==p1&&(i.current=p1,x(p1))},[x,p1]);const J1=m.useMemo(()=>({getSnapshot:v,subscribe:p,actions:d}),[v,d,p]);return r.jsx(Ta.Provider,{value:J1,children:t})}function _1(t,a=Object.is){const n=m.useContext(Ta);if(!n)throw new Error("useControlSelector must be used within ControlSystemProvider");const i=m.useRef(t),u=m.useRef(a),[h,d]=m.useState(()=>t(n.getSnapshot()));return m.useEffect(()=>{i.current=t,u.current=a},[a,t]),m.useEffect(()=>(d(v=>{const p=i.current(n.getSnapshot());return u.current(v,p)?v:p}),n.subscribe(v=>i.current(v),v=>{d(p=>u.current(p,v)?p:v)},(v,p)=>u.current(v,p))),[n]),h}function K4(){const t=m.useContext(Ta);if(!t)throw new Error("useControlActions must be used within ControlSystemProvider");return t.actions}const SK="data:audio/mpeg;base64,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",HK=80,AK=80,LK=240,Is=new Map;function fh(){return typeof window>"u"?null:window.roverAnalytics&&typeof window.roverAnalytics=="object"?window.roverAnalytics:null}function mh(t){if(typeof t!="string")return null;const a=t.trim().toLowerCase().replace(/[^a-z0-9_:-]+/g,"_");return a?a.slice(0,HK):null}function vh(t){if(t!=null){if(typeof t=="boolean")return t;if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t=="string"){const a=t.trim();return a?a.slice(0,LK):void 0}if(Array.isArray(t)){const a=t.map(n=>vh(n)).filter(n=>n!==void 0).map(n=>String(n));return a.length?a.slice(0,12).join(","):void 0}}}function _a(t={}){return!t||typeof t!="object"||Array.isArray(t)?{}:Object.entries(t).reduce((a,[n,i])=>{if(typeof n!="string")return a;const u=n.trim().replace(/[^a-zA-Z0-9_:-]+/g,"_").slice(0,AK);if(!u)return a;const h=vh(i);return h===void 0||(a[u]=h),a},{})}function u1(t,a={}){const n=mh(t);if(!n)return;const i=fh();if(!i||typeof i.track!="function")return;const u=_a(a);try{Object.keys(u).length?i.track(n,u):i.track(n)}catch(h){console.warn("Analytics event failed",h)}}function VK(t={}){const a=fh();if(!(!a||typeof a.identify!="function"))try{a.identify(_a(t))}catch(n){console.warn("Analytics identify failed",n)}}function x3(t,a={},n={}){const i=mh(t);if(!i)return;const u=Number.isFinite(n?.throttleMs)?Math.max(0,n.throttleMs):30*1e3,h=`${i}:${typeof n?.key=="string"?n.key:JSON.stringify(_a(a))}`,d=Date.now(),v=Is.get(h)||0;d-v{},focusChat:()=>{},blurChat:()=>{},registerInputRef:()=>{},onInputFocus:()=>{},onInputBlur:()=>{},setTypingActive:()=>{}},xh={isChatFocused:!1,selfSocketId:null},zh=m.createContext(ph),bh=m.createContext(gh),yh=m.createContext(xh),BK=m.createContext({...ph,...gh,...xh});function NK({children:t}){const a=N2(),n=o1(T=>T.session),{pushAlert:i}=O2(),{value:u}=I1("audio",y2),{value:h}=I1("profile",{nickname:"",profileImageUrl:""}),[d,v]=m.useState([]),[p,x]=m.useState([]),[g,b]=m.useState(!1),y=m.useRef(null),M=m.useRef(null),L=m.useRef(null),S=m.useRef(new Map),C=m.useRef(new Map),B=m.useRef({isTyping:!1,lastSent:0}),A=Number.isFinite(u?.masterVolume)?u.masterVolume:y2.masterVolume,H=Number.isFinite(u?.alertVolume)?u.alertVolume:y2.alertVolume,j=Math.max(0,Math.min(1,A*H)),F=!!n?.isVerified?String(h?.profileImageUrl||"").trim():"",N=m.useCallback(()=>{const T=Array.from(S.current.values()).sort((O,K)=>O.lastUpdate-K.lastUpdate).map(O=>O.payload);x(T)},[]),V=m.useCallback(T=>!T||typeof T!="object"?null:T.typingId?T.typingId:T.fromDiscord?`discord:${T.discordUserId||T.discordUserName||T.nickname||"unknown"}`:`socket:${T.socketId||T.nickname||"unknown"}`,[]);m.useEffect(()=>{L.current=new Audio(SK),L.current.volume=j,L.current.load()},[j]);const R=m.useCallback(()=>{const T=L.current;T&&(T.volume=j,T.currentTime=0,T.play().catch(()=>{}))},[j]);m.useEffect(()=>{function T(O={}){v(K=>[...K.slice(-99),O]),!(O?.socketId&&n?.socketId&&O.socketId===n.socketId)&&(R(),i?.({kind:"chat",payload:O,id:`chat-${O.id||Math.random().toString(36).slice(2)}`,receivedAt:Date.now()}))}return a.on("chat:message",T),()=>{a.off("chat:message",T)}},[R,i,n?.socketId,a]),m.useEffect(()=>{function T(O={}){const K=V(O);if(!K)return;const l1=Date.now();if(O?.socketId&&n?.socketId&&O.socketId===n.socketId){O.isTyping||(S.current.delete(K),N());return}if(O.isTyping){S.current.set(K,{payload:O,expiresAt:l1+6e3,lastUpdate:l1});const m1=C.current.get(K)||0;l1-m1>=2500&&(C.current.set(K,l1),i?.({kind:"chat-typing",payload:O,id:`chat-typing-${K}-${O.id||Math.random().toString(36).slice(2)}`,receivedAt:l1}))}else S.current.delete(K);N()}return a.on("chat:typing",T),()=>{a.off("chat:typing",T)}},[i,N,V,n?.socketId,a]),m.useEffect(()=>{const T=setInterval(()=>{const O=Date.now();let K=!1;S.current.forEach((l1,m1)=>{l1.expiresAt<=O&&(S.current.delete(m1),K=!0)}),K&&N()},2e3);return()=>clearInterval(T)},[N]),m.useEffect(()=>{function T(O=[]){Array.isArray(O)&&v(K=>{if(K.length===0)return O.slice(-100);const l1=new Set(O.map(v1=>v1?.id));return[...O,...K.filter(v1=>v1?.id&&!l1.has(v1.id))].slice(-100)})}return a.on("chat:init",T),()=>{a.off("chat:init",T)}},[a]);const q=m.useCallback(T=>{const O=!!T,K=Date.now(),l1=B.current,m1=!O&&l1.isTyping;!(O&&(!l1.isTyping||K-l1.lastSent>=3500))&&!m1||(B.current={isTyping:O,lastSent:K},a.emit("chat:typing",{isTyping:O}))},[a]),$=m.useCallback((T,O=null)=>new Promise((K,l1)=>{const m1={text:T,tts:O};F&&(m1.profileImage=F),a.emit("chat:send",m1,(v1={})=>{v1.error?l1(new Error(v1.error)):(u1("chat_send",{hasTts:!!O,length:typeof T=="string"?T.trim().length:0}),K(v1))})}),[F,a]),D=m.useCallback((T,O={})=>{(O?.target==="hud"?"hud":"panel")==="hud"?M.current=T:y.current=T},[]),W=m.useCallback(()=>{b(!0),(M.current||y.current)?.focus()},[]),n1=m.useCallback(()=>{b(!1),M.current?.blur(),y.current?.blur()},[]),Y=m.useCallback(()=>b(!0),[]),E=m.useCallback(()=>b(!1),[]),I=m.useMemo(()=>({messages:d,typing:p}),[d,p]),Z=m.useMemo(()=>({sendMessage:$,focusChat:W,blurChat:n1,registerInputRef:D,onInputFocus:Y,onInputBlur:E,setTypingActive:q}),[n1,W,E,Y,D,$,q]),t1=m.useMemo(()=>({isChatFocused:g,selfSocketId:n?.socketId||null}),[g,n?.socketId]),h1=m.useMemo(()=>({...I,...Z,...t1}),[Z,t1,I]);return r.jsx(zh.Provider,{value:I,children:r.jsx(bh.Provider,{value:Z,children:r.jsx(yh.Provider,{value:t1,children:r.jsx(BK.Provider,{value:h1,children:t})})})})}function jK(){const t=m.useContext(zh);if(!t)throw new Error("useChatTimeline must be used inside ChatProvider");return t}function qa(){const t=m.useContext(bh);if(!t)throw new Error("useChatActions must be used inside ChatProvider");return t}function kK(){const t=m.useContext(yh);if(!t)throw new Error("useChatFocus must be used inside ChatProvider");return t}let Mh=!1;function uc(t){Mh=!!t}function Ps(){return Mh}const FK=new Set(["","text","search","email","password","url","tel","number","date","datetime-local","month","time","week"]);function wh(t){if(!t||t.nodeType!==1)return!1;const a=t.tagName;if(a==="TEXTAREA"||t.isContentEditable)return!0;if(a!=="INPUT")return!1;const n=t.type?t.type.toLowerCase():"";return FK.has(n)}function RK(){return typeof document>"u"?!1:wh(document.activeElement)}function k0(t={}){const{manageLifecycle:a=!1}=t,n=_1(C=>C.state.roverId),i=_1(C=>!!C.state.manualDockAssist?.active),u=K4(),h=C6(n,Va,La),d=h.chargingStateLabel||"",v=!!h.homeBase,p=v&&d.toLowerCase()!=="not charging"&&d!=="",x=m.useRef(!1),g=m.useCallback(()=>{u.setManualDockAssistActive(!0)},[u]),b=m.useCallback(()=>{u.setManualDockAssistActive(!1)},[u]),y=m.useCallback(()=>{u.toggleManualDockAssist()},[u]);m.useEffect(()=>{if(!a)return;const C=v&&!x.current,B=!v&&x.current;i&&C?u.sendSong([{note:84,duration:6}],{slot:1}):i&&B&&u.sendSong([{note:72,duration:6}],{slot:1}),x.current=v},[u,i,v,a]),m.useEffect(()=>{!a||!i||!p||b()},[i,p,b,a]);const M=p?"Docked and charging":v?"Docked":"Docking assist active",L=p?"good":v?"warn":"active",S=i||v;return m.useMemo(()=>({active:i,docked:v,charging:p,cameraLocked:i,visible:S,statusLabel:M,statusTone:L,enterAssist:g,exitAssist:b,toggleAssist:y}),[i,p,v,g,b,M,L,y,S])}function hc(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(0,Math.min(500,n)):a}function Ch(t){const a=D4.keyboard,n=t?.keyboard??{};return{baseSpeed:hc(n.baseSpeed,a.baseSpeed),turboSpeed:hc(n.turboSpeed,a.turboSpeed),precisionSpeed:hc(n.precisionSpeed,a.precisionSpeed)}}function B2(t,a){if(!t||t.size===0)return!1;for(const n of a)if(t.has(n))return!0;return!1}function Sh(t,a){const n=B2(a.driveForward,t),i=B2(a.driveBackward,t),u=B2(a.driveLeft,t),h=B2(a.driveRight,t),d=B2(a.boostModifier,t),v=B2(a.slowModifier,t);let p=0;n&&!i?p=1:i&&!n&&(p=-1);let x=0;u&&!h?x=-1:h&&!u&&(x=1);const g=v?.4:1;return{x:x*g,y:p*g,boost:d&&!v}}function Wc(t,a){return B2(a?.slowModifier,t)}function EK(t,a){if(B2(a.auxAllForward,t))return{main:127,side:127,vacuum:127};const i=B2(a.auxMainForward,t)?127:B2(a.auxMainReverse,t)?-127:0,u=B2(a.auxSideForward,t)?127:B2(a.auxSideReverse,t)?-70:0,h=B2(a.auxVacuumFast,t)?127:B2(a.auxVacuumSlow,t)?50:0;return{main:i,side:u,vacuum:h}}function Hh(t,a,n){return Wc(t,a)?{baseSpeed:n.precisionSpeed,boostSpeed:n.precisionSpeed}:{baseSpeed:n.baseSpeed,boostSpeed:n.turboSpeed}}const dc="keyboard",fc={x:0,y:0,boost:!1},mc={main:0,side:0,vacuum:0},$s=Ea[0],Zs=Ea[1],Da=5,$8=500,Z8=1,Oa=100,TK=.25,Jt=["none","grayscale","greenscale"];function Ah(t){return Jt.includes(t)?t:j0.colorFilter}function _K(t){const a=Ah(t),n=Jt.indexOf(a);return Jt[(n+1)%Jt.length]}function qK(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Da,Math.min($8,n)):a}function Lh(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Z8,Math.min(Oa,n)):a}function DK(t){const n=(Lh(t,t)-Z8)/(Oa-Z8),i=$8-n*($8-Da);return Math.round(i)}function OK(t){const a=qK(t,t),n=($8-a)/($8-Da),i=Z8+n*(Oa-Z8);return Math.round(i)}function UK(t){return wh(t?.target)}function IK(){const{setMode:t,setDriveVector:a,setAuxMotors:n,nudgeServo:i,runMacro:u,stopAllMotion:h,registerInputState:d,setCameraPrecisionMode:v,toggleHeadlight:p,toggleLaser:x,startHorn:g,stopHorn:b,setMicPttActive:y,setSongNote:M,sendSong:L}=K4(),S=_1(b1=>b1.state.keymap),C=_1(b1=>b1.state.camera?.config?.nudgeDegrees),B=_1(b1=>b1.state.song?.note),A=_1(b1=>b1.state.roverId),H=_1(b1=>!!b1.state.horn?.active),j=o1(b1=>b1.session?.homeAssistant||null),_=k0(),{homeAssistantSetState:F,pushAlert:N}=O2(),{focusChat:V}=qa(),{isChatFocused:R}=kK(),{value:q}=I1("inputs",D4),{value:$,save:D}=I1("video",j0),W=Ah($?.colorFilter),n1=m.useMemo(()=>hh(S),[S]),Y=m.useMemo(()=>{const b1=new Set;return Object.values(n1).forEach(L1=>{L1&&L1.forEach(x1=>b1.add(x1))}),b1},[n1]),E=m.useMemo(()=>Ch(q),[q]),I=m.useMemo(()=>{const b1=D4.keyboard,L1=q?.keyboard??{},x1=Lh(typeof L1.tiltSpeed=="number"?L1.tiltSpeed:typeof L1.tiltIntervalMs=="number"?OK(L1.tiltIntervalMs):b1.tiltSpeed,b1.tiltSpeed);return DK(x1)},[q?.keyboard]),Z=m.useMemo(()=>Math.abs(C||1),[C]),t1=m.useRef(new Set),h1=m.useRef(fc),T=m.useRef(mc),O=m.useRef(null),K=m.useRef(null),l1=m.useRef(!1),m1=m.useRef(null),v1=m.useCallback(()=>{const b1=m1.current;if(!b1)return;const L1=new Set(t1.current),x1=Wc(L1,b1.keymap),C1=Hh(L1,b1.keymap,b1.keyboardSpeeds),g1=Sh(L1,b1.keymap),T1=EK(L1,b1.keymap);b1.setCameraPrecisionMode(x1),(g1.x!==h1.current.x||g1.y!==h1.current.y||g1.boost!==h1.current.boost)&&(h1.current=g1,b1.setDriveVector(g1,{source:dc,speedOptions:C1})),(T1.main!==T.current.main||T1.side!==T.current.side||T1.vacuum!==T.current.vacuum)&&(T.current=T1,b1.setAuxMotors(T1)),b1.registerInputState(dc,{keys:Array.from(L1),vector:g1,aux:T1})},[]),A1=m.useCallback(()=>{O.current&&(clearTimeout(O.current),O.current=null)},[]),k1=m.useCallback(()=>{const b1=m1.current;if(!b1)return 0;const L1=new Set(t1.current),x1=B2(b1.keymap.cameraUp,L1),C1=B2(b1.keymap.cameraDown,L1);return(x1?1:0)-(C1?1:0)},[]),R1=m.useCallback(()=>{if(k1()===0){A1();return}if(O.current)return;const L1=()=>{const x1=k1();if(x1===0){A1();return}const C1=m1.current;if(!C1){A1();return}const g1=new Set(t1.current),c1=Wc(g1,C1.keymap)?TK:C1.servoStep;C1.nudgeServo(x1*c1),O.current=setTimeout(L1,C1.servoRepeatMs)};O.current=setTimeout(L1,0)},[k1,A1]),O1=m.useCallback(()=>{K.current&&(clearTimeout(K.current),K.current=null)},[]),Q1=m.useCallback(()=>{const b1=m1.current;if(!b1)return 0;const L1=new Set(t1.current),x1=B2(b1.keymap.songNoteUp,L1),C1=B2(b1.keymap.songNoteDown,L1);return(x1?1:0)-(C1?1:0)},[]),P1=m.useCallback(b1=>{const L1=m1.current;if(!L1||b1===0)return;let C1=(typeof L1.songNote=="number"?L1.songNote:S0)+b1;C1>Zs?C1=$s:C1<$s&&(C1=Zs);const g1=L1.setSongNote(C1);L1.sendSong([{note:g1,duration:Yc}],{slot:0})},[]),h2=m.useCallback(()=>{if(Q1()===0){O1();return}if(K.current)return;const L1=()=>{const x1=Q1();if(x1===0){O1();return}P1(x1),K.current=setTimeout(L1,nK)};K.current=setTimeout(L1,0)},[Q1,O1,P1]),r1=m.useCallback(()=>{const b1=m1.current;t1.current.clear(),h1.current=fc,T.current=mc,A1(),O1(),l1.current&&(l1.current=!1,b1?.stopHorn()),b1?.setMicPttActive(!1),b1?.setCameraPrecisionMode(!1),b1?.stopAllMotion(),b1?.registerInputState(dc,{keys:[],vector:fc,aux:mc})},[A1,O1]),V1=m.useCallback(b1=>{const L1=m1.current,x1=L1?.homeAssistant;if(!x1?.enabled||!x1?.connected||x1?.lightPolicy?.locked||x1?.lightPolicy?.lockedOn)return;const g1=(x1.entities||[]).filter(T1=>(T1.type==="light"||T1.type==="switch")&&T1.available!==!1&&T1.state!=="unavailable");if(g1.length!==0){if(b1==="on"){const T1=g1.find(c1=>c1.state!=="on");T1&&L1.homeAssistantSetState(T1.id,"on").catch(()=>{});return}if(b1==="off")for(let T1=g1.length-1;T1>=0;T1-=1){const c1=g1[T1];if(c1.state==="on"){L1.homeAssistantSetState(c1.id,"off").catch(()=>{});break}}}},[]),Z1=m.useCallback(()=>{const b1=m1.current;if(!b1)return;const L1=_K(b1.videoColorFilter);b1.saveVideoSettings(x1=>({...x1??{},colorFilter:L1})),b1.pushAlert({id:"video-filter-active",title:"Video filter",message:`Rover video filter: ${L1}`,color:"#38bdf8",lifetimeMs:1600})},[]);m.useLayoutEffect(()=>{m1.current={actionTokens:Y,dockAssist:_,focusChat:V,homeAssistant:j,homeAssistantSetState:F,isChatFocused:R,keyboardSpeeds:E,keymap:n1,nudgeServo:i,pushAlert:N,registerInputState:d,roverId:A,runMacro:u,saveVideoSettings:D,sendSong:L,servoRepeatMs:I,servoStep:Z,setAuxMotors:n,setCameraPrecisionMode:v,setDriveVector:a,setMicPttActive:y,setMode:t,setSongNote:M,songNote:B,startHorn:g,stopAllMotion:h,stopHorn:b,toggleHeadlight:p,toggleLaser:x,videoColorFilter:W}}),m.useEffect(()=>{function b1(C1){const g1=m1.current;if(!g1||Ps()||UK(C1))return;const T1=qs(C1);if(T1.length===0)return;const c1=new Set(T1);if(B2(g1.keymap.chatFocus,c1)){C1.preventDefault(),r1(),g1.isChatFocused||g1.focusChat();return}T1.some(y1=>g1.actionTokens.has(y1))&&C1.preventDefault();const M1=T1.filter(y1=>!t1.current.has(y1));if(M1.forEach(y1=>t1.current.add(y1)),M1.length>0)if(M1.some(y1=>g1.keymap.driveMacro?.has(y1)))u1("drive_start",{roverId:g1.roverId||"",source:"keyboard"}),g1.dockAssist.exitAssist(),g1.setMode("drive"),g1.runMacro("drive-sequence");else if(M1.some(y1=>g1.keymap.dockMacro?.has(y1)))u1("dock_assist_toggle",{roverId:g1.roverId||"",source:"keyboard"}),g1.dockAssist.toggleAssist();else if(M1.some(y1=>g1.keymap.headlightToggle?.has(y1)))u1("headlight_toggle",{roverId:g1.roverId||"",source:"keyboard"}),g1.toggleHeadlight();else if(M1.some(y1=>g1.keymap.laserToggle?.has(y1)))u1("laser_toggle",{roverId:g1.roverId||"",source:"keyboard"}),g1.toggleLaser();else if(M1.some(y1=>g1.keymap.videoFilterCycle?.has(y1)))Z1();else if(M1.some(y1=>g1.keymap.hornHonk?.has(y1))){if(!l1.current){const y1=g1.startHorn();l1.current=!!y1}}else M1.some(y1=>g1.keymap.micPtt?.has(y1))?g1.setMicPttActive(!0):M1.some(y1=>g1.keymap.homeAssistantOn?.has(y1))?V1("on"):M1.some(y1=>g1.keymap.homeAssistantOff?.has(y1))&&V1("off");R1(),h2(),v1()}function L1(C1){const g1=m1.current;if(!g1||Ps())return;qs(C1).forEach(c1=>t1.current.delete(c1)),l1.current&&!B2(g1.keymap.hornHonk,t1.current)&&(l1.current=!1,g1.stopHorn()),B2(g1.keymap.micPtt,t1.current)||g1.setMicPttActive(!1),R1(),h2(),v1()}function x1(){r1()}return window.addEventListener("keydown",b1,{capture:!0}),window.addEventListener("keyup",L1,{capture:!0}),window.addEventListener("blur",x1),()=>{window.removeEventListener("keydown",b1,{capture:!0}),window.removeEventListener("keyup",L1,{capture:!0}),window.removeEventListener("blur",x1)}},[Z1,v1,R1,h2,r1,V1]);const D1=m.useRef(r1);return m.useEffect(()=>{D1.current=r1},[r1]),m.useEffect(()=>{D1.current()},[A]),m.useEffect(()=>{l1.current=H},[H]),m.useEffect(()=>()=>{A1(),O1()},[A1,O1]),null}const PK=1.6;function Vh(t){if(!t)return"unknown::none::0::0";const a=t.id||"unknown",n=t.mapping||"none",i=Array.isArray(t.axes)?t.axes.length:0,u=Array.isArray(t.buttons)?t.buttons.length:0;return`${a}::${n}::${i}::${u}`}function $K(t){return JSON.parse(JSON.stringify(t??{}))}function Bh(t,a){const n=$K(a);return n.meta={id:t?.id??"Unknown",mapping:t?.mapping??"none",axes:t?.axes?.length??0,buttons:t?.buttons?.length??0},n}function y6(t){return Number.isFinite(t)?Math.max(-1,Math.min(1,t)):0}function B8(t,a){if(!t)return 0;const n=Math.abs(t);return a==="expo"?Math.sign(t)*Math.pow(n,PK):t}function vc(t,a){const n=Math.abs(t);if(n<=a)return 0;const i=(n-a)/(1-a);return Math.sign(t)*i}function ZK(t,a,n){const i=Math.hypot(t,a);if(i<=n)return{x:0,y:0};const h=(i-n)/(1-n)/i;return{x:t*h,y:a*h}}function se(t,a){if(!t||!Array.isArray(t.axes))return null;const n=t.axes[a];return Number.isFinite(n)?y6(n):null}function Jc(t,a){if(!t||!Array.isArray(t.buttons))return null;const n=t.buttons[a];if(!n)return null;const i=typeof n.value=="number"?n.value:n.pressed?1:0;return{pressed:!!(n.pressed||i>.5),value:Math.max(0,Math.min(1,i))}}function pc(t,a=[]){for(const n of a)if(n){if(n.kind==="axis"){const i=se(t,n.index);if(i===null)continue;return{value:n.invert?-i:i,source:n}}if(n.kind==="buttonAxis"){const i=Jc(t,n.index);if(!i)continue;return{value:y6(i.value),source:n}}}return{value:0,source:null}}function GK(t,a=[]){for(const n of a){if(!n||n.kind!=="axisPair")continue;const i=se(t,n.x),u=se(t,n.y);if(i===null||u===null)continue;const h=n.invertX?-i:i,d=n.invertY?-u:u;return{x:h,y:d,source:n}}return{x:0,y:0,source:null}}function $3(t,a=[]){for(const n of a)if(n){if(n.kind==="button"){const i=Jc(t,n.index);if(!i)continue;return{pressed:i.pressed,source:n}}if(n.kind==="axisButton"){const i=se(t,n.index);if(i===null)continue;const u=n.direction||1,h=typeof n.threshold=="number"?n.threshold:.6;return{pressed:i*u>h,source:n}}if(n.kind==="buttonAxis"){const i=Jc(t,n.index);if(!i)continue;return{pressed:i.value>.5,source:n}}}return{pressed:!1,source:null}}function Nh(t,a){const n=a?.bindings??{},i=a?.calibration??{},u=n.drive??{},h=GK(t,u.sources);let d=y6(h.x),v=y6(h.y);const p=Math.min(Math.max(i.driveDeadzone??.18,0),.8),x=ZK(d,v,p);d=B8(x.x,i.driveCurve),v=B8(x.y,i.driveCurve);const g=n.cameraTilt??{},b=pc(t,g.sources),y=Math.min(Math.max(i.cameraDeadzone??.08,0),.8);let M=vc(y6(b.value),y);M=B8(M,i.cameraCurve);const L=Math.min(Math.max(i.auxDeadzone??.05,0),.6),S=n.mainBrush??{},C=pc(t,S.sources);let B=vc(y6(C.value),L);B=B8(B,i.auxCurve);const A=n.sideBrush??{},H=pc(t,A.sources);let j=vc(y6(H.value),L);j=B8(j,i.auxCurve);const _=$3(t,n.vacuum?.sources),F=$3(t,n.allAux?.sources),N=$3(t,n.mainReverse?.sources),V=$3(t,n.sideReverse?.sources),R=$3(t,n.driveMacro?.sources),q=$3(t,n.dockMacro?.sources),$=$3(t,n.headlightToggle?.sources),D=$3(t,n.laserToggle?.sources);return{driveVector:{x:d,y:v,boost:!1},cameraAxis:M,auxAxis:{main:B,side:j},buttons:{vacuum:_.pressed,allAux:F.pressed,mainReverse:N.pressed,sideReverse:V.pressed,driveMacro:R.pressed,dockMacro:q.pressed,headlightToggle:$.pressed,laserToggle:D.pressed},sources:{drive:h.source,cameraTilt:b.source,mainBrush:C.source,sideBrush:H.source,vacuum:_.source,allAux:F.source,mainReverse:N.source,sideReverse:V.source,driveMacro:R.source,dockMacro:q.source,headlightToggle:$.source,laserToggle:D.source}}}const E8=new Set;let M0=null,A0={pads:[],timestamp:0},Ct=!1,St=null;function Gs(){return jh().some(t=>t?.connected!==!1)}function jh(){if(typeof navigator>"u"||!navigator.getGamepads)return[];const t=navigator.getGamepads();return t?Array.from(t).filter(Boolean):[]}function YK(t){return{index:t.index,id:t.id,mapping:t.mapping,connected:t.connected!==!1,timestamp:t.timestamp,axes:Array.from(t.axes??[]),buttons:(t.buttons??[]).map(a=>({pressed:!!a?.pressed,value:typeof a?.value=="number"?a.value:a?.pressed?1:0})),signature:Vh(t)}}function oe(){A0={pads:jh().map(YK),timestamp:typeof performance<"u"?performance.now():Date.now()},E8.forEach(a=>a(A0))}function kh(){if(oe(),A0.pads.length===0){ta();return}M0=requestAnimationFrame(kh)}function Ys(){M0||(oe(),A0.pads.length!==0&&(M0=requestAnimationFrame(kh)))}function ta(){M0&&(cancelAnimationFrame(M0),M0=null)}function Fh(t){if(E8.add(t),!Ct&&typeof window<"u"){const a=()=>{oe(),E8.size!==0&&(Gs()?Ys():ta())};window.addEventListener("gamepadconnected",a),window.addEventListener("gamepaddisconnected",a),St=a,Ct=!0}return Gs()?Ys():oe(),t(A0),()=>{E8.delete(t),E8.size===0&&(ta(),Ct&&typeof window<"u"&&(window.removeEventListener("gamepadconnected",St),window.removeEventListener("gamepaddisconnected",St),St=null,Ct=!1))}}function KK(){const[t,a]=m.useState(A0);return m.useEffect(()=>Fh(a),[]),t}const d0="gamepad",v6={x:0,y:0,boost:!1},p6={main:0,side:0,vacuum:0},QK=100,XK=100;function gc(t,a){return t&&a&&t.x===a.x&&t.y===a.y&&t.boost===a.boost}function xc(t,a){return t&&a&&t.main===a.main&&t.side===a.side&&t.vacuum===a.vacuum}function WK(t){return t?Math.hypot(t.x||0,t.y||0):0}function JK(t){return t?!t.main&&!t.side&&!t.vacuum:!0}function tQ(t,a){if(!t||t.length===0)return null;if(a){const n=t.find(i=>i.signature===a);if(n)return n}return t[0]}function eQ(){const{setMode:t,setDriveVector:a,setAuxMotors:n,setServoAngle:i,runMacro:u,toggleHeadlight:h,toggleLaser:d,registerInputState:v}=K4(),p=_1(D=>D.state.camera?.angle),x=_1(D=>D.state.camera?.config),g=_1(D=>D.state.roverId),b=k0(),{value:y,save:M}=I1("gamepad",Z3),L=m.useRef(new Set),S=m.useRef(v6),C=m.useRef(p6),B=m.useRef({main:!1,side:!1}),A=m.useRef(new Map),H=m.useRef(0),j=m.useRef(0),_=m.useRef(0),F=m.useRef(null),N=m.useRef(null),V=m.useCallback(D=>{const W=N.current;if(!W)return;const n1=D.signature??Vh(D);W.gamepadSettings?.profiles?.[n1]||L.current.has(n1)||(L.current.add(n1),W.saveGamepadSettings(Y=>{const E=Y??Z3;if(E.profiles?.[n1])return E;const I=E?.defaults?.profile??v3,Z=Bh(D,I);return{...E,profiles:{...E.profiles??{},[n1]:Z}}}))},[]),R=m.useCallback((D,W)=>{const n1=A.current.get(D)||!1;return A.current.set(D,W),W&&!n1},[]),q=m.useCallback((D,W)=>{const n1=N.current,Y=n1?.cameraConfig;if(!n1||!Y)return;const E=typeof performance<"u"?performance.now():Date.now(),I=W?.cameraMode??"absolute",Z=Math.max(1,Math.min(180,W?.cameraSensitivity??60));if(I==="velocity"){const K=Math.min(50,E-_.current||16),l1=D*Z*(K/1e3);if(Math.abs(l1)<.01)return;const v1=(typeof F.current=="number"?F.current:typeof n1.cameraAngle=="number"?n1.cameraAngle:typeof Y.homeAngle=="number"?Y.homeAngle:0)+l1;n1.setServoAngle(v1),F.current=v1,_.current=E;return}const t1=typeof Y.minAngle=="number"?Y.minAngle:-45,h1=typeof Y.maxAngle=="number"?Y.maxAngle:45,T=typeof Y.homeAngle=="number"?Y.homeAngle:(t1+h1)/2,O=D<0?T+D*(T-t1):T+D*(h1-T);typeof F.current=="number"&&Math.abs(F.current-O)<.35&&E-_.current<80||(_.current=E,F.current=O,n1.setServoAngle(O))},[]),$=m.useMemo(()=>y?.activeSignature??null,[y?.activeSignature]);return m.useLayoutEffect(()=>{N.current={activeSignature:$,cameraAngle:p,cameraConfig:x,dockAssist:b,gamepadSettings:y,registerInputState:v,roverId:g,runMacro:u,saveGamepadSettings:M,setAuxMotors:n,setDriveVector:a,setMode:t,setServoAngle:i,toggleHeadlight:h,toggleLaser:d}}),m.useEffect(()=>Fh(D=>{const W=N.current;if(!W)return;const n1=tQ(D.pads,W.activeSignature);if(!n1){gc(S.current,v6)||(S.current=v6,W.setDriveVector(v6,{source:d0})),xc(C.current,p6)||(C.current=p6,W.setAuxMotors(p6)),A.current=new Map,B.current={main:!1,side:!1},H.current=0,j.current=0,W.registerInputState(d0,{connected:!1});return}if(RK()){gc(S.current,v6)||(S.current=v6,W.setDriveVector(v6,{source:d0})),xc(C.current,p6)||(C.current=p6,W.setAuxMotors(p6)),A.current=new Map,B.current={main:!1,side:!1},W.registerInputState(d0,{connected:!0,blocked:!0});return}V(n1);const Y=n1.signature,E=W.gamepadSettings?.profiles?.[Y]??W.gamepadSettings?.defaults?.profile??v3,I=Nh(n1,E);if(!gc(I.driveVector,S.current)){const l1=typeof performance<"u"?performance.now():Date.now();(WK(I.driveVector)<.02||l1-H.current>=QK)&&(S.current=I.driveVector,H.current=l1,W.setDriveVector(I.driveVector,{source:d0}))}const Z=E.calibration?.auxSideScale??.55,t1=Math.round(Math.min(Math.abs(I.auxAxis.main),1)*127),h1=Math.round(Math.min(Math.abs(I.auxAxis.side),1)*127),T=B.current.main?-t1:t1,O=B.current.side?-Math.round(h1*Z):Math.round(h1*Z);let K={main:I.auxAxis.main!==0?T:0,side:I.auxAxis.side!==0?O:0,vacuum:I.buttons.vacuum?127:0};if(I.buttons.allAux&&(K={main:127,side:127,vacuum:127}),!xc(K,C.current)){const l1=typeof performance<"u"?performance.now():Date.now();(JK(K)||l1-j.current>=XK)&&(C.current=K,j.current=l1,W.setAuxMotors(K))}I.buttons.mainReverse&&R("mainReverse",!0)?B.current.main=!B.current.main:I.buttons.mainReverse||R("mainReverse",!1),I.buttons.sideReverse&&R("sideReverse",!0)?B.current.side=!B.current.side:I.buttons.sideReverse||R("sideReverse",!1),I.buttons.driveMacro&&R("driveMacro",!0)?(u1("drive_start",{roverId:W.roverId||"",source:"gamepad"}),W.dockAssist.exitAssist(),W.setMode("drive"),W.runMacro("drive-sequence")):I.buttons.driveMacro||R("driveMacro",!1),I.buttons.dockMacro&&R("dockMacro",!0)?(u1("dock_assist_toggle",{roverId:W.roverId||"",source:"gamepad"}),W.dockAssist.toggleAssist()):I.buttons.dockMacro||R("dockMacro",!1),I.buttons.headlightToggle&&R("headlightToggle",!0)?(u1("headlight_toggle",{roverId:W.roverId||"",source:"gamepad"}),W.toggleHeadlight()):I.buttons.headlightToggle||R("headlightToggle",!1),I.buttons.laserToggle&&R("laserToggle",!0)?(u1("laser_toggle",{roverId:W.roverId||"",source:"gamepad"}),W.toggleLaser()):I.buttons.laserToggle||R("laserToggle",!1),Math.abs(I.cameraAxis)>.001&&q(I.cameraAxis,E.calibration),W.registerInputState(d0,{connected:!0,signature:Y,id:n1.id,index:n1.index,axes:n1.axes,buttons:n1.buttons,drive:I.driveVector,aux:K,cameraAxis:I.cameraAxis,bindings:I.sources})}),[V,R,q]),null}function zc(t){const a=Number(t);return!Number.isFinite(a)||a<=0?0:Math.min(ie,Math.round(a))}function Rh({disabled:t,onStart:a,onStop:n,keyLabel:i,active:u,heat:h=0,className:d="",defaultShowSettings:v=!0,showSettingsToggle:p=!1,compactSettings:x=!1}){const[g,b]=m.useState(v),{value:y,save:M}=I1("horn",M6),[L,S]=m.useState(y?.waveform||M6.waveform),C=m.useRef(null),B=m.useRef(null),[A,H]=m.useState(()=>[...Array.isArray(y?.freqs)?y.freqs:M6.freqs,0,0,0,0].slice(0,4).map(E=>zc(E)));m.useEffect(()=>{S(y?.waveform||M6.waveform),Array.isArray(y?.freqs)&&H([...y.freqs,0,0,0,0].slice(0,4).map(Y=>zc(Y)))},[y?.freqs,y?.waveform]);const j=!!u,_=Math.max(0,Math.min(1,Number(h)||0)),F=m.useMemo(()=>["mobile-touch-control group relative flex w-full flex-col gap-0.5 overflow-hidden rounded-xl border-2 px-1 py-1.5 text-xs font-semibold select-none no-touch-select",j?"border-fuchsia-300/70 bg-fuchsia-700 text-fuchsia-50":"border-cyan-300/70 bg-cyan-900 text-cyan-50 hover:bg-cyan-800","disabled:opacity-50",d].filter(Boolean).join(" "),[d,j]),N=L==="sine"?"sine":"saw",V=m.useCallback(Y=>{const E=Y.target.value==="sine"?"sine":"saw";S(E),M(I=>({...I??{},waveform:E}))},[M]),R=m.useCallback((Y,E)=>{H(I=>{const Z=[...I];return Z[Y]=zc(E),M(t1=>({...t1??{},freqs:Z})),Z})},[M]);m.useEffect(()=>{const Y=C.current;if(!Y)return;const E=I=>{const Z=I.target;if(!(Z instanceof Element))return;const t1=Z.closest("input[data-horn-freq-index]");if(!t1)return;const h1=Number(t1.dataset.hornFreqIndex);if(!Number.isInteger(h1)||h1<0||h1>=A.length)return;I.preventDefault(),I.stopPropagation();const T=I.deltaY<0?1:-1,O=Number(A[h1])||0;R(h1,O+T*25)};return Y.addEventListener("wheel",E,{passive:!1,capture:!0}),()=>{Y.removeEventListener("wheel",E,{capture:!0})}},[A,R]);const q=Y=>{if(t||B.current!==null)return;const E=Y.target?.tagName?.toLowerCase();E==="input"||E==="select"||E==="option"||E==="label"||E==="button"||(Y.preventDefault(),B.current=Y.pointerId,Y.currentTarget.setPointerCapture?.(Y.pointerId),a?.())},$=Y=>{if(B.current!==Y.pointerId)return;const E=Y.target?.tagName?.toLowerCase();E==="input"||E==="select"||E==="option"||E==="label"||E==="button"||(Y.preventDefault(),B.current=null,Y.currentTarget.releasePointerCapture?.(Y.pointerId),n?.())},D=Y=>{B.current===Y.pointerId&&(B.current=null,n?.())},W=()=>{B.current!==null&&(B.current=null,n?.())},n1=p?r.jsx("button",{type:"button",onClick:Y=>{Y.preventDefault(),b(E=>!E)},className:"mobile-touch-control rounded bg-black/40 px-1 py-0.5 text-[0.6rem] font-semibold text-white/90 hover:text-white",children:g?"Hide":"Settings"}):null;return r.jsxs("div",{role:"button",tabIndex:0,"aria-pressed":j,onPointerDown:q,onPointerUp:$,onPointerCancel:D,onLostPointerCapture:Y=>{B.current===Y.pointerId&&(B.current=null,n?.())},onContextMenu:Y=>Y.preventDefault(),onBlur:W,className:F,children:[r.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-70",style:{background:`linear-gradient(90deg, rgba(14,116,144,0.7) ${_*100}%, rgba(0,0,0,0) ${_*100}%)`}}),r.jsx("div",{className:`pointer-events-none absolute inset-0 transition-opacity ${j?"opacity-40":"opacity-0"}`,style:{background:"linear-gradient(90deg, rgba(217,70,239,0.75), rgba(244,114,182,0.35))"}}),r.jsxs("div",{className:"relative z-10 flex items-center justify-between gap-0.5",children:[r.jsxs("span",{className:"flex items-center gap-0.5 text-sm font-semibold",children:[r.jsx("span",{children:"Horn"}),i?r.jsx("span",{className:"rounded bg-black/40 px-1 py-0.5 text-[0.6rem] font-semibold text-white",children:i}):null]}),n1,r.jsx("span",{className:`rounded px-1 py-0.5 text-[0.65rem] font-semibold ${j?"bg-fuchsia-200 text-fuchsia-900":"bg-slate-800 text-slate-200"}`,children:j?"Honk":"Hold"})]}),g?x?r.jsxs("div",{ref:C,className:"relative z-10 flex flex-col gap-0.5 text-[0.65rem]",children:[r.jsxs("label",{className:"flex items-center justify-between gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-slate-300",children:"Wave"}),r.jsxs("select",{value:N,onChange:V,className:"rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-[0.65rem] text-slate-100",children:[r.jsx("option",{value:"saw",children:"Saw"}),r.jsx("option",{value:"sine",children:"Sine"})]})]}),r.jsx("div",{className:"grid grid-cols-2 gap-0.5",children:A.map((Y,E)=>r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-[0.6rem] text-slate-400",children:E+1}),r.jsx("input",{type:"number",min:0,max:ie,step:1,value:Y,"data-horn-freq-index":E,onChange:I=>R(E,I.target.value),className:"w-full rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-right text-[0.65rem] font-mono text-slate-100"})]},`horn-freq-${E}`))})]}):r.jsxs("div",{ref:C,className:"relative z-10 grid grid-cols-[minmax(0,1.2fr)_repeat(4,minmax(0,1fr))] items-center gap-0.5 text-[0.65rem]",children:[r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-slate-300",children:"Wave"}),r.jsxs("select",{value:N,onChange:V,className:"rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-[0.65rem] text-slate-100",children:[r.jsx("option",{value:"saw",children:"Saw"}),r.jsx("option",{value:"sine",children:"Sine"})]})]}),A.map((Y,E)=>r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[r.jsx("span",{className:"text-[0.6rem] text-slate-400",children:E+1}),r.jsx("input",{type:"number",min:0,max:ie,step:1,value:Y,"data-horn-freq-index":E,onChange:I=>R(E,I.target.value),className:"w-full rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-right text-[0.65rem] font-mono text-slate-100"})]},`horn-freq-${E}`))]}):null]})}function bc(t){return typeof t=="boolean"}function ue({label:t,on:a,disabled:n,onToggle:i,keyLabel:u,className:h="",heightClass:d=""}){const[v,p]=m.useState(bc(a)?a:null),x=m.useRef(!1),g=m.useRef(null);m.useEffect(()=>{if(bc(a)){const H=window.setTimeout(()=>p(a),0);return()=>window.clearTimeout(H)}},[a]),m.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);const b=bc(v),y=b?v:!1,M=b?y?"On":"Off":"—",L=y?"bg-emerald-500 text-emerald-950":"bg-slate-700 text-slate-200",S=()=>{if(n)return;const H=b?!y:!0;p(H),i?.(H)},C=H=>{n||H.pointerType!=="mouse"&&(H.preventDefault(),x.current=!0,g.current&&clearTimeout(g.current),g.current=window.setTimeout(()=>{x.current=!1,g.current=null},800),S())},B=H=>{if(x.current){H.preventDefault(),x.current=!1,g.current&&(clearTimeout(g.current),g.current=null);return}S()},A=m.useMemo(()=>["mobile-touch-control group flex w-full flex-col items-center justify-center gap-0.35 rounded-xl border-2 px-1 py-0.75 text-center select-none no-touch-select",y?"border-emerald-300/70 bg-emerald-800 text-emerald-50 hover:bg-emerald-700":"border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800","disabled:opacity-50",d,h].filter(Boolean).join(" "),[h,y,d]);return r.jsxs("button",{type:"button",onPointerDown:C,onClick:B,onContextMenu:H=>H.preventDefault(),disabled:n,"aria-pressed":y,className:A,children:[r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx("span",{className:"text-sm font-semibold",children:t}),u?r.jsx("span",{className:"rounded bg-slate-800 px-1 py-0.5 text-[0.6rem] font-semibold text-slate-200",children:u}):null]}),r.jsx("span",{className:`rounded px-1 py-0.5 text-[0.7rem] font-semibold ${L}`,children:M})]})}const Ks="mobile-drive-pad",cQ=100,ea=[{id:"precision",label:"precision",modifierAction:"slowModifier"},{id:"normal",label:"normal",modifierAction:null},{id:"turbo",label:"turbo",modifierAction:"boostModifier"}],aQ={main:0,side:0,vacuum:0},nQ={main:127,side:127,vacuum:127},rQ={main:-127,side:-127,vacuum:-127};function Qs({id:t,label:a,values:n,color:i,disabled:u,onPress:h,onRelease:d}){return r.jsx("button",{type:"button",disabled:u,onPointerDown:v=>{v.preventDefault(),h(t,n)},onPointerUp:()=>d(t),onPointerLeave:()=>d(t),onPointerCancel:()=>d(t),onContextMenu:v=>v.preventDefault(),className:`mobile-touch-control flex h-full w-full items-center justify-center rounded-xl border-2 px-1 py-0.75 text-center text-sm font-semibold text-white transition select-none no-touch-select ${i} hover:brightness-110 active:brightness-125 active:scale-[0.99] disabled:opacity-30`,children:a})}function lQ({disabled:t,onPress:a,onRelease:n}){return r.jsxs("div",{className:"mobile-touch-control grid min-h-0 grid-rows-2 gap-0.5",children:[r.jsx(Qs,{id:"aux-vac-forward",label:"Vacuum Forward",values:nQ,color:"bg-fuchsia-600",disabled:t,onPress:a,onRelease:n}),r.jsx(Qs,{id:"aux-vac-backward",label:"Vacuum Backward",values:rQ,color:"bg-fuchsia-800",disabled:t,onPress:a,onRelease:n})]})}function yc(t,a,n){return Number.isFinite(t)?Math.max(a,Math.min(n,t)):a}function iQ(t){return typeof t!="number"||Number.isNaN(t)?"—":`${t>0?"+":""}${t.toFixed(1)}°`}function sQ({value:t,min:a,max:n,step:i=.5,disabled:u=!1,onChange:h}){const d=m.useRef(null),v=m.useRef(null),p=m.useMemo(()=>n===a?50:(yc(t,a,n)-a)/(n-a)*100,[n,a,t]),x=u?"opacity-50":"",g=m.useCallback(S=>{const C=d.current;if(!C)return t;const B=C.getBoundingClientRect(),A=Math.max(1,B.height),H=1-(S.clientY-B.top)/A,j=a+yc(H,0,1)*(n-a),_=Math.round(j/i)*i;return yc(_,a,n)},[n,a,i,t]),b=m.useCallback(S=>{const C=g(S);h?.(C)},[h,g]),y=m.useCallback(S=>{u||v.current===null&&(S.preventDefault(),v.current=S.pointerId,d.current?.setPointerCapture?.(S.pointerId),b(S))},[u,b]),M=m.useCallback(S=>{v.current===S.pointerId&&(S.preventDefault(),b(S))},[b]),L=m.useCallback(S=>{v.current===S.pointerId&&(S.preventDefault(),v.current=null,d.current?.releasePointerCapture?.(S.pointerId))},[]);return r.jsxs("div",{className:"mobile-touch-control flex h-full items-center justify-center gap-0.5",children:[r.jsx("span",{className:"mobile-touch-control text-sm font-semibold text-emerald-50 [writing-mode:vertical-rl] rotate-180",children:"Camera tilt"}),r.jsxs("div",{ref:d,role:"slider","aria-label":"Camera tilt","aria-valuemin":a,"aria-valuemax":n,"aria-valuenow":Number.isFinite(t)?t:a,"aria-valuetext":iQ(t),"aria-disabled":u,tabIndex:u?-1:0,onPointerDown:y,onPointerMove:M,onPointerUp:L,onPointerCancel:L,onLostPointerCapture:S=>{v.current===S.pointerId&&(v.current=null)},onContextMenu:S=>S.preventDefault(),style:{touchAction:"none"},className:`mobile-touch-control mobile-drag-control relative h-full w-6 rounded-full border border-emerald-100/80 bg-emerald-950 shadow-inner focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-emerald-200 ${x}`.trim(),children:[r.jsx("div",{className:"pointer-events-none absolute inset-x-1 bottom-1 rounded-full bg-emerald-400",style:{height:`${p}%`}}),r.jsx("div",{className:"pointer-events-none absolute left-1/2 h-3.5 w-3.5 -translate-x-1/2 rounded-full border border-emerald-950 bg-emerald-200 shadow",style:{bottom:`clamp(0.25rem, calc(${p}% - 0.4375rem), calc(100% - 1.125rem))`}})]})]})}const oQ=.5,uQ=.1;function hQ(){const t=_1(Z=>Z.state.roverId),a=o1(Z=>!!Z.session?.homeAssistant?.lightPolicy?.lockedOn),n=_1(Z=>Z.state.camera),i=_1(Z=>Z.state.horn),u=_1(Z=>Z.pipeline?.headlight),h=_1(Z=>Z.pipeline?.headlightState),d=_1(Z=>Z.pipeline?.laser),v=_1(Z=>Z.pipeline?.laserState),p=_1(Z=>Z.pipeline?.horn),{setServoAngle:x,setHeadlight:g,setLaser:b,setAuxMotors:y,startHorn:M,stopHorn:L}=K4(),S=k0(),C=!t,B=m.useRef(null),A=n?.config,H=!!(t&&n?.enabled&&A),j=!!(t&&u),_=!!(t&&d),F=!!(t&&p),N=i?.overheated,V=typeof A?.minAngle=="number"?A.minAngle:-45,R=typeof A?.maxAngle=="number"?A.maxAngle:45,q=typeof n?.angle=="number"?n.angle:typeof A?.homeAngle=="number"?A.homeAngle:(V+R)/2,$=!!(C||S.cameraLocked),D=n?.precisionMode?uQ:oQ,W=m.useCallback(Z=>{j&&(u1("headlight_toggle",{roverId:t,source:"mobile_control",enabled:!!Z}),g(Z))},[j,t,g]),n1=m.useCallback(Z=>{_&&(u1("laser_toggle",{roverId:t,source:"mobile_control",enabled:!!Z}),b(Z))},[_,t,b]),Y=m.useCallback(()=>(u1("horn_start",{roverId:t,source:"mobile_control"}),M()),[t,M]),E=m.useCallback((Z,t1)=>{C||(B.current=Z,y(t1))},[C,y]),I=m.useCallback(Z=>{C||B.current===Z&&(B.current=null,y(aQ))},[C,y]);return r.jsxs("div",{className:"mobile-touch-control grid h-full min-h-0 w-full grid-rows-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)] gap-0.5 text-slate-100",children:[r.jsx(lQ,{disabled:C,onPress:E,onRelease:I}),r.jsxs("div",{className:"mobile-touch-control flex min-h-0 items-stretch gap-0.5",children:[H?r.jsx("div",{className:"mobile-touch-control flex-1 min-h-0 rounded-xl border-2 border-emerald-300/70 bg-emerald-900 px-1 py-1 text-emerald-50",children:r.jsx(sQ,{value:q,min:V,max:R,step:D,disabled:$,onChange:x})}):null,j||_?r.jsxs("div",{className:"mobile-touch-control flex min-h-0 flex-1 flex-col gap-0.5",children:[j?r.jsx(ue,{label:"Headlight",on:h?.headlightOn,disabled:C,onToggle:W,heightClass:"h-full"}):null,_?r.jsx(ue,{label:"Laser",on:v?.laserOn,disabled:C||a,onToggle:n1,heightClass:"h-full"}):null]}):null]}),r.jsx("div",{className:"mobile-touch-control min-h-0",children:F?r.jsx(Rh,{disabled:C||N,onStart:Y,onStop:L,active:i?.active,heat:i?.heat,defaultShowSettings:!1,showSettingsToggle:!0,compactSettings:!0,className:"h-full"}):null})]})}function he({layout:t,className:a=""}){return r.jsx("div",{className:`mobile-touch-control flex flex-col gap-0.5 ${a}`.trim(),"data-mobile-layout":t,children:r.jsx(hQ,{})})}function Eh(t){const a=t?.oiModeLabel||"Unknown",n=a.toLowerCase(),i=t?.chargingStateLabel||"",u=!!t?.homeBase,h=u&&i.toLowerCase()!=="not charging"&&i!=="";return{driving:n==="full",docked:u,charging:h,dockedNotCharging:u&&!h,dockingInProgress:!u&&!h&&n==="passive",oiLabel:a,chargingLabel:i}}function Th(t){const a=C6(t,Va,La);return m.useMemo(()=>Eh(a),[a])}function f0({value:t,tone:a="neutral"}){const n=a==="good"?"border-emerald-200 bg-emerald-600 text-white":a==="warn"?"border-amber-200 bg-amber-600 text-white":a==="bad"?"border-red-200 bg-red-600 text-white":"border-slate-200/30 bg-slate-700 text-slate-100";return r.jsx("div",{className:`flex flex-1 flex-col items-center justify-center rounded-lg border px-0.75 py-0.5 text-center ${n}`,children:r.jsx("span",{className:"text-base font-semibold md:text-lg",children:t})})}function Xs({label:t}){return t?r.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:t}):null}function Mc({label:t,tone:a}){const n=a==="emerald"?"border-emerald-200/70 bg-emerald-600/70 text-emerald-50":a==="amber"?"border-amber-200/70 bg-amber-600/70 text-amber-50":"border-indigo-200/70 bg-indigo-600/70 text-indigo-50";return r.jsx("span",{className:`rounded-full border px-0.5 py-0.15 text-[0.7rem] font-semibold ${n}`,children:t})}function dQ({instructions:t,onConfirm:a,onCancel:n,pending:i}){return r.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/70 p-1",children:r.jsxs("div",{className:"surface w-full max-w-md space-y-0.5 border border-indigo-700 bg-indigo-950/90 p-1 text-slate-100 shadow-2xl",children:[r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-lg font-semibold text-indigo-50",children:"Manual Docking Assist"}),r.jsx("p",{className:"text-sm text-slate-200",children:t.summary}),r.jsx(ca,{steps:t.steps,tone:"indigo"})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5 text-sm",children:[r.jsx("button",{type:"button",onClick:n,className:"bg-slate-700 px-0.5 py-1 font-semibold text-slate-100 transition hover:bg-slate-600",children:"Cancel"}),r.jsx("button",{type:"button",disabled:i,onClick:a,className:"bg-indigo-600 px-0.5 py-1 font-semibold text-indigo-50 transition hover:bg-indigo-500 disabled:opacity-50",children:i?"Starting…":"Enter Assist"})]})]})})}function _h({layout:t="desktop",expand:a=!1,fill:n=!1,driveDockState:i,compactHeightClass:u=""}){const h=t==="mobile",d=_1(D1=>D1.state.roverId),v=_1(D1=>D1.state.keymap),p=K4(),x=k0(),g=C6(d,Va,La),b=i??Eh(g),{driving:y,docked:M,charging:L,dockingInProgress:S}=b,[C,B]=m.useState(null),[A,H]=m.useState(!1),[j,_]=m.useState(!1),F=!!x.active,N=!d||C!==null,V=!d||C!==null,R=_2(v?.driveMacro?.[0]),q=_2(v?.dockMacro?.[0]),$={summary:"Use assist mode to manually line up with the dock.",steps:["Line up the center dot of your rover with the center of the dock","The UI will indicate when you are successfully docked","When good contact is made, the dock will stop flashing."]},D={summary:"You must enable driving mode before you can move the rover.",steps:["Press the keybind or tap this button to enable driving mode","Once ready (should be instant), this dialog will change, and you will be able to move"]},W=M?"Docked":"Undocked",n1=M?"good":"bad",Y=L?"Charging":M?"Charging soon...":"—",E=L?"good":M?"warn":"bad",I=async()=>{if(!(!d||C)){B("drive"),u1("drive_return",{roverId:d,source:"drive_dock_action"});try{x.exitAssist(),p.setMode("drive"),await p.runMacro("drive-sequence"),u1("drive_return_result",{roverId:d,status:"accepted"})}catch(D1){u1("drive_return_result",{roverId:d,status:"failed",reason:D1?.message||"unknown"}),alert(D1.message)}finally{B(null)}}},Z=async()=>{if(!(!d||C)){H(!1),_(!1),B("drive"),u1("drive_start",{roverId:d,source:"drive_dock_action"});try{x.exitAssist(),p.setMode("drive"),await p.runMacro("drive-sequence"),u1("drive_start_result",{roverId:d,status:"accepted"})}catch(D1){u1("drive_start_result",{roverId:d,status:"failed",reason:D1?.message||"unknown"}),alert(D1.message)}finally{B(null)}}},t1=async()=>{if(!(!d||C)){B("dock"),u1("dock_assist_start",{roverId:d});try{x.enterAssist(),u1("dock_assist_start_result",{roverId:d,status:"accepted"})}catch(D1){u1("dock_assist_start_result",{roverId:d,status:"failed",reason:D1?.message||"unknown"}),alert(D1.message)}finally{B(null),H(!1),_(!1)}}},h1=()=>{if(!V){if(F){x.exitAssist(),u1("dock_assist_exit",{roverId:d});return}_(!0),H(!0),u1("dock_assist_open",{roverId:d})}},T="mobile-touch-control flex w-full flex-col gap-0.5 overflow-hidden rounded-xl border-2 px-0.75 py-0.75 text-slate-100 shadow-md transition hover:-translate-y-0.5 hover:shadow-xl focus-visible:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-60 select-none no-touch-select",O="text-center",K="items-center justify-between",l1="items-center justify-center",m1=h?"text-sm font-semibold":"",v1="border-emerald-300/70 bg-emerald-800 text-emerald-50 hover:bg-emerald-700 focus-visible:ring-emerald-300",A1="border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800 focus-visible:ring-amber-300",k1="border-indigo-300/70 bg-indigo-900 text-indigo-50 hover:bg-indigo-800 focus-visible:ring-indigo-300",R1="border-cyan-300/70 bg-cyan-900 text-cyan-50 hover:bg-cyan-800 focus-visible:ring-cyan-300",O1="border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800 focus-visible:ring-amber-300",P1=a||S,h2=P1?"h-full flex-1":n?"flex-1":"",r1=h&&!P1?u:"",V1=h&&!P1?l1:K,Z1=h&&!P1&&y&&M;if(!y&&!S)return r.jsxs("button",{type:"button",onClick:Z,onContextMenu:D1=>D1.preventDefault(),disabled:N,className:`${T} ${h2} ${r1} ${O} ${V1} ${m1} ${v1}`,children:[r.jsxs("div",{className:"space-y-0.5 w-full",children:[r.jsxs("div",{className:"flex w-full flex-col items-center gap-0.25",children:[r.jsx("span",{className:"text-base font-semibold text-emerald-50 md:text-lg",children:"Start Driving"}),!h&&P1?r.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:[R?r.jsx(Xs,{label:R}):null,r.jsx(Mc,{label:"Click to start",tone:"emerald"})]}):null]}),P1?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm text-emerald-50/90",children:D.summary}),r.jsx(ca,{steps:D.steps,tone:"emerald"})]}):null]}),P1?r.jsxs("div",{className:"flex w-full flex-1 flex-col gap-0.5 self-stretch",children:[r.jsx(f0,{label:"Dock",value:W,tone:n1}),r.jsx(f0,{label:"Charge",value:Y,tone:E})]}):null]});if(S){const D1={summary:"The rover is currently attempting to dock itself due to being idle.",steps:["Click to return to driving mode."]};return r.jsxs("button",{type:"button",disabled:N,onClick:I,onContextMenu:b1=>b1.preventDefault(),className:`${T} ${h2} ${r1} ${O} ${V1} ${m1} ${A1}`,children:[r.jsxs("div",{className:"space-y-0.5 w-full",children:[r.jsxs("div",{className:"flex w-full flex-col items-center gap-0.25",children:[r.jsx("span",{className:"text-base font-semibold text-amber-50 md:text-lg",children:"Attempting to auto-dock..."}),P1?r.jsx("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:r.jsx(Mc,{label:"Return to driving mode",tone:"emerald"})}):null]}),P1?r.jsx("p",{className:"text-sm text-amber-50/90",children:D1.summary}):null]}),P1?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex w-full flex-1 flex-col gap-0.5 self-stretch",children:[r.jsx(f0,{label:"Dock",value:W,tone:n1}),r.jsx(f0,{label:"Charge",value:Y,tone:E})]}),h?null:r.jsx(ca,{steps:D1.steps,tone:"amber"})]}):null]})}return r.jsxs(r.Fragment,{children:[r.jsxs("button",{type:"button",disabled:V,onClick:h1,onContextMenu:D1=>D1.preventDefault(),className:h?`flex w-full ${T} ${r1} ${O} ${V1} ${m1} ${F?R1:Z1?O1:k1}`:`${T} ${h2} ${O} ${K} ${m1} ${F?R1:k1}`,children:[r.jsxs("div",{className:"flex w-full flex-col items-center gap-0.25",children:[r.jsx("span",{className:"text-base font-semibold text-indigo-50 md:text-lg",children:Z1?"Docked!":F?"Exit Docking Assist":"Dock and charge"}),!h&&P1?r.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:[q?r.jsx(Xs,{label:q}):null,r.jsx(Mc,{label:F?"Click to exit assist":"Click to enable assist",tone:"indigo"})]}):null]}),!h&&P1&&r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-sm text-indigo-50/90",children:"Get near a dock and press this button to enter docking assist mode."}),r.jsxs("div",{className:"flex w-full flex-1 flex-col gap-0.5 self-stretch",children:[r.jsx(f0,{label:"Dock",value:W,tone:n1}),r.jsx(f0,{label:"Charge",value:Y,tone:E})]})]})]}),j||!h&&A?r.jsx(dQ,{instructions:$,pending:C==="dock",onCancel:()=>{_(!1),H(!1)},onConfirm:t1}):null]})}function ca({steps:t,tone:a="emerald"}){const n=a==="emerald"?"bg-emerald-900/60 text-emerald-50/90 border-emerald-700/60":a==="amber"?"bg-amber-900/60 text-amber-50/90 border-amber-700/60":"bg-indigo-900/60 text-indigo-50/90 border-indigo-700/60",i=a==="emerald"?"text-emerald-200":a==="amber"?"text-amber-200":"text-indigo-200";return r.jsx("div",{className:`space-y-0.5 rounded border px-0.5 py-0.35 text-left ${n}`,children:t.map((u,h)=>r.jsxs("div",{className:"text-[0.85rem] leading-snug break-words",children:[r.jsxs("div",{className:"flex items-start",children:[r.jsxs("span",{className:`mr-0 align-top text-[0.75rem] font-semibold ${i}`,children:[h+1,"."]}),r.jsx("span",{className:"align-top",children:u})]}),h(t[`${a.row}:${a.col}`]=a,t),{}),te=Ua.find(t=>t.id==="stop");function z0(t,a,n){return Number.isFinite(t)?Math.max(a,Math.min(n,t)):a}function qh(){return typeof window>"u"?{width:x0,height:x0}:{width:window.innerWidth||x0,height:window.innerHeight||x0}}function mQ(t){if(!t)return x0;const a=t.getBoundingClientRect(),n=qh(),i=Math.max(96,Math.min(a.width,n.width-z6*2));return Math.round(i)}function vQ(t,a,n){const i=qh(),u=n/2,h=Math.min(i.width-u,u+z6),d=Math.max(u+z6,i.width-u-z6),v=Math.min(i.height-u,u+z6),p=Math.max(u+z6,i.height-u-z6);return{x:z0(t,h,d),y:z0(a,v,p)}}function pQ(t,a,n){const i=t?.size||x0,u=i/2,h=i/wc,d=z0(a-t.center.x+u,0,i-1),v=z0(n-t.center.y+u,0,i-1),p=z0(Math.floor(d/h),0,wc-1),x=z0(Math.floor(v/h),0,wc-1);return fQ[`${x}:${p}`]||te}function gQ({center:t,size:a,activeCellId:n}){if(typeof document>"u")return null;const i=a/2;return Np.createPortal(r.jsx("div",{className:"pointer-events-none fixed inset-0 z-[1000]","aria-hidden":"true",children:r.jsx("div",{className:"absolute grid grid-cols-3 grid-rows-3 overflow-hidden rounded-lg border-2 border-cyan-300/80 bg-slate-950/90 shadow-2xl shadow-cyan-950/50 backdrop-blur-sm",style:{height:a,left:t.x-i,top:t.y-i,width:a},children:Ua.map(u=>{const h=u.id===n,d=u.id==="stop",v="flex items-center justify-center border border-slate-700/80 px-1 text-center text-xs font-semibold leading-tight",p=h?d?"bg-rose-500 text-white":"bg-cyan-300 text-slate-950":d?"bg-slate-900 text-slate-300":"bg-slate-800/80 text-slate-200";return r.jsx("div",{className:`${v} ${p}`,children:u.label},u.id)})})}),document.body)}function xQ({activeInputLabel:t="stop",disabled:a,onCellChange:n,onStop:i}){const u=m.useRef(null),h=m.useRef(null),d=m.useRef(null),v=m.useRef(null),[p,x]=m.useState(null),g=m.useCallback(()=>{h.current=null,v.current=null,x(null),i?.()},[i]),b=m.useCallback(S=>{const C=d.current;if(!C)return;const B=pQ(C,S.clientX,S.clientY);v.current!==B.id&&(v.current=B.id,n?.(B)),x({...C,activeCellId:B.id})},[n]),y=m.useCallback(S=>{if(a||h.current!==null)return;S.preventDefault();const C=u.current;if(!C)return;h.current=S.pointerId;const B=mQ(C),A=vQ(S.clientX,S.clientY,B);d.current={center:A,size:B,activeCellId:te.id},C.setPointerCapture?.(S.pointerId),v.current=te.id,x(d.current),n?.(te)},[a,n]),M=m.useCallback(S=>{a||h.current!==S.pointerId||(S.preventDefault(),b(S))},[a,b]),L=m.useCallback(S=>{if(h.current!==S.pointerId)return;S.preventDefault();const C=S.pointerId;g(),u.current?.releasePointerCapture?.(C)},[g]);return m.useEffect(()=>{if(!a)return;const S=setTimeout(g,0);return()=>clearTimeout(S)},[a,g]),r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:u,role:"presentation",className:"mobile-touch-control mobile-drag-control relative flex h-full min-h-[10rem] w-full select-none items-center justify-center overflow-hidden text-slate-100",style:{touchAction:"none"},onPointerDown:y,onPointerMove:M,onPointerUp:L,onPointerCancel:L,onLostPointerCapture:S=>{h.current===S.pointerId&&g()},onContextMenu:S=>S.preventDefault(),children:[r.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-0 border-b border-slate-700 bg-slate-950 px-1.5 py-0.5 text-center",children:r.jsx("span",{className:"font-mono text-xs font-semibold text-cyan-200",children:t})}),r.jsxs("div",{className:"pointer-events-none flex flex-col items-center gap-0.5 px-2 pt-5 text-center",children:[r.jsx("span",{className:"text-sm font-semibold text-slate-100",children:"drive pad"}),r.jsx("span",{className:"text-xs leading-tight text-slate-300",children:"hold and drag"})]})]}),p?r.jsx(gQ,{center:p.center,size:p.size,activeCellId:p.activeCellId}):null]})}function zQ(t,a){const n=t?.[a];return!n||n.size===0?null:n.values().next().value??null}function bQ(t){return ea.find(a=>a.id===t)||ea[1]}function yQ({disabled:t=!1}){const a=_1(F=>F.state.keymap),{setCameraPrecisionMode:n,setDriveVector:i,registerInputState:u}=K4(),{value:h}=I1("inputs",D4),[d,v]=m.useState("normal"),[p,x]=m.useState("stop"),g=m.useRef("normal"),b=m.useRef(null),y=m.useRef(null),M=m.useMemo(()=>hh(a),[a]),L=m.useMemo(()=>Ch(h),[h]),S=m.useCallback(()=>{y.current&&(clearInterval(y.current),y.current=null)},[]),C=m.useCallback((F,N=g.current)=>{const V=new Set,R=bQ(N);return[...Array.isArray(F?.actions)?F.actions:[],R.modifierAction].filter(Boolean).forEach($=>{const D=zQ(M,$);D&&V.add(D)}),V},[M]),B=m.useCallback((F,N="move",V=g.current)=>{if(t)return;const R=C(F,V),q=Sh(R,M),$=Hh(R,M,L);n(V==="precision"),i(q,{source:Ks,speedOptions:$}),u(Ks,{keys:Array.from(R),vector:q,activeCell:F?.id??"stop",speedMode:V,lastEvent:N})},[C,t,L,M,u,n,i]),A=m.useCallback((F="stop")=>{S(),b.current=null,x("stop"),B({id:"stop",actions:[]},F,g.current)},[S,B]),H=m.useCallback(()=>{y.current||(y.current=setInterval(()=>{b.current&&B(b.current,"repeat")},cQ))},[B]),j=m.useCallback(F=>{t||(b.current=F,x(F?.label||"stop"),B(F,"move"),H())},[t,B,H]),_=m.useCallback(F=>{v(F),g.current=F,n(F==="precision"),b.current&&B(b.current,"speed",F)},[B,n]);return m.useEffect(()=>()=>{S(),n(!1)},[S,n]),m.useEffect(()=>{t&&(A("disabled"),n(!1))},[t,n,A]),r.jsxs("div",{className:"mobile-touch-control flex flex-1 min-h-0 flex-col overflow-hidden rounded-xl border-2 border-slate-700 bg-slate-900 text-slate-100 shadow-md",children:[r.jsx("div",{className:"mobile-touch-control grid grid-cols-3 gap-0.5 border-b border-slate-700 bg-slate-950 p-0.5",children:ea.map(F=>{const N=d===F.id,V=F.id==="precision"?L.precisionSpeed:F.id==="turbo"?L.turboSpeed:L.baseSpeed;return r.jsxs("button",{type:"button",className:`mobile-touch-control min-h-9 rounded-md px-1 text-xs font-semibold ${N?"bg-cyan-300 text-slate-950":"bg-slate-800 text-slate-200"}`,onClick:()=>_(F.id),disabled:t,children:[r.jsx("span",{className:"block leading-tight",children:F.label}),r.jsx("span",{className:"block font-mono text-[0.7rem] leading-tight",children:V})]},F.id)})}),r.jsx("div",{className:"mobile-touch-control min-h-0 flex-1",children:r.jsx(xQ,{activeInputLabel:p,disabled:t,onCellChange:j,onStop:()=>A("stop")})})]})}function MQ({layout:t}){const a=_1(p=>p.state.roverId),n=Th(a),i=n.docked&&!n.driving,u=i||n.dockingInProgress,h=!a,v=`mobile-touch-control flex h-full flex-col gap-0.5 text-slate-100 ${i?"max-h-screen self-start":""}`;return r.jsxs("div",{className:v,"data-mobile-layout":t,children:[r.jsx(_h,{layout:"mobile",expand:u,driveDockState:n,compactHeightClass:"min-h-[5rem]"}),u?null:r.jsx(yQ,{disabled:h})]})}function de({layout:t,className:a=""}){return r.jsx("div",{className:`mobile-touch-control flex flex-col gap-0.5 ${a}`.trim(),"data-mobile-layout":t,children:r.jsx(MQ,{layout:t==="landscape"?"landscape":"portrait"})})}function wQ(t=[],a={}){const n=N2(),{enabled:i=!0,version:u=null}=a,[h,d]=m.useState({}),v=m.useRef(new Map),p=m.useMemo(()=>t.map(S=>typeof S=="string"?S:S.id),[t]),x=m.useMemo(()=>{const S=p.join("|");return u?`${S}|v:${u}`:S},[p,u]),g=m.useRef([]),[b,y]=m.useState(0),M=m.useRef(new Map),L=typeof window<"u"&&new URLSearchParams(window.location.search).has("debugSnapshots");return m.useEffect(()=>{if(!n)return;const S=()=>y(C=>C+1);return n.on("connect",S),()=>n.off("connect",S)},[n]),m.useEffect(()=>{g.current=p},[x,p]),m.useEffect(()=>{v.current.forEach(S=>URL.revokeObjectURL(S)),v.current.clear(),d({})},[x]),m.useEffect(()=>{if(!i){v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear(),d({});return}if(!g.current.length||!n)return;let S=!1;const C=g.current,B=(H={},j)=>{if(S||!H.id||!j)return;const _=j.byteLength??j.length??0,F=Date.now(),N=M.current.get(H.id)||{count:0,totalBytes:0,lastLogAt:0},V={count:N.count+1,totalBytes:N.totalBytes+_,lastLogAt:N.lastLogAt};if(L&&(!V.lastLogAt||F-V.lastLogAt>=1e4)){const D=V.count?V.totalBytes/V.count:0;console.log("[roomCamera]",H.id,`frame=${_}B`,`avg=${Math.round(D)}B`,`count=${V.count}`),V.lastLogAt=F}M.current.set(H.id,V);const R=new Blob([j],{type:"image/jpeg"}),q=URL.createObjectURL(R),$=v.current.get(H.id);$&&URL.revokeObjectURL($),v.current.set(H.id,q),d(D=>({...D,[H.id]:{status:"playing",ts:H.ts||Date.now(),error:null,objectUrl:q}}))},A=(H={})=>{S||!H.id||d(j=>({...j,[H.id]:{...j[H.id]||{},status:H.error?"error":j[H.id]?.status||"connecting",error:H.error||null,ts:H.ts||j[H.id]?.ts||null,objectUrl:j[H.id]?.objectUrl||null}}))};return n.on("roomCamera:frame",B),n.on("roomCamera:status",A),n.emit("roomCamera:subscribe",{ids:C},(H={})=>{H.error}),()=>{S=!0,n.emit("roomCamera:unsubscribe",{ids:C}),n.off("roomCamera:frame",B),n.off("roomCamera:status",A),v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear()}},[n,x,i,b,L]),h}function CQ({feed:t,label:a}){const[n,i]=m.useState(!1);m.useEffect(()=>{t&&(!t.ts&&!t.objectUrl||i(h=>!h))},[t?.ts,t?.objectUrl]);const u=m.useMemo(()=>t?t.error?`Error: ${t.error}`:t.status||"Connecting…":"Connecting…",[t]);return r.jsxs("div",{className:"relative w-full overflow-hidden rounded bg-black",style:{aspectRatio:"4 / 3"},children:[t?.objectUrl?r.jsx("img",{src:t.objectUrl,alt:a,className:"h-full w-full object-cover"}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-300",children:"Waiting for frame…"}),r.jsx("div",{className:"pointer-events-none absolute left-0 top-0 bg-black/70 px-0.5 py-0.5 text-xs font-semibold text-white",children:a}),r.jsxs("div",{className:"pointer-events-none absolute bottom-0 left-0 m-0 flex items-center gap-0.5 rounded bg-black/70 px-0.5 py-0.25 text-[0.7rem] text-slate-100",children:[r.jsx("span",{className:`h-2 w-2 rounded-full ${n?"bg-emerald-400":"bg-slate-500"}`}),r.jsx("span",{children:u})]})]})}function SQ(){return r.jsxs(N1,{title:"Room Cameras",bodyClassName:"space-y-0.5 text-sm",children:[r.jsx("p",{className:"text-center text-slate-400",children:"No room cameras configured."}),r.jsx("p",{className:"text-center text-slate-500",children:"Add entries to server config to populate this list."})]})}const Dh=["horizontal","vertical"],HQ="0px";function Cc(t,a){return Dh.includes(t)?t:a}function AQ(){const t=m.useRef(null),[a,n]=m.useState(!1);return m.useEffect(()=>{const i=t.current;if(!i||typeof window>"u"||typeof document>"u")return;let u=!0;const h=()=>{n(u&&document.visibilityState!=="hidden")},d=()=>{h()};if(document.addEventListener("visibilitychange",d),typeof IntersectionObserver!="function")return h(),()=>{document.removeEventListener("visibilitychange",d)};const v=new IntersectionObserver(([p])=>{u=!!p?.isIntersecting,h()},{root:null,rootMargin:HQ,threshold:0});return v.observe(i),()=>{v.disconnect(),document.removeEventListener("visibilitychange",d)}},[]),{panelRef:t,isPanelVisible:a}}function Ia({defaultOrientation:t="horizontal",orientation:a,hideLayoutToggle:n=!1,hideHeader:i=!1,panelId:u=null}){const h=o1(j=>j.session?.roomCameras||[]),d=m.useMemo(()=>h.map(j=>j.id),[h]),{panelRef:v,isPanelVisible:p}=AQ(),x=wQ(d,{enabled:p}),{value:g,save:b}=I1("roomCameraPanels",{}),[y,M]=m.useState(()=>Cc(u?g?.[u]:t,"horizontal")),L=u?g?.[u]:null,S=Cc(a||L||y,"horizontal"),C=S==="vertical"?"flex flex-col gap-0.5":"grid gap-0.5 md:grid-cols-2",B=!n&&!a&&h.length>0,A=j=>{M(j),u&&b(_=>({..._||{},[u]:j}))};if(h.length===0)return r.jsx("div",{ref:v,children:r.jsx(SQ,{})});const H=B?r.jsxs("div",{className:"flex items-center gap-0.5 text-[0.68rem] text-slate-400",children:[r.jsx("span",{children:"Layout"}),r.jsx("div",{className:"inline-flex overflow-hidden rounded border border-slate-700",children:Dh.map(j=>r.jsx("button",{type:"button",className:`px-1 py-0.5 ${S===j?"bg-slate-600 text-white":"bg-transparent text-slate-400 hover:text-white"}`,onClick:()=>A(j),children:j==="vertical"?"Vertical":"Grid"},j))})]}):null;return r.jsx("div",{ref:v,children:r.jsx(N1,{title:"Room cameras",actions:H,hideHeader:i,bodyClassName:"space-y-0.5 text-base",children:r.jsx("div",{className:C,children:h.map(j=>{const _=x[j.id]||null;return r.jsx("article",{className:"w-full space-y-0.5 p-0.5",children:r.jsx(CQ,{feed:_,label:j.name||j.id})},j.id)})})})})}const LQ="modulepreload",VQ=function(t){return"/"+t},Ws={},Js=function(a,n,i){let u=Promise.resolve();if(n&&n.length>0){let x=function(g){return Promise.all(g.map(b=>Promise.resolve(b).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};var d=x;document.getElementsByTagName("link");const v=document.querySelector("meta[property=csp-nonce]"),p=v?.nonce||v?.getAttribute("nonce");u=x(n.map(g=>{if(g=VQ(g),g in Ws)return;Ws[g]=!0;const b=g.endsWith(".css"),y=b?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${y}`))return;const M=document.createElement("link");if(M.rel=b?"stylesheet":LQ,b||(M.as="script"),M.crossOrigin="",M.href=g,p&&M.setAttribute("nonce",p),document.head.appendChild(M),b)return new Promise((L,S)=>{M.addEventListener("load",L),M.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${g}`)))})}))}function h(v){const p=new Event("vite:preloadError",{cancelable:!0});if(p.payload=v,window.dispatchEvent(p),!p.defaultPrevented)throw v}return u.then(v=>{for(const p of v||[])p.status==="rejected"&&h(p.reason);return a().catch(h)})};function BQ({frame:t}){const a=m.useRef(null),n=m.useRef(null),i=m.useRef(null),u=m.useRef(null),h=m.useRef(null),d=m.useRef(null),v=m.useRef(null),p=m.useRef(!1),x=m.useRef(t),g=m.useCallback(()=>{const M=n.current,L=u.current,S=i.current;!M||!L||!S||!p.current||M.render(L,S)},[]),b=m.useCallback(()=>{const M=h.current;M&&(u.current?.remove(M),M.geometry?.dispose(),M.material?.dispose(),h.current=null)},[]),y=m.useCallback(()=>{const M=u.current,L=x.current,S=v.current;if(!M||!S||!L?.buffer||!p.current)return;const C=Number(L.meta?.strideBytes)||16,B=Number(L.meta?.width)||0,A=Number(L.meta?.height)||0,H=B*A;if(!L.meta?.grid||!H||C<16){b();return}const j=new DataView(L.buffer),_=new Float32Array(H*3),F=new Float32Array(H*3),N=new Uint8Array(H),V=new Float32Array(H);for(let Y=0;Y0?1:0,V[Y]=Z}const R=new S.BufferGeometry;R.setAttribute("position",new S.BufferAttribute(_,3)),R.setAttribute("color",new S.BufferAttribute(F,3));const q=[],$=.12,D=(Y,E,I)=>{if(!N[Y]||!N[E]||!N[I])return!1;const Z=Math.min(V[Y],V[E],V[I]);return Math.max(V[Y],V[E],V[I])-Z<=$};for(let Y=0;Y{x.current=t,y()},[t,y]),m.useEffect(()=>{const M=a.current;if(!M)return;let L=!1,S=null,C=null;async function B(){const[A,H]=await Promise.all([Js(()=>import("./three.module--MGUDD-H.js"),[]),Js(()=>import("./OrbitControls-BJ-UXxdt.js"),__vite__mapDeps([0,1]))]);if(L)return;const j=A,{OrbitControls:_}=H;v.current=j;const F=new j.Scene;F.background=new j.Color(657930);const N=new j.PerspectiveCamera(55,4/3,.01,20);N.position.set(0,.15,2.2);const V=new j.WebGLRenderer({antialias:!0,alpha:!1});V.setPixelRatio(Math.min(window.devicePixelRatio||1,1.5)),V.setSize(M.clientWidth||640,M.clientHeight||480,!1),M.appendChild(V.domElement);const R=new _(N,V.domElement);R.enableDamping=!1,R.target.set(0,0,-1.4),R.addEventListener("change",g),u.current=F,i.current=N,n.current=V,d.current=R,S=new ResizeObserver(([q])=>{const $=Math.max(1,q.contentRect.width),D=Math.max(1,q.contentRect.height);N.aspect=$/D,N.updateProjectionMatrix(),V.setSize($,D,!1),g()}),S.observe(M),C=new IntersectionObserver(([q])=>{const $=!!q?.isIntersecting;p.current=$,$&&(y(),g())},{threshold:.01}),C.observe(M)}return B(),()=>{L=!0,C?.disconnect(),S?.disconnect(),d.current?.removeEventListener("change",g),d.current?.dispose(),b(),n.current?.dispose(),n.current?.domElement?.remove(),u.current=null,i.current=null,n.current=null,d.current=null,v.current=null}},[b,y,g]),r.jsx("div",{ref:a,className:"h-full w-full"})}const NQ={enabled:!1,available:!1,busy:!1,captureCooldownUntil:0,lastError:null,hasPointCloud:!1,hasColorImage:!1};function jQ(t){return{...NQ,...t&&typeof t=="object"?t:{}}}function to(t){return t?t instanceof ArrayBuffer?t:ArrayBuffer.isView(t)?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):null:null}function kQ({cooldownText:t,enabled:a,busy:n,lastError:i}){return t?{label:t,className:"border-red-400 bg-red-600 text-red-50"}:!a||i?{label:"Off",className:"border-red-400 bg-red-700 text-red-50"}:n?{label:"...",className:"border-amber-200 bg-amber-500 text-amber-950"}:{label:"Ready",className:"border-emerald-300 bg-emerald-600 text-emerald-50"}}function Oh(){const t=N2(),a=o1(H=>jQ(H.session?.kinect)),[n,i]=m.useState("3d"),[u,h]=m.useState(null),[d,v]=m.useState(null),[p,x]=m.useState(null),[g,b]=m.useState(()=>Date.now());m.useEffect(()=>{const H=setInterval(()=>b(Date.now()),1e3);return()=>clearInterval(H)},[]),m.useEffect(()=>{if(!t)return;const H=(_={},F)=>{const N=to(F);!N||!_?.grid||(h({meta:_,buffer:N}),i("3d"),x(null))},j=(..._)=>{const F=_[1],N=to(F);if(!N)return;const V=new Blob([N],{type:"image/jpeg"}),R=URL.createObjectURL(V);v(q=>(q&&URL.revokeObjectURL(q),R)),i("image"),x(null)};return t.on("kinect:pointCloudFrame",H),t.on("kinect:colorFrame",j),t.emit("kinect:requestCachedFrames",{},()=>{}),()=>{t.off("kinect:pointCloudFrame",H),t.off("kinect:colorFrame",j)}},[t]),m.useEffect(()=>()=>{d&&URL.revokeObjectURL(d)},[d]);const y=Math.max(0,Number(a.captureCooldownUntil||0)-g),M=!a.enabled||a.busy||y>0,L=y>0?`${Math.ceil(y/1e3)}s`:null,S=m.useMemo(()=>kQ({cooldownText:L,enabled:a.enabled,busy:a.busy,lastError:a.lastError}),[L,a.busy,a.enabled,a.lastError]),C=p||a.lastError,B=m.useCallback(H=>{!t||M||(x(null),t.emit(H,{},(j={})=>{j.error&&x(j.error)}))},[M,t]),A=r.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-0.5 text-[0.68rem] text-slate-400",children:[r.jsx("span",{className:`inline-flex min-w-[3.7rem] justify-center rounded border px-1 py-0.5 text-xs font-semibold ${S.className}`,children:S.label}),r.jsx("div",{className:"inline-flex overflow-hidden rounded border border-slate-700",children:["3d","image"].map(H=>r.jsx("button",{type:"button",className:`px-1 py-0.5 ${n===H?"bg-slate-600 text-white":"bg-transparent text-slate-400 hover:text-white"}`,onClick:()=>i(H),children:H==="3d"?"3D":"Image"},H))}),r.jsx("button",{type:"button",className:"button-dark px-1 py-0.25",disabled:M,onClick:()=>B("kinect:requestPointCloud"),children:"Request 3D"}),r.jsx("button",{type:"button",className:"button-dark px-1 py-0.25",disabled:M,onClick:()=>B("kinect:requestColorImage"),children:"Request Image"})]});return r.jsxs(N1,{title:"Kinect Viewer",actions:A,bodyClassName:"space-y-0.5 p-0.5 text-sm",children:[r.jsx("div",{className:"aspect-[4/3] w-full overflow-hidden rounded bg-black",children:n==="3d"&&u?.buffer?r.jsx(BQ,{frame:u}):n==="3d"?r.jsx("div",{className:"flex h-full items-center justify-center text-center text-sm text-slate-400",children:"Request a 3D frame"}):d?r.jsx("img",{src:d,alt:"Kinect image",className:"h-full w-full object-contain"}):r.jsx("div",{className:"flex h-full items-center justify-center text-center text-sm text-slate-400",children:"Request an image"})}),C?r.jsx("p",{className:"m-0 break-words text-[0.7rem] text-red-300",children:String(C).toLowerCase()}):null]})}const FQ={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"turn:your.turn.server:3478",username:"user",credential:"pass"}],bundlePolicy:"max-bundle",rtcpMuxPolicy:"require"};function RQ(t){if(typeof btoa=="function")return btoa(t);if(typeof Buffer<"u")return Buffer.from(t).toString("base64");throw new Error("No base64 encoder available")}function EQ(t){if(!t)return{};const a=`${t}:${t}`;return{Authorization:`Basic ${RQ(a)}`}}class eo{constructor({url:a,token:n,video:i,onStatus:u,audioOnly:h=!1,receiveAudio:d=!0}){this.url=a,this.token=n,this.video=i,this.audioOnly=h,this.receiveAudio=d,this.pc=null,this.abortController=null,this.onStatus=u}notify(a,n){typeof this.onStatus=="function"&&this.onStatus(a,n)}configureVideoElement(){this.video&&(this.video.playsInline=!0,this.video.autoplay=!0,this.video.muted=!this.audioOnly,typeof this.video.disableRemotePlayback<"u"&&(this.video.disableRemotePlayback=!0),"latencyHint"in HTMLMediaElement.prototype&&(this.video.latencyHint="interactive"))}async start(){if(!this.url||!this.video)throw new Error("Media target missing");this.stop(),this.notify("connecting"),this.configureVideoElement(),this.abortController=new AbortController;const a=new RTCPeerConnection(FQ);this.pc=a;const n=new MediaStream;a.ontrack=i=>{i.streams[0]?.getTracks().forEach(u=>n.addTrack(u)),this.video.srcObject=n,i.track?.kind==="video"&&"playoutDelayHint"in i.receiver&&(i.receiver.playoutDelayHint=0)},this.audioOnly?a.addTransceiver("audio",{direction:"recvonly"}):(a.addTransceiver("video",{direction:"recvonly"}),this.receiveAudio&&a.addTransceiver("audio",{direction:"recvonly"})),a.onconnectionstatechange=()=>{this.notify(a.connectionState)},a.oniceconnectionstatechange=()=>{const i=a.iceConnectionState;(i==="failed"||i==="disconnected")&&this.notify(i)};try{const i=await a.createOffer({offerToReceiveAudio:this.audioOnly?!0:this.receiveAudio,offerToReceiveVideo:!this.audioOnly});await a.setLocalDescription(i);const u=await fetch(this.url,{method:"POST",headers:{"Content-Type":"application/sdp",...EQ(this.token)},body:i.sdp,signal:this.abortController.signal});if(!u.ok)throw new Error(`WHEP request failed: ${u.status}`);const h=await u.text();await a.setRemoteDescription({type:"answer",sdp:h}),a.getReceivers().forEach(d=>{"playoutDelayHint"in d&&(d.playoutDelayHint=0)}),await this.video.play().catch(()=>{}),this.notify("playing")}catch(i){throw this.notify("error",i.message),this.stop(),i}}stop(){this.abortController&&(this.abortController.abort(),this.abortController=null),this.pc&&(this.pc.getSenders().forEach(a=>a.track?.stop()),this.pc.getReceivers().forEach(a=>a.track?.stop()),this.pc.close(),this.pc=null),this.video&&(this.video.srcObject=null),this.notify("stopped")}}function TQ(t){if(!t)return null;if(typeof t=="string"){const a=String(t).trim();return a?{type:"rover",id:a,key:a}:null}if(typeof t=="object"){if(t.type&&t.id){const a=String(t.id);let n=t.key;return n||(n=t.type==="room"?`room:${a}`:a),{type:t.type,id:a,key:n}}if(t.roverId){const a=String(t.roverId);return{type:"rover",id:a,key:t.key||a}}if(t.roomCameraId){const a=String(t.roomCameraId);return{type:"room",id:a,key:t.key||`room:${a}`}}}return null}function _Q(t=[]){const a=new Set,n=[];return t.forEach(i=>{!i?.key||a.has(i.key)||(a.add(i.key),n.push(i))}),n.sort((i,u)=>i.key.localeCompare(u.key))}function aa(t=[],a={}){const n=N2(),{enabled:i=!0,version:u=null}=a,[h,d]=m.useState({}),v=m.useMemo(()=>Array.isArray(t)?_Q(t.map(TQ).filter(Boolean)):[],[t]),p=m.useMemo(()=>{const M=v.map(L=>`${L.type}:${L.id}:${L.key}`).join("|");return u?`${M}|v:${u}`:M},[v,u]),x=m.useRef([]),[g,b]=m.useState(0);return m.useEffect(()=>{if(!n)return;const M=()=>b(L=>L+1);return n.on("connect",M),()=>{n.off("connect",M)}},[n]),m.useEffect(()=>{x.current=v},[v]),m.useEffect(()=>{if(!p||!i){d({});return}const M=x.current;let L=!1;function S(C){const B=C.type==="room"?{roomCameraId:C.id}:{roverId:C.id};n.emit("video:request",B,(A={})=>{L||(A?.error&&x3("video_request_failed",{type:C.type,sourceId:C.id,reason:A.error},{key:`${C.type}:${C.id}:${A.error}`,throttleMs:60*1e3}),d(H=>({...H,[C.key]:A})))})}return M.forEach(C=>{S(C)}),()=>{L=!0}},[n,p,i,g]),m.useMemo(()=>{if(!p||!i)return{};const M={};return v.forEach(L=>{h[L.key]&&(M[L.key]=h[L.key])}),M},[p,h,v])}function Uh(t=[],a={}){const n=N2(),{enabled:i=!0,version:u=null}=a,[h,d]=m.useState({}),v=m.useRef(new Map),p=m.useMemo(()=>t.map(S=>typeof S=="string"?S:S.id).filter(Boolean),[t]),x=m.useMemo(()=>{const S=p.join("|");return u?`${S}|v:${u}`:S},[p,u]),g=m.useRef([]),[b,y]=m.useState(0),M=m.useRef(new Map),L=typeof window<"u"&&new URLSearchParams(window.location.search).has("debugSnapshots");return m.useEffect(()=>{if(!n)return;const S=()=>y(C=>C+1);return n.on("connect",S),()=>n.off("connect",S)},[n]),m.useEffect(()=>{g.current=p},[x,p]),m.useEffect(()=>{v.current.forEach(S=>URL.revokeObjectURL(S)),v.current.clear(),d({})},[x]),m.useEffect(()=>{if(!i){v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear(),d({});return}if(!g.current.length||!n)return;let S=!1;const C=g.current,B=(H={},j)=>{if(S||!H.id||!j)return;const _=j.byteLength??j.length??0,F=Date.now(),N=M.current.get(H.id)||{count:0,totalBytes:0,lastLogAt:0},V={count:N.count+1,totalBytes:N.totalBytes+_,lastLogAt:N.lastLogAt};if(L&&(!V.lastLogAt||F-V.lastLogAt>=1e4)){const D=V.count?V.totalBytes/V.count:0;console.log("[roverSnapshot]",H.id,`frame=${_}B`,`avg=${Math.round(D)}B`,`count=${V.count}`),V.lastLogAt=F}M.current.set(H.id,V);const R=new Blob([j],{type:"image/jpeg"}),q=URL.createObjectURL(R),$=v.current.get(H.id);$&&URL.revokeObjectURL($),v.current.set(H.id,q),d(D=>({...D,[H.id]:{status:"playing",ts:H.ts||Date.now(),error:null,objectUrl:q}}))},A=(H={})=>{S||!H.id||d(j=>({...j,[H.id]:{...j[H.id]||{},status:H.error?"error":j[H.id]?.status||"connecting",error:H.error||null,ts:H.ts||j[H.id]?.ts||null,objectUrl:j[H.id]?.objectUrl||null}}))};return n.on("roverSnapshot:frame",B),n.on("roverSnapshot:status",A),n.emit("roverSnapshot:subscribe",{ids:C},(H={})=>{H.error}),()=>{S=!0,n.emit("roverSnapshot:unsubscribe",{ids:C}),n.off("roverSnapshot:frame",B),n.off("roverSnapshot:status",A),v.current.forEach(H=>URL.revokeObjectURL(H)),v.current.clear()}},[n,x,i,b,L]),h}const co=2e3,qQ=3e3,DQ=3e3,OQ=40,UQ=1e3,Ih={none:"",grayscale:"grayscale(1) contrast(1.08)",greenscale:"grayscale(1) sepia(1) hue-rotate(70deg) saturate(2.2) brightness(0.95) contrast(1.1)"};function IQ(t){return Object.prototype.hasOwnProperty.call(Ih,t)?t:j0.colorFilter}function PQ(t){return!!(t?.media?.audioCapture?.enabled&&t?.media?.audioCapture?.publishUrl)}function G8({roverId:t=null,sessionInfo:a=null,audioSessionInfo:n=null,videoMode:i=null,snapshotFeed:u=null,label:h,forceMute:d=!1,sensors:v}){const p=o1(z1=>z1.session?.assignment?.roverId??null),x=t??p,g=o1(z1=>z1.session?.mode||null),b=o1(z1=>x&&Array.isArray(z1.session?.roster)&&z1.session.roster.find(q1=>String(q1.id)===String(x))||null),y=PQ(b),M=i?i==="whep":!0,L=y,S=m.useMemo(()=>x?[...M?[{type:"rover",id:x,key:x}]:[],...L?[{type:"rover",id:`${x}-audio`,key:`${x}-audio`}]:[]]:[],[x,M,L]),C=aa(S,{enabled:!!(x&&(M||L)),version:g}),B=a??(x&&C[x]||null),A=n??(x&&y&&C[`${x}-audio`]||null),H=Uh(x?[x]:[],{enabled:!!(x&&!B?.url),version:g}),j=u??(x&&H[x]||null),_=h||b?.name||(x?`Rover ${x}`:"Rover"),F=C6(x,Wg,Jg),N=v?{mainBrushCurrentMa:v?.mainBrushCurrentMa??0,mainBrushOvercurrent:!!v?.wheelOvercurrents?.mainBrush}:F,V=m.useRef(null),R=m.useRef(null),q=m.useRef(null),$=m.useRef(null),D=m.useRef(null),W=m.useRef(null),n1=m.useRef(null),Y=m.useRef(null),[E,I]=m.useState("idle"),[Z,t1]=m.useState(null),[h1,T]=m.useState("idle"),[O,K]=m.useState(null),[l1,m1]=m.useState(0),[v1,A1]=m.useState(0),[k1,R1]=m.useState(!0),O1=!!A?.url,Q1=i==="snapshot"||!i&&!B?.url,{value:P1}=I1("audio",y2),{value:h2}=I1("video",j0),r1=IQ(h2?.colorFilter),V1=Ih[r1],Z1=V1?{filter:V1}:void 0,D1=Number.isFinite(P1?.masterVolume)?P1.masterVolume:y2.masterVolume,b1=Number.isFinite(P1?.roverVolume)?P1.roverVolume:y2.roverVolume,L1=typeof P1?.mainBrushDuckEnabled=="boolean"?P1.mainBrushDuckEnabled:typeof P1?.autoLevelEnabled=="boolean"?P1.autoLevelEnabled:y2.mainBrushDuckEnabled,x1=Number.isFinite(P1?.mainBrushDuckAmount)?Math.max(0,Math.min(1,P1.mainBrushDuckAmount)):y2.mainBrushDuckAmount,C1=Math.max(0,Math.min(1,D1*b1)),g1=!!((Number(N?.mainBrushCurrentMa)||0)>OQ||N?.mainBrushOvercurrent),T1=L1&&g1?1-x1:1,c1=Math.max(0,Math.min(1,C1*T1)),M1=m.useMemo(()=>typeof window>"u"?!1:new URLSearchParams(window.location.search).has("debugAudio"),[]),y1=m.useRef({hasDedicatedAudio:!1,audioUrl:null,mainBrushDuckEnabled:!1,mainBrushDuckAmount:0,mainBrushActive:!1,baseRoverGain:0,effectiveRoverGain:0});m.useEffect(()=>{y1.current={hasDedicatedAudio:O1,audioUrl:A?.url||null,mainBrushDuckEnabled:L1,mainBrushDuckAmount:x1,mainBrushActive:g1,baseRoverGain:C1,effectiveRoverGain:c1}},[O1,A?.url,L1,x1,g1,C1,c1]);const j1=m.useCallback((z1,q1={})=>{if(!M1)return;const o2=R.current,t2=y1.current,e2={event:z1,ts:Date.now(),roverLabel:_||null,hasDedicatedAudio:t2.hasDedicatedAudio,audioUrl:t2.audioUrl,mainBrushDuckEnabled:t2.mainBrushDuckEnabled,mainBrushDuckAmount:t2.mainBrushDuckAmount,mainBrushActive:t2.mainBrushActive,baseRoverGain:t2.baseRoverGain,effectiveRoverGain:t2.effectiveRoverGain,element:o2?{muted:o2.muted,volume:o2.volume,paused:o2.paused,ended:o2.ended,readyState:o2.readyState,networkState:o2.networkState}:null,...q1};try{console.log(`[AudioDebug] ${z1} ${JSON.stringify(e2)}`)}catch{console.log("[AudioDebug]",z1,e2)}},[M1,_]);m.useEffect(()=>{j1("settings/update")},[j1]);const r2=m.useCallback(()=>{clearTimeout(q.current),q.current=setTimeout(()=>m1(Date.now()),co)},[]),d1=m.useCallback(()=>{clearTimeout($.current),$.current=setTimeout(()=>A1(Date.now()),co)},[]),p1=m.useCallback(async()=>{const z1=V.current;if(z1)try{z1.muted=!0,await z1.play()}catch{}},[]),J1=m.useCallback((z1=0)=>{if(d||O1)return;clearTimeout(W.current);const q1=()=>{clearTimeout(W.current),W.current=setTimeout(()=>{d||o2()},qQ)},o2=async()=>{const t2=V.current;if(t2)try{await p1(),t2.muted=!1,await t2.play(),R1(!1)}catch{t2.muted=!0,R1(!0),q1()}};W.current=setTimeout(o2,z1)},[p1,d,O1]);m.useEffect(()=>()=>{clearTimeout(q.current),clearTimeout($.current),clearTimeout(W.current),clearInterval(D.current),n1.current&&(cancelAnimationFrame(n1.current),n1.current=null)},[]),m.useEffect(()=>{E==="playing"&&J1(0)},[E,J1]),m.useEffect(()=>{Q1&&(I("snapshot"),t1(null))},[Q1]),m.useEffect(()=>{if(Q1||!B?.url||!V.current)return;let z1=!0,q1;const o2=setTimeout(()=>R1(!0),0),t2=(e2,U2)=>{z1&&(j1("video/status",{nextStatus:e2,info:U2||null}),I(e2),t1(U2||null),e2==="playing"&&p1(),["error","failed","disconnected","closed"].includes(e2)&&(x3("whep_player_error",{roverId:x,status:e2,detail:U2||""},{key:`${x||"unknown"}:${e2}:${U2||""}`,throttleMs:60*1e3}),r2()))};return q1=new eo({url:B.url,token:B.token,video:V.current,receiveAudio:!O1,onStatus:t2}),q1.start().catch(e2=>{z1&&(I("error"),t1(e2.message),x3("whep_player_error",{roverId:x,status:"start_failed",detail:e2.message},{key:`${x||"unknown"}:start_failed:${e2.message}`,throttleMs:60*1e3}),r2())}),()=>{z1=!1,clearTimeout(o2),q1?.stop()}},[Q1,B?.url,B?.token,l1,r2,p1,O1,j1,x]),m.useEffect(()=>{E==="stopped"&&B?.url&&r2()},[E,B?.url,r2]),m.useEffect(()=>{const z1=R.current;if(!z1||!A?.url){j1("route/no-audio-url"),Y.current=null;return}const q1=Math.max(0,Math.min(1,c1)),o2=Y.current==null?Math.max(0,Math.min(1,z1.volume)):Y.current;if(n1.current&&(cancelAnimationFrame(n1.current),n1.current=null),q1>o2){const t2=performance.now(),e2=o2,U2=q1-e2,W2=I2=>{const C2=Math.min(1,(I2-t2)/UQ),F4=e2+U2*C2;z1.volume=F4,Y.current=F4,C2<1?n1.current=requestAnimationFrame(W2):n1.current=null};n1.current=requestAnimationFrame(W2)}else z1.volume=q1,Y.current=q1;j1("route/direct",{elementVolume:q1,duckEnabled:L1,mainBrushActive:g1,duckAmount:x1})},[A?.url,c1,L1,g1,x1,j1]),m.useEffect(()=>{if(!A?.url||!R.current)return;let z1=!0,q1;const o2=(t2,e2)=>{z1&&(j1("audio/status",{nextStatus:t2,info:e2||null}),T(t2),K(e2||null),["error","failed"].includes(t2)&&d1())};return q1=new eo({url:A.url,token:A.token,video:R.current,audioOnly:!0,onStatus:o2}),q1.start().catch(t2=>{z1&&(T("error"),K(t2.message),d1())}),()=>{z1=!1,q1?.stop()}},[A?.url,A?.token,v1,d1,j1]),m.useEffect(()=>{const z1=R.current;if(!A?.url||!z1){clearInterval(D.current);return}if(!["connecting","connected","playing","paused"].includes(h1)){clearInterval(D.current);return}const o2=async()=>{const t2=R.current;t2&&(t2.muted=!1,!(!t2.paused&&!t2.ended)&&(j1("retry/play-attempt"),t2.play().then(()=>{j1("retry/play-ok"),T(e2=>["error","failed","disconnected","closed"].includes(e2)?e2:"playing"),K(null)}).catch(e2=>{j1("retry/play-fail",{error:e2?.message}),K(U2=>U2||e2?.message||"autoplay blocked")})))};return o2(),D.current=setInterval(o2,DQ),()=>clearInterval(D.current)},[A?.url,h1,j1]),m.useEffect(()=>{const z1=R.current;if(!z1)return;const q1=()=>{j1("element/play"),T(C2=>C2==="error"?C2:"playing"),K(null)},o2=()=>{j1("element/pause"),T(C2=>["error","failed","disconnected","closed","stopped"].includes(C2)?C2:"paused"),K(C2=>C2||"paused")},t2=()=>{j1("element/ended"),T(C2=>C2==="error"?C2:"stopped"),K(C2=>C2||"ended")},e2=()=>{const{error:C2}=z1,F4=C2?.message||"audio error";j1("element/error",{error:F4}),T("error"),K(F4)},U2=()=>j1("element/waiting"),W2=()=>j1("element/canplay"),I2=()=>j1("element/stalled");return z1.addEventListener("play",q1),z1.addEventListener("pause",o2),z1.addEventListener("ended",t2),z1.addEventListener("error",e2),z1.addEventListener("waiting",U2),z1.addEventListener("canplay",W2),z1.addEventListener("stalled",I2),()=>{z1.removeEventListener("play",q1),z1.removeEventListener("pause",o2),z1.removeEventListener("ended",t2),z1.removeEventListener("error",e2),z1.removeEventListener("waiting",U2),z1.removeEventListener("canplay",W2),z1.removeEventListener("stalled",I2)}},[A?.url,j1]);const f1=j?.error?`Error: ${j.error}`:j?.objectUrl?"snapshot":j?.status||"waiting",w1=Q1?f1:B?.url?E==="error"?`Error: ${Z||"unknown"}`:Z?`${E} (${Z})`:E:"waiting",S1=A?.error?`Error: ${A.error}`:A?.url?h1==="error"?`Error: ${O||"unknown"}`:O?`${h1} (${O})`:h1:"waiting",$1=!Q1&&!B?.error&&E!=="playing";return r.jsxs(r.Fragment,{children:[Q1?j?.objectUrl?r.jsx("img",{src:j.objectUrl,alt:_,className:"h-full w-full object-contain",style:Z1,draggable:!1}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-300",children:"Waiting for frame…"}):r.jsx("video",{ref:V,muted:d||k1||O1,playsInline:!0,autoPlay:!0,controls:!1,className:"h-full w-full object-contain",style:Z1}),$1?r.jsx("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/45",children:r.jsx("div",{className:"rounded border border-slate-500/70 bg-black/70 px-3 py-1 text-sm font-semibold text-slate-100",children:"Connecting to video...."})}):null,r.jsx("audio",{ref:R,autoPlay:!0,hidden:!0}),r.jsx("div",{className:"pointer-events-none absolute left-1 top-1 z-20 font-medium text-slate-100 text-[0.65rem]",children:r.jsxs("div",{className:"flex flex-col gap-0.5 leading-none",children:[r.jsxs("span",{children:["Status: ",w1]}),S1?r.jsxs("span",{children:["Audio: ",S1]}):null]})})]})}function $Q(t){const a=o1(F=>F.session?.mode||null),n=o1(F=>F.session?.roster??[]),i=o1(F=>F.session?.users??[]),u=o1(F=>F.session?.turnQueues??{}),h=o1(F=>F.session?.socketId||null),d=o1(F=>F.session?.activeDrivers??{}),v=a==="turns",p=e5(1e3,v),x=t&&u?.[t]||null,g=t&&d?.[t]||null,b=!!(h&&g===h),y=m.useMemo(()=>{const F=x?.queue||[];if(!F.length||!x?.current||F.length<=1)return null;const N=F.findIndex(V=>V===x.current);return N===-1?F[0]||null:F[(N+1)%F.length]||null},[x]),M=!!(h&&y===h),L=x?.deadline||null,S=L?L-p:null,C=n.length,B=m.useMemo(()=>{const F=new Set;return i.forEach(N=>{if(String(N?.role||"")==="spectator")return;const R=String(N?.roverId||"").trim(),q=String(N?.socketId||"").trim();!R||!q||F.add(q)}),F.size},[i]),A=v&&B>C,H=v&&M&&S!=null&&S<=5e3&&S>0;return v&&!b&&!H&&A?"snapshot":null}function ZQ(t){const a=t?.session?.socials;return Array.isArray(a)?a:[]}function GQ(t,a){const n=String(a||"").trim().toLowerCase();return n&&ZQ(t).find(i=>String(i?.id||i?.label||"").trim().toLowerCase()===n)||null}function YQ(t){if(typeof t!="string")return null;const a=t.trim();return a&&(/^#[0-9a-fA-F]{3,8}$/.test(a)||/^(rgb|rgba|hsl|hsla)\([^)]+\)$/.test(a))?a:null}function KQ(t){if(typeof t!="string"||!t.trim())return Zc;const a=_Y[t.trim()];return typeof a=="function"?a:Zc}function He({id:t=null,label:a,url:n,icon:i,color:u,layout:h="stacked",className:d=""}){const v=o1(S=>t?GQ(S,t):null),p=n||v?.url||null;if(!p)return null;const x=i||v?.icon||null,g=u||v?.color||null,b=KQ(x),y=YQ(g),M=a||v?.label||"Link",L=h==="inline";return r.jsx("a",{href:p,target:"_blank",rel:"noopener noreferrer","aria-label":M,onClick:()=>{u1("social_link_click",{id:t||"",label:M,layout:h}),t==="discord"&&u1("discord_click",{layout:h})},className:`grid h-full min-h-0 w-full place-items-center rounded-md bg-slate-700 px-0.5 ${L?"py-0.5":"pb-3"} text-center text-sm font-medium text-white transition hover:opacity-90 ${d}`,style:y?{backgroundColor:y}:void 0,children:L?r.jsxs("span",{className:"inline-flex max-w-full items-center justify-center gap-1 text-center leading-tight",children:[r.jsx(b,{className:"shrink-0",style:{fontSize:"1.1em"}}),r.jsx("span",{className:"break-words",children:M})]}):r.jsxs("span",{className:"flex h-full w-full max-w-full flex-col items-center justify-between text-center leading-tight",children:[r.jsx("span",{className:"flex min-h-0 flex-1 items-center justify-center",children:r.jsx(b,{className:"shrink-0",style:{fontSize:"clamp(1rem, 2.2vh + 1.2vw, 2rem)"}})}),r.jsx("span",{className:"w-full break-words leading-tight",children:M})]})})}function QQ({roverId:t=null,mobileHud:a=!1}){const n=o1(r1=>r1.session?.assignment?.roverId??null),i=t??n,u=o1(r1=>r1.session?.mode||null),h=o1(r1=>r1.session?.roster??[]),d=o1(r1=>r1.session?.users??[]),v=o1(r1=>r1.session?.turnQueues??{}),p=o1(r1=>r1.session?.socketId||null),x=o1(r1=>r1.session?.activeDrivers??{}),g=_1(r1=>r1.state.lastControlIntentAt),[b,y]=m.useState(!1),[M,L]=m.useState(null),[S,C]=m.useState(!1),[B,A]=m.useState(0),H=m.useRef({initialized:!1,roverId:null,activeDriverId:null}),j=m.useRef(g||0),_=a?"text-[0.5rem]":"text-[0.7rem]",F=a?"px-0.5 py-0.25":"px-1 py-0.5",N=a?"text-3xl":"text-5xl",V=a?"text-xs":"text-sm",R=a?"text-[0.55rem]":"text-[0.75rem]",q=a?"px-4 py-3":"px-6 py-4",$=i?v?.[i]:null,D=i?x?.[i]:null,W=!!(p&&D===p),n1=u==="turns",Y=e5(1e3,n1),E=m.useMemo(()=>{const r1=$?.queue||[];if(!r1.length||!$?.current||r1.length<=1)return null;const V1=r1.findIndex(Z1=>Z1===$.current);return V1===-1?r1[0]||null:r1[(V1+1)%r1.length]||null},[$]),I=!!(p&&E===p),Z=$?.deadline||null,t1=$?.idleDeadline||null,h1=Z?Z-Y:null,T=t1?t1-Y:null,O=h.length,K=m.useMemo(()=>{const r1=new Set;return d.forEach(V1=>{if(String(V1?.role||"")==="spectator")return;const D1=String(V1?.roverId||"").trim(),b1=String(V1?.socketId||"").trim();!D1||!b1||r1.add(b1)}),r1.size},[d]),l1=n1&&K>O,m1=n1&&I&&h1!=null&&h1<=5e3&&h1>0,v1=n1&&!W,A1=v1&&!m1&&l1,k1=h1!=null&&Number.isFinite(h1)?Math.max(0,Math.ceil(h1/1e3)):null,R1=T!=null&&Number.isFinite(T)?Math.max(0,Math.ceil(T/1e3)):null,O1=m.useMemo(()=>!n1||!W?null:k1!=null?`${k1}s left`:"Your turn",[n1,W,k1]),Q1=m.useMemo(()=>!v1||!I||k1==null?null:`${k1} seconds until your turn.`,[v1,I,k1]),P1=W&&typeof R1=="number",h2=S;return m.useEffect(()=>{if(u!=="turns"){y(!1),L(null),H.current={initialized:!1,roverId:null,activeDriverId:null};return}const r1=H.current,V1=D||null;if(!p||!i){y(!1),L(null),H.current={initialized:!1,roverId:null,activeDriverId:null};return}if(!r1.initialized||r1.roverId!==i){H.current={initialized:!0,roverId:i,activeDriverId:V1};return}!!r1.activeDriverId&&r1.activeDriverId!==p&&V1===p?(y(!0),L(Date.now())):V1!==p&&b&&(y(!1),L(null)),H.current={initialized:!0,roverId:i,activeDriverId:V1}},[D,u,i,p,b]),m.useEffect(()=>{!b||!M||g>M&&y(!1)},[g,b,M]),m.useEffect(()=>{const r1=Number(j.current)||0,V1=Number(g)||0;V1>r1&&v1&&A(Date.now()),j.current=V1},[g,v1]),m.useEffect(()=>{if(!v1||!B)return;C(!0);const r1=setTimeout(()=>C(!1),650);return()=>clearTimeout(r1)},[v1,B]),r.jsxs(r.Fragment,{children:[b?r.jsx("div",{className:"pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-black/55",children:r.jsxs("div",{className:`flex flex-col items-center gap-0.5 rounded border border-amber-300/80 bg-black/70 ${q}`,children:[r.jsx("div",{className:`font-semibold text-amber-200 ${N}`,children:"IT IS YOUR TURN!"}),r.jsx("div",{className:`text-amber-200/80 ${V}`,children:"Start driving!"}),P1?r.jsxs("div",{className:`text-red-100/90 ${R}`,children:["Idle skip in ",R1,"s"]}):null]})}):null,O1?r.jsx("div",{className:`pointer-events-none absolute bottom-1 left-1 rounded border ${h2?"border-red-300/90 bg-red-900/80 text-red-100":"border-amber-300/80 bg-black/75 text-amber-200"} ${F} ${_}`,children:O1}):null,v1?r.jsx("div",{className:"pointer-events-none absolute bottom-1 left-1 z-40",children:r.jsxs("div",{className:`w-fit rounded border ${S?"border-red-300/90 bg-red-900/80 text-red-100":"border-amber-300/80 bg-black/75 text-amber-200"} ${a?"px-2 py-1 text-[0.6rem]":"px-3 py-1.5 text-sm"}`,children:[r.jsx("div",{className:S?"text-[0.82rem] font-semibold text-red-50":"text-[0.82rem] font-semibold text-white",children:"Not your turn to drive!"}),Q1?r.jsx("div",{className:S?"text-red-100/95":"text-amber-100",children:Q1}):null,A1?r.jsx("div",{className:S?"text-red-100/90":"text-amber-200/85",children:"Video switched to preview mode to save bandwidth."}):null,r.jsx("div",{className:"pointer-events-auto mt-0.5",children:r.jsx(He,{id:"discord",label:"Join our Discord while you wait!",layout:"inline"})})]})}):null]})}const XQ=s2.memo(QQ);function Ph(){const{value:t,save:a}=I1("page",{hudMapDesktop:!1});return[!!t?.hudMapDesktop,u=>{a({hudMapDesktop:!!u})}]}function ao({variant:t="default",label:a,roverColor:n=null,driverLabel:i=null,mobileHud:u=!1,labelScale:h=1}){const d=u?"px-0.25 py-0.25":"px-0.5 py-0.5",v=u?"text-[0.55rem]":"text-[0.8rem]",p="bottom-0.5",x={transform:`translateX(-50%) scale(${h})`,transformOrigin:"center bottom"};return t==="spectator"?r.jsx("div",{className:`absolute ${p} left-1/2`,style:x,children:r.jsxs("div",{className:`flex items-center gap-0.5 bg-black/80 text-slate-100 ${d} ${v}`,children:[r.jsx(j4,{name:a,color:n}),i?r.jsxs("span",{className:"text-slate-300",children:["• ",i]}):null]})}):r.jsx("div",{className:`absolute ${p} left-1/2`,style:x,children:r.jsx("div",{className:`flex gap-0.5 bg-black/80 text-slate-100 ${d} ${v}`,children:r.jsx(j4,{name:a,color:n})})})}function WQ({sensors:t,telemetry:a=null,mobileHud:n=!1}){const i=a?.voltageMv??t?.voltageMv??null,u=a?.currentMa??t?.currentMa??null,h=a?.batteryChargeMah??t?.batteryChargeMah??null,d=a?.oiModeLabel??t?.oiMode?.label??"Unknown",v=a?.homeBase??!!t?.chargingSources?.homeBase,p=a?.chargingStateLabel??t?.chargingState?.label??"",x=n?"px-0.25 py-0.25":"px-1 py-0.5",g=n?"left-0.5 top-1/2":"left-1 top-1/2",b=n?"text-[0.45rem]":"text-[0.65rem]",y=[["Voltage",i!=null?`${(i/1e3).toFixed(2)} V`:"--"],["Current",u!=null?`${u} mA`:"--"],["Charge",h!=null?`${h}`:"--"],["OI",d||"--"]],M=!!(p&&p.toLowerCase()!=="not charging"),L=d.toLowerCase(),S=L==="full"?"bg-emerald-500/80 text-emerald-50":L==="safe"?"bg-amber-400/80 text-amber-950":L==="passive"?"bg-slate-700/80 text-slate-100":"bg-slate-700/60 text-slate-200",C=v?"bg-emerald-500/80 text-emerald-50":"bg-slate-700/70 text-slate-200",B=M?"bg-emerald-500/80 text-emerald-50":v?"bg-amber-400/80 text-amber-950":"bg-slate-700/70 text-slate-200";return r.jsx("div",{className:`absolute ${g} flex -translate-y-1/2 flex-col gap-0.5 bg-black/70 text-slate-100 ${b} ${x}`,children:r.jsxs("div",{className:"space-y-0.5 leading-tight",children:[r.jsxs("div",{className:"flex flex-col gap-0.5 text-[0.75rem] font-semibold uppercase tracking-wide",children:[r.jsx("span",{className:`rounded px-1.5 py-0.5 ${C}`,children:v?"Docked":"Undocked"}),r.jsx("span",{className:`rounded px-1.5 py-0.5 ${B}`,children:M?"Charging":"Not charging"}),r.jsxs("span",{className:`rounded px-1.5 py-0.5 ${S}`,children:["OI: ",d]})]}),y.map(([A,H])=>r.jsxs("span",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{className:"text-slate-400",children:A}),r.jsx("span",{className:"font-semibold text-white",children:H})]},A))]})})}function F0(t){return Math.max(0,Math.min(1,t))}function $h(t){return(t-90)*Math.PI/180}function D8(t,a,n,i){const u=$h(i);return{x:t+n*Math.cos(u),y:a+n*Math.sin(u)}}function na(t,a,n,i,u){let h=i,d=u;d<=h&&(d+=360);const v=D8(t,a,n,h),p=D8(t,a,n,d);return["M",v.x,v.y,"A",n,n,0,0,1,p.x,p.y].join(" ")}function Pa(t,a){if(a)return"#ef4444";const n=Math.abs(t);return n>900?"#f59e0b":n>300?"#22c55e":"#64748b"}function JQ(t,a){if(t==null||t<=0)return"hsl(200 60% 18%)";const i=F0(t/(a||1));return`hsl(${(200+Math.pow(i,.45)*360)%360} 100% 60%)`}function tX({count:t,totalSpan:a,gap:n,startAngle:i}){const h=(a-n*(t-1))/t,d=[];let v=i;for(let p=0;pna(a,n,g,h,d),[a,n,d,g,h]);return r.jsxs(r.Fragment,{children:[r.jsx("path",{d:y,stroke:v,strokeWidth:b,strokeLinecap:"round",fill:"none",opacity:x}),p?r.jsx("path",{d:y,stroke:"#ef4444",strokeWidth:b,strokeLinecap:"round",fill:"none",className:"animate-pulse",opacity:1}):null]})}),eX=s2.memo(function({cx:a,cy:n,rInner:i,rOuter:u,startDeg:h,endDeg:d,percent:v,backgroundColor:p,fillColor:x,fillFromEnd:g=!1}){const b=F0(v??0),y=(i+u)/2,M=u-i,L=m.useMemo(()=>na(a,n,y,h,d),[a,n,d,y,h]),S=m.useMemo(()=>{const B=(d-h)*b,A=g?d-B:h,H=g?d:h+B;return na(a,n,y,A,H)},[a,n,d,g,y,b,h]);return r.jsxs(r.Fragment,{children:[r.jsx("path",{d:L,stroke:p,strokeWidth:M,strokeLinecap:"round",fill:"none",opacity:"0.95"}),b>0?r.jsx("path",{d:S,stroke:x,strokeWidth:M,strokeLinecap:"round",fill:"none",opacity:"1"}):null]})}),cX=s2.memo(function({cx:a,cy:n,rBase:i,rTip:u,startDeg:h,endDeg:d,color:v,value:p,max:x}){const g=(h+d)/2,b=F0(p!=null?p/(x||1):0),y=Math.pow(b,.35),M=i-(i-u)*y,L=Math.max(u,Math.min(M,i)),S=m.useMemo(()=>{const C=D8(a,n,u,g),B=D8(a,n,L,h),A=D8(a,n,L,d);return`M ${C.x} ${C.y} L ${B.x} ${B.y} L ${A.x} ${A.y} Z`},[L,a,n,d,g,u,h]);return r.jsx("path",{d:S,fill:v,opacity:1,stroke:"none"})}),ro=s2.memo(function({cx:a,cy:n,current:i,drop:u,overcurrent:h,label:d}){const v=Math.abs(i),p=F0(v/1200),x=Pa(i,h),g=56,b=14,y=9,M=3,L=g*p,S=d==="L"?-1:1,C=S*(-y/2-M/2),B=S*(b/2+M/2),A=d==="L"?-90:90,H=b+y+M+2,j=g+4;return r.jsxs("g",{transform:`translate(${a},${n})`,children:[r.jsx("rect",{x:-H/2,y:-j/2,width:H,height:j,rx:"4",fill:"none",stroke:"#64748b",strokeWidth:"1"}),r.jsx("rect",{x:C-b/2,y:-g/2,width:b,height:g,fill:"#0f172a",stroke:"#0f172a",strokeWidth:"1",rx:"2"}),r.jsx("rect",{x:C-b/2,y:g/2-L,width:b,height:L,fill:x,className:h?"animate-pulse":""}),r.jsx("rect",{x:B-y/2,y:-g/2,width:y,height:g,fill:u?"#ef4444":"#475569",className:u?"animate-pulse":"",rx:"2"}),u?r.jsx("text",{x:B,y:0,textAnchor:"middle",dominantBaseline:"central",transform:`rotate(${A} ${B} 0)`,className:"pointer-events-none fill-white text-[0.48rem] font-bold",children:"Dropped"}):null,r.jsx("text",{x:0,y:g/2+10,textAnchor:"middle",className:"fill-slate-200 text-[0.7rem]",children:d})]})}),aX=s2.memo(function({cx:a,cy:n,current:i,overcurrent:u}){let h=Math.abs(i);h<10&&(h=0);const d=Pa(i*3,u),v=43,p=h>0?.65:null;return r.jsxs("g",{style:{transformOrigin:`${a}px ${n}px`,animation:p?`spin ${p}s linear infinite`:"none",animationDirection:p?"reverse":"normal"},children:[r.jsx("circle",{cx:a,cy:n,r:10,fill:"#64748b",stroke:"#64748b",strokeWidth:"1"}),[0,120,240].map(g=>{const b=$h(g),y=a+v*Math.cos(b),M=n+v*Math.sin(b);return r.jsx("line",{x1:a,y1:n,x2:y,y2:M,stroke:d,strokeWidth:"4",strokeLinecap:"round"},g)}),u?r.jsx("circle",{cx:a,cy:n,r:v+8,stroke:"#ef4444",strokeWidth:"3",fill:"none",className:"animate-pulse"}):null]})}),lo=s2.memo(function({x:a,y:n,width:i,height:u,label:h,valueText:d,percent:v,color:p="#38bdf8",missing:x=!1}){const g=F0(v??0),b=i*g;return r.jsxs("g",{transform:`translate(${a},${n})`,children:[r.jsx("rect",{width:i,height:u,rx:"4",fill:"#020617",opacity:"0.9",stroke:"#334155",strokeWidth:"1"}),r.jsx("rect",{x:"2",y:u-5,width:i-4,height:"3",rx:"1.5",fill:"#1e293b"}),r.jsx("rect",{x:"2",y:u-5,width:Math.max(0,b-4),height:"3",rx:"1.5",fill:x?"#475569":p}),r.jsx("text",{x:"5",y:"9",className:"fill-slate-400 text-[0.48rem] font-semibold",children:h}),r.jsx("text",{x:i-5,y:"10",textAnchor:"end",className:"fill-slate-100 text-[0.55rem] font-semibold",children:d})]})});s2.memo(function({x:a,y:n,width:i,height:u,bytes:h}){const d=Array.isArray(h)?h:[],v=d.length,p=0,x=v>0?Math.max(.8,(i-p*(v-1))/v):i;return r.jsx("g",{transform:`translate(${a},${n})`,opacity:"0.72",children:d.map((g,b)=>{const M=(Number.isFinite(g)?Math.max(0,Math.min(255,g)):0)/255,L=2+M*(u-5),S=Math.round(M*300+35),C=b*(x+p),B=u-2-L;return r.jsx("rect",{x:C+1,y:B,width:Math.max(.6,x),height:L,rx:"0.8",fill:`hsl(${S} 95% 58%)`},b)})})});const nX=s2.memo(function({cx:a,cy:n,current:i,overcurrent:u,variant:h,dirtLeft:d,dirtRight:v}){const p=Math.abs(i),x=Pa(i,u),g=1,b=96,y=12,M=`main-brush-pattern-a-${h}`,L=`main-brush-pattern-b-${h}`,S=p>0?.6:null,C=i>=0?1:-1,B=(A,H,j)=>{const _=Number.isFinite(Number(j))?Math.max(0,Number(j)):0,N=2.5+F0(_/80)*5.5,V=_>0?"#fbbf24":"#475569",R=_>0?"#fde68a":"#1e293b";return r.jsx("circle",{cx:A,cy:H,r:N,fill:V,stroke:R,strokeWidth:"1",opacity:_>0?.95:.45,className:_>0?"animate-pulse":""})};return r.jsxs("g",{children:[r.jsx("defs",{children:[M,L].map((A,H)=>r.jsxs("pattern",{id:A,patternUnits:"userSpaceOnUse",width:"6",height:"6",children:[r.jsx("rect",{width:"6",height:"6",fill:x,opacity:g}),r.jsx("path",{d:"M0 6 L6 0",stroke:"#0f172a",strokeWidth:"1"}),S?r.jsx("animateTransform",{attributeName:"patternTransform",type:"translate",from:"0 0",to:`0 ${C*(H===0?6:-6)}`,dur:`${S}s`,repeatCount:"indefinite"}):null]},A))}),r.jsx("rect",{x:a-b/2,y:n-14,width:b,height:y,rx:"3",fill:`url(#${M})`,stroke:"#64748b",strokeWidth:"1"}),r.jsx("rect",{x:a-b/2,y:n+4,width:b,height:y,rx:"3",fill:`url(#${L})`,stroke:"#64748b",strokeWidth:"1"}),B(a-b/4,n-8,d),B(a+b/4,n+8,v),u?r.jsx("rect",{x:a-b/2-4,y:n-16,width:b+8,height:y*2+16,rx:"6",stroke:"#ef4444",strokeWidth:"3",fill:"none",className:"animate-pulse"}):null]})});function Z2(t,a=null){return t==null||!Number.isFinite(Number(t))?a:Number(t)}function S6(t,a,n,i){const u=K3(a?null:t,n,i);return a?n({sensors:a}):u}const rX=Object.freeze({bumpLeft:!1,bumpRight:!1});function lX(t){const a=t?.sensors;if(!a)return rX;const n=a.bumpsAndWheelDrops||{};return{bumpLeft:!!n.bumpLeft,bumpRight:!!n.bumpRight}}function iX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,lX,k4),u=6,h=i.bumpLeft?u:0,d=i.bumpRight?u:0;return r.jsxs(r.Fragment,{children:[r.jsx(no,{cx:n.centerX,cy:n.centerY,rInner:n.lightRingInner-h,rOuter:n.lightRingOuter-h,startDeg:-70,endDeg:-6,color:i.bumpLeft?"#ef4444":"#475569",opacity:1,pulse:!!i.bumpLeft}),r.jsx(no,{cx:n.centerX,cy:n.centerY,rInner:n.lightRingInner-d,rOuter:n.lightRingOuter-d,startDeg:6,endDeg:70,color:i.bumpRight?"#ef4444":"#475569",opacity:1,pulse:!!i.bumpRight})]})}const sX=s2.memo(iX),oX=Object.freeze({cliffLeftSignal:null,cliffFrontLeftSignal:null,cliffFrontRightSignal:null,cliffRightSignal:null,cliffLeft:!1,cliffFrontLeft:!1,cliffFrontRight:!1,cliffRight:!1});function uX(t){const a=t?.sensors;return a?{cliffLeftSignal:Z2(a.cliffLeftSignal),cliffFrontLeftSignal:Z2(a.cliffFrontLeftSignal),cliffFrontRightSignal:Z2(a.cliffFrontRightSignal),cliffRightSignal:Z2(a.cliffRightSignal),cliffLeft:!!a.cliffLeft,cliffFrontLeft:!!a.cliffFrontLeft,cliffFrontRight:!!a.cliffFrontRight,cliffRight:!!a.cliffRight}:oX}function hX(t){return t==null||!Number.isFinite(Number(t))?0:Math.max(0,Math.min(1,Number(t)/4095))}function dX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,uX,k4);return r.jsx(r.Fragment,{children:n.cliffSegments.map(u=>r.jsx(eX,{cx:n.centerX,cy:n.centerY,rInner:n.cliffRingInner,rOuter:n.cliffRingOuter,startDeg:u.start,endDeg:u.end,percent:hX(i[u.valueKey]),backgroundColor:i[u.activeKey]?"#7f1d1d":"#334155",fillColor:i[u.activeKey]?"#fbbf24":"#f59e0b",fillFromEnd:u.fillFromEnd},u.label))})}const fX=s2.memo(dX),mX=Object.freeze({voltageMv:null,currentMa:null,chargingStateLabel:""});function vX(t){const a=t?.sensors;return a?{voltageMv:Z2(a.voltageMv),currentMa:Z2(a.currentMa),chargingStateLabel:a.chargingState?.label||""}:mX}function pX(t){return t==null||!Number.isFinite(Number(t))?"--.-V":`${(Number(t)/1e3).toFixed(1)}V`}function gX(t){if(t==null||!Number.isFinite(Number(t)))return"---mA";const a=Number(t);return`${a>0?"+":""}${Math.round(a)}mA`}function xX(t){return t==null||!Number.isFinite(Number(t))?0:Zh((Number(t)-12e3)/5e3)}function zX(t){return t==null||!Number.isFinite(Number(t))?0:Zh(Math.abs(Number(t))/2500)}function Zh(t){return Math.max(0,Math.min(1,t))}function bX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,vX,k4);return r.jsxs(r.Fragment,{children:[r.jsx(lo,{x:n.voltageReadout.x,y:n.voltageReadout.y,width:n.voltageReadout.width,height:n.voltageReadout.height,label:i.chargingStateLabel||"unknown",valueText:pX(i.voltageMv),percent:xX(i.voltageMv),color:"#38bdf8",missing:i.voltageMv==null}),r.jsx(lo,{x:n.currentReadout.x,y:n.currentReadout.y,width:n.currentReadout.width,height:n.currentReadout.height,label:"current",valueText:gX(i.currentMa),percent:zX(i.currentMa),color:Number(i.currentMa)<0?"#f59e0b":"#22c55e",missing:i.currentMa==null})]})}const yX=s2.memo(bX),MX=Object.freeze([null,null,null,null,null,null]);function wX(t){const a=t?.sensors;return a?[Z2(a.lightBumpLeftSignal),Z2(a.lightBumpFrontLeftSignal),Z2(a.lightBumpCenterLeftSignal),Z2(a.lightBumpCenterRightSignal),Z2(a.lightBumpFrontRightSignal),Z2(a.lightBumpRightSignal)]:MX}function CX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,wX,Zu),u=i.filter(d=>d!=null),h=u.length?Math.max(...u,1200):1200;return r.jsx(r.Fragment,{children:n.lightSegments.map((d,v)=>{const p=i[v],x=JQ(p,h),g=n.lightRingOuter+4,b=g+28;return r.jsx(cX,{cx:n.centerX,cy:n.centerY,rBase:b,rTip:g,startDeg:d.start,endDeg:d.end,color:x,value:p,max:h},d.label)})})}const SX=s2.memo(CX),HX=Object.freeze({mainBrushCurrentMa:0,mainBrushOvercurrent:!1,dirtDetectLeft:null,dirtDetect:null});function AX(t){const a=t?.sensors;return a?{mainBrushCurrentMa:Z2(a.mainBrushCurrentMa,0),mainBrushOvercurrent:!!a.wheelOvercurrents?.mainBrush,dirtDetectLeft:Z2(a.dirtDetectLeft),dirtDetect:Z2(a.dirtDetect)}:HX}function LX({roverId:t,sensors:a,geometry:n,variant:i}){const u=S6(t,a,AX,k4);return r.jsx(nX,{cx:n.centerX,cy:n.centerY,current:u.mainBrushCurrentMa,overcurrent:u.mainBrushOvercurrent,variant:i,dirtLeft:u.dirtDetectLeft,dirtRight:u.dirtDetect})}const VX=s2.memo(LX),BX=Object.freeze({sideBrushCurrentMa:0,sideBrushOvercurrent:!1});function NX(t){const a=t?.sensors;return a?{sideBrushCurrentMa:Z2(a.sideBrushCurrentMa,0),sideBrushOvercurrent:!!a.wheelOvercurrents?.sideBrush}:BX}function jX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,NX,k4);return r.jsx(aX,{cx:n.centerX+n.innerCircle*.65,cy:n.centerY-n.innerCircle*.55,current:i.sideBrushCurrentMa,overcurrent:i.sideBrushOvercurrent})}const kX=s2.memo(jX),FX=Object.freeze({wheelDropLeft:!1,wheelDropRight:!1,leftWheelOvercurrent:!1,rightWheelOvercurrent:!1,wheelLeftCurrentMa:0,wheelRightCurrentMa:0});function RX(t){const a=t?.sensors;if(!a)return FX;const n=a.bumpsAndWheelDrops||{},i=a.wheelOvercurrents||{};return{wheelDropLeft:!!n.wheelDropLeft,wheelDropRight:!!n.wheelDropRight,leftWheelOvercurrent:!!i.leftWheel,rightWheelOvercurrent:!!i.rightWheel,wheelLeftCurrentMa:Z2(a.wheelLeftCurrentMa,0),wheelRightCurrentMa:Z2(a.wheelRightCurrentMa,0)}}function EX({roverId:t,sensors:a,geometry:n}){const i=S6(t,a,RX,k4);return r.jsxs(r.Fragment,{children:[r.jsx(ro,{cx:n.centerX-n.wheelLineOffset,cy:n.centerY,current:i.wheelLeftCurrentMa,drop:i.wheelDropLeft,overcurrent:i.leftWheelOvercurrent,label:"L"}),r.jsx(ro,{cx:n.centerX+n.wheelLineOffset,cy:n.centerY,current:i.wheelRightCurrentMa,drop:i.wheelDropRight,overcurrent:i.rightWheelOvercurrent,label:"R"})]})}const TX=s2.memo(EX),_X=["L","FL","CL","CR","FR","R"];function qX(t,a){const n=t/2,i=t*.05,u=n,h=n+i,d=n*.8,v=d-4,p=d+4,x=d-14,g=d-6,b=d*.65,y=tX({count:6,totalSpan:140,gap:6,startAngle:-70}),M=t*.46,L=Math.min(M,Math.max(96,t*.42)),S=Math.max(18,t*.08),C=Math.max(6,t*.03),B=t-C-S;return{size:t,variant:a,centerX:u,centerY:h,innerCircle:d,lightRingInner:v,lightRingOuter:p,cliffRingInner:x,cliffRingOuter:g,wheelLineOffset:b,voltageReadout:{x:C,y:B,width:L,height:S},currentReadout:{x:t-C-L,y:B,width:L,height:S},lightSegments:y.map((A,H)=>({label:_X[H],start:A.start,end:A.end})),cliffSegments:[{label:"Cliff L",start:-60,end:-46,valueKey:"cliffLeftSignal",activeKey:"cliffLeft",fillFromEnd:!0},{label:"Cliff FL",start:-32,end:-16,valueKey:"cliffFrontLeftSignal",activeKey:"cliffFrontLeft",fillFromEnd:!0},{label:"Cliff FR",start:16,end:32,valueKey:"cliffFrontRightSignal",activeKey:"cliffFrontRight",fillFromEnd:!1},{label:"Cliff R",start:46,end:60,valueKey:"cliffRightSignal",activeKey:"cliffRight",fillFromEnd:!1}]}}function DX({roverId:t=null,sensors:a=null,variant:n="full",size:i,overlay:u=!1}){const h=i||(n==="mini"?190:260),d=m.useMemo(()=>qX(h,n),[h,n]);return r.jsx("div",{className:`${u?"relative":"relative p-1"}`,style:u?{width:`${h}px`,height:`${h}px`}:{height:"100%",width:"100%",aspectRatio:"1 / 1"},children:r.jsxs("svg",{width:"100%",height:"100%",viewBox:`0 0 ${h} ${h}`,preserveAspectRatio:"xMidYMid meet",className:"mx-auto block",children:[r.jsx("circle",{cx:d.centerX,cy:d.centerY,r:d.innerCircle,fill:"#0f172a",stroke:"#334155",strokeWidth:"2"}),r.jsx(TX,{roverId:t,sensors:a,geometry:d}),r.jsx(kX,{roverId:t,sensors:a,geometry:d}),r.jsx(VX,{roverId:t,sensors:a,geometry:d,variant:n}),r.jsx(SX,{roverId:t,sensors:a,geometry:d}),r.jsx(fX,{roverId:t,sensors:a,geometry:d}),r.jsx(sX,{roverId:t,sensors:a,geometry:d}),r.jsx(yX,{roverId:t,sensors:a,geometry:d})]})})}const Gh=s2.memo(DX);function io({roverId:t=null,sensors:a,show:n=!0,mapPosition:i="top-center",layoutFormat:u="desktop",mobileHud:h=!1}){if(!n)return null;const d=u==="mobile-portrait",v="240px",p=d?.3:h?.33:.7,g={width:v,height:v,opacity:h?.6:.7,transform:i==="top-center"?`translateX(-50%) scale(${p})`:`scale(${p})`,transformOrigin:i==="bottom-left"?"bottom left":i==="top-center"?"top center":"top right",...i==="bottom-left"?{left:"0.25rem",bottom:"0.25rem"}:i==="top-center"?{left:"50%",top:"0.25rem"}:{right:"0.25rem",top:"0.25rem"}};return r.jsx("div",{className:"pointer-events-none absolute rounded",style:g,children:r.jsx(Gh,{roverId:t,sensors:a,size:240,overlay:!0})})}function OX({roverId:t=null,sensors:a,label:n,roverColor:i=null,layoutFormat:u="desktop",variant:h="default",driverLabel:d=null,showTopDown:v=void 0,mobileHud:p=!1,mapPosition:x=null,labelScale:g=1}){const b=o1(V=>V.session?.assignment?.roverId??null),y=t??b,M=K3(y,tx,ex),L=o1(V=>{if(!y)return{label:null,roverColor:null};const q=(V.session?.roster||[]).find($=>String($.id)===String(y));return{label:q?.name||null,roverColor:q?.color||null}}),S=o1(V=>{if(!y||h!=="spectator")return null;const R=V.session?.activeDrivers?.[y]||null,$=(V.session?.users||[]).find(D=>String(D.socketId||"")===String(R||""));return $?.nickname||$?.name||null}),C=a??null,B=n??L.label??null,A=i??L.roverColor??null,H=d??S,j=p,[_]=Ph(),F=typeof v=="boolean"?v:h==="spectator"||j?!0:_,N=x||(h==="spectator"?"top-center":j?"top-right":"top-center");return h==="none"?null:h==="spectator"?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[r.jsx(WQ,{sensors:C,telemetry:a?null:M,mobileHud:j}),r.jsx(ao,{variant:"spectator",label:B,roverColor:A,driverLabel:H,mobileHud:j,labelScale:g})]}),r.jsx(io,{roverId:y,sensors:C,show:F,mapPosition:N,layoutFormat:u,mobileHud:j})]}):r.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[r.jsx(ao,{variant:"default",label:B,roverColor:A,mobileHud:j,labelScale:g}),r.jsx(io,{roverId:y,sensors:C,show:F&&h!=="spectator",mapPosition:N,layoutFormat:u,mobileHud:j})]})}const Yh=s2.memo(OX);function UX({mobileHud:t=!1}){const{visible:a,statusLabel:n,statusTone:i,active:u,charging:h}=k0({manageLifecycle:!0}),[d,v]=m.useState(""),p=m.useRef(null),x=m.useRef(u);if(m.useEffect(()=>{const b=x.current;u&&!b?v("Dock assist mode enabled"):!u&&b&&h&&v("Docking successful! Thank you!"),x.current=u},[u,h]),m.useEffect(()=>{if(d)return p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{v(""),p.current=null},2500),()=>{p.current&&(clearTimeout(p.current),p.current=null)}},[d]),!a)return null;const g=i==="good"?"border-emerald-200/90 bg-emerald-900/90 text-emerald-50":i==="warn"?"border-amber-200/90 bg-amber-900/90 text-amber-50":"border-cyan-200/90 bg-cyan-900/90 text-cyan-50";return r.jsx("div",{className:"pointer-events-none absolute inset-0",children:d?r.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:r.jsx("div",{className:`rounded-xl border border-indigo-200/95 bg-black/95 px-4 py-2 text-center font-semibold text-indigo-50 shadow-2xl ${t?"text-lg":"text-2xl"}`,children:d})}):r.jsx("div",{className:`absolute right-2 top-1/2 -translate-y-1/2 rounded-lg border px-2 py-1 font-semibold shadow-lg ${g} ${t?"text-[0.65rem]":"text-xs"}`,children:n})})}const IX=s2.memo(UX),so=5e3,PX=700;function Kh({roverId:t=null,description:a,variant:n="default",mobileHud:i=!1,displayKey:u="",controlIntentAt:h}){const d=o1(A=>A.session?.assignment?.roverId??null),v=t??d,p=o1(A=>v&&(A.session?.roster||[]).find(_=>String(_.id)===String(v))?.description||null),x=a??p,g=typeof h=="number"?h:0,b=u||`${v||""}::${x||""}`,[y,M]=m.useState(!1),[L,S]=m.useState(!1),C=m.useRef(null),B=m.useRef(null);return m.useEffect(()=>()=>{clearTimeout(C.current),clearTimeout(B.current)},[]),m.useEffect(()=>{if(n!=="default"||!x){M(!1),S(!1),clearTimeout(C.current),clearTimeout(B.current);return}clearTimeout(C.current),clearTimeout(B.current),M(!0),S(!1)},[x,b,n]),m.useEffect(()=>{n!=="default"||!x||!y||L||(Number(g)||0)<=0||C.current||B.current||(C.current=setTimeout(()=>{S(!0),C.current=null},so),B.current=setTimeout(()=>{M(!1),B.current=null},so+PX))},[g,x,L,y,n]),x?n==="spectator"?r.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-1 z-50 flex justify-center",children:r.jsx("div",{className:"surface max-w-[92%] border border-slate-600/80 px-1 py-0.5 text-center text-[0.62rem] leading-tight text-slate-100 shadow-lg",children:x})}):n!=="default"||!y?null:r.jsx("div",{className:"pointer-events-none absolute inset-0 z-50 flex items-center justify-center",children:r.jsxs("div",{className:`surface max-w-[94%] border border-slate-400 bg-neutral-900 px-2 py-1 text-center font-semibold text-slate-100 shadow-xl transition-opacity duration-700 ${L?"opacity-0":"opacity-100"} ${i?"text-[1rem] leading-tight":"text-[1.5rem] leading-tight"}`,children:[r.jsx("p",{children:"Just so you know, this rover"}),r.jsx("p",{children:x}),r.jsx("p",{className:`${i?"text-[0.58rem]":"text-[0.72rem]"} mt-0.5 font-normal text-slate-300`,children:"This fades 5 seconds after your first control input."})]})}):null}const $X={leftWheel:"Left wheel",rightWheel:"Right wheel",mainBrush:"Main brush",sideBrush:"Side brush",limiter:"Overcurrent limit"};function ZX({roverId:t=null,sensors:a,overcurrentLimiter:n=null,compact:i=!1}){const u=o1(N=>N.session?.assignment?.roverId??null),h=t??u,d=K3(h,Gu,Yu),v=dh(h),p=a?.wheelOvercurrents??d,x=n??v??null,g=m.useMemo(()=>p==null?[]:Object.entries(p).filter(([,N])=>!!N).map(([N])=>N),[p]),b=x?.caps||null,y=m.useMemo(()=>{if(!b)return null;const N=Number.isFinite(b?.drive?.cap)?b.drive.cap:1,V=Number.isFinite(b?.aux?.cap)?b.aux.cap:1;return Math.max(0,Math.min(1,1-Math.min(N,V)))},[b]),M=!!x?.isActive,L=m.useMemo(()=>g.length?g:M?["limiter"]:[],[g,M]),S=y??(g.length?1:0);if(!L?.length)return null;const C=L.map(N=>$X[N]||N),B=i?"w-[12rem] h-[3.5rem]":"w-[20rem] h-[7rem]",A=i?"px-2 py-1":"px-4 py-2",H=i?"text-lg":"text-4xl",j=i?"text-xs":"text-xl",_=Math.max(0,Math.min(1,S)),F=`${Math.round(_*100)}%`;return r.jsx("div",{className:`pointer-events-none absolute flex items-center justify-center bg-red-900/50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 ${B}`,children:r.jsxs("div",{className:"relative h-full w-full",children:[r.jsx("div",{className:"absolute inset-0 overflow-hidden",children:r.jsx("div",{className:"h-full bg-red-700/60",style:{width:F}})}),r.jsxs("div",{className:`relative z-10 flex h-full w-full flex-col items-center justify-center text-center font-semibold text-white animate-pulse ${H} ${A}`,children:[r.jsx("div",{children:"OVERCURRENT"}),r.jsx("div",{className:`mt-0 font-medium text-white ${j}`,children:C.join(", ")})]})]})})}const Qh=s2.memo(ZX),Y8=10;function a5({batteryState:t=null,charge:a=null,config:n=null}){const i=t?.percentDisplay!=null&&Number.isFinite(t.percentDisplay)?Math.round(t.percentDisplay):null,u=t?.warnActive??null,h=t?.urgentActive??null,d=n?.Full??null,v=n?.Warn??null,p=n?.Urgent??null,x=a??t?.charge??null;let g=i;if(g==null&&(g=GX({charge:x,full:d,warn:v,urgent:p})),g==null)return{available:!1};const b=Math.max(0,Math.min(1,g/100)),y=u??(v!=null&&x!=null&&x<=v),M=h??(p!=null&&x!=null&&x<=p);return{available:!0,percent:b,percentDisplay:g,warnActive:y,urgentActive:M,warnDisplayPercent:Y8}}function GX({charge:t,full:a,warn:n,urgent:i}){if(t!=null&&a!=null&&n!=null&&i!=null&&a>n&&n>i){const u=Y8/100,h=1-u;if(t<=i)return 0;if(t<=n){const v=(t-i)/(n-i);return Math.round(Math.max(0,Math.min(1,v))*Y8)}if(t>=a)return 100;const d=(t-n)/(a-n);return Math.round((u+Math.max(0,Math.min(1,d))*h)*100)}return null}function YX({roverId:t=null,sensors:a,batteryConfig:n,compact:i=!1}){const u=o1(L=>L.session?.assignment?.roverId??null),h=t??u,d=K3(h,Se,Ce),v=o1(L=>h?(L.session?.roster||[]).find(B=>String(B.id)===String(h))?.battery??null:null),p=a?{batteryChargeMah:a?.batteryChargeMah??null,batteryCapacityMah:a?.batteryCapacityMah??null}:d,x=n??v,g=a5({charge:p?.batteryChargeMah??null,config:x});if(!g?.available||!g.warnActive&&!g.urgentActive)return null;const b=g.urgentActive?"BATTERY VERY LOW, DOCK THE ROVER AND CHARGE IMMEDIATELY!!":"Battery low! please dock and charge the rover soon.",y=i?"p-2 top-6":"p-4 top-10",M=i?"text-sm":"text-2xl";return r.jsx("div",{className:`pointer-events-none absolute flex items-center justify-center bg-amber-900/60 left-1/2 -translate-x-1/2 ${y}`,children:r.jsx("div",{className:`text-center font-semibold text-white animate-pulse ${M}`,children:r.jsx("div",{children:b})})})}const Xh=s2.memo(YX);function KX({roverId:t=null,sensors:a}){const n=o1(b=>b.session?.assignment?.roverId??null),u=K3(t??n,Qg,Xg),h=a?[a?.lightBumpLeftSignal,a?.lightBumpFrontLeftSignal,a?.lightBumpCenterLeftSignal,a?.lightBumpCenterRightSignal,a?.lightBumpFrontRightSignal,a?.lightBumpRightSignal]:u,d=h.filter(b=>b!=null).reduce((b,y)=>Math.max(b,y),1200),v=b=>Math.pow(Math.max(0,Math.min(1,(b??0)/d)),.35),p=b=>b==null||b<=0?"hsl(200 60% 18%)":`hsl(${(200+v(b)*360)%360} 100% 60%)`,x=6,g=12;return r.jsx("div",{className:"flex w-full items-center justify-center gap-0.5",children:h.map((b,y)=>{const M=v(b),L=yv.session?.assignment?.roverId??null),i=t??n,u=K3(i,Se,Ce),h=o1(v=>i?(v.session?.roster||[]).find(g=>String(g.id)===String(i))?.battery??null:null),d=a5({charge:u?.batteryChargeMah??null,config:h});return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(QX,{roverId:i}),r.jsx("div",{className:"space-y-0.5 text-sm",children:r.jsx(Ae,{visual:d,compact:a})})]})}function eW(){if(typeof navigator>"u")return!1;const t=navigator.userAgent||"",a=navigator.vendor||"";return/safari/i.test(t)&&/apple/i.test(a)&&!/crios|fxios|edgios|opr|chrome|android/i.test(t)}function cW({compact:t=!1}){const a=o1(q=>q.session?.role||null),n=o1(q=>q.session?.assignment?.roverId||null),i=o1(q=>q.session?.roster||[]),{sendMessage:u,onInputFocus:h,onInputBlur:d,blurChat:v,registerInputRef:p,setTypingActive:x}=qa(),{value:g}=I1("tts",{engine:"chromegtts",voice:"tpf",pitch:50,googlePitch:1,googleSpeed:1}),[b,y]=m.useState(""),[M,L]=m.useState(!1),S=a!=="spectator",C=a==="spectator",A=!!m.useMemo(()=>i.find(q=>String(q.id)===String(n))||null,[n,i])?.audio?.ttsEnabled,H=m.useMemo(()=>{if(!A)return null;const q=g?.engine==="espeak"?"espeak":g?.engine==="flite"?"flite":"chromegtts";if(q==="espeak"){let D=Number.isFinite(g?.pitch)?Math.round(g.pitch):void 0;return typeof D=="number"&&(D=Math.max(0,Math.min(99,D))),{speak:!0,engine:q,pitch:D}}const $=typeof g?.voice=="string"?g.voice:void 0;if(q==="chromegtts"){const D=Number.isFinite(g?.googlePitch)?g.googlePitch:1,W=Number.isFinite(g?.googleSpeed)?g.googleSpeed:1;return{speak:!0,engine:q,voice:$,pitch:D,speed:W}}return{speak:!0,engine:q,voice:$}},[g?.engine,g?.googlePitch,g?.googleSpeed,g?.pitch,g?.voice,A]),j=t?"pointer-events-auto absolute bottom-0.5 right-0.5 flex w-[9rem] max-w-[70vw] items-center gap-0.5 rounded bg-black/70 px-0.4 py-0.2":"pointer-events-auto absolute bottom-1 right-1 flex w-[12rem] max-w-[70vw] items-center gap-0.5 rounded bg-black/70 px-0.5 py-0.25",N=`min-w-0 flex-1 bg-transparent ${m.useMemo(()=>eW(),[])?"mobile-text-entry":t?"text-[0.55rem]":"text-[0.7rem]"} text-slate-100 placeholder:text-slate-400 focus:outline-none`,V=t?"mobile-touch-control rounded bg-cyan-500/80 px-0.35 py-0.2 text-[0.55rem] font-semibold text-black disabled:opacity-50":"mobile-touch-control rounded bg-cyan-500/80 px-0.5 py-0.25 text-[0.7rem] font-semibold text-black disabled:opacity-50";async function R(q){if(q.preventDefault(),!S)return;const $=b.trim();if($){L(!0);try{await u($,H),y(""),v(),x(!1)}catch(D){alert(D.message)}finally{L(!1)}}}return C?null:r.jsxs("form",{onSubmit:R,className:j,children:[r.jsx("input",{className:N,value:b,onChange:q=>{const $=q.target.value;y($),x(!!$.trim())},onFocus:q=>{h(q),x(!!b.trim())},onBlur:q=>{d(q),x(!1)},onKeyDown:q=>{q.key==="Enter"&&!b.trim()&&(q.preventDefault(),v(),x(!1))},ref:q=>p(q,{target:"hud"}),placeholder:S?"Chat (tts)":"Spectator",disabled:!S}),r.jsx("button",{type:"submit",disabled:!S||M,className:V,children:"Speak"})]})}const aW=m.memo(cW);function $a({layoutFormat:t="desktop"}){const a=o1(h=>h.session?.assignment?.roverId??null),n=$Q(a),i=_1(h=>h.state.lastControlIntentAt);if(!a)return r.jsx(N1,{hideHeader:!0,className:"shrink-0",children:r.jsxs("div",{className:"panel-muted content-center text-center text-sm text-slate-400 aspect-[4/3]",children:[r.jsx("p",{children:"You are not assigned to a rover."}),r.jsx("p",{className:"mt-0",children:r.jsx("a",{href:"/spectate",className:"text-blue-400 underline hover:text-blue-500",children:"Click here to visit the spectator page."})})]})});const u=t!=="desktop";return r.jsx(N1,{hideHeader:!0,className:"shrink-0",children:r.jsxs("div",{className:"flex flex-col gap-0.5",children:[r.jsxs("div",{className:"relative w-full overflow-hidden bg-black aspect-[4/3]",children:[r.jsx(G8,{roverId:a,videoMode:n}),r.jsx(XQ,{mobileHud:u}),r.jsx(Kh,{variant:"default",mobileHud:u,controlIntentAt:i}),r.jsx(Yh,{layoutFormat:t,variant:"default",mobileHud:u,labelScale:1}),r.jsx(IX,{mobileHud:u}),r.jsx(aW,{compact:u}),r.jsx(Qh,{compact:u}),r.jsx(Xh,{compact:u})]}),r.jsx(tW,{mobileHud:u})]})})}const nW=Object.freeze([{id:"white",label:"White",hex:"#ffffff",action:"white"},{id:"red",label:"Red",hex:"#ff0000"},{id:"green",label:"Green",hex:"#00ff00"},{id:"cyan",label:"Cyan",hex:"#00c7be"},{id:"blue",label:"Blue",hex:"#0000ff"},{id:"purple",label:"Purple",hex:"#bf5af2"}]);function ra({label:t,tone:a="muted"}){const n=a==="success"?"bg-emerald-900 text-emerald-100":a==="warn"?"bg-amber-900 text-amber-100":"bg-slate-800 text-slate-200";return r.jsx("span",{className:`rounded px-1 py-0.5 text-xs font-semibold leading-none ${n}`,children:t})}function Wh(...t){return t.filter(Boolean).join(" ")}function rW(t,{unavailable:a,isOn:n,supportsColor:i}){if(a||!n)return;const u=i?t.colorHex:null;if(u)return{backgroundColor:u,borderColor:"rgba(255,255,255,0.38)"}}function lW({entity:t,swatch:a,disabled:n,onSetColor:i,onSetWhite:u}){const h=d=>{if(d.stopPropagation(),!n){if(a.action==="white"){u(t.id).catch(()=>{});return}i(t.id,a.hex).catch(()=>{})}};return r.jsx("button",{type:"button",onClick:h,onKeyDown:d=>{d.stopPropagation()},disabled:n,title:`${a.label} ${t.name||t.id}`,"aria-label":`Set ${t.name||t.id} to ${a.label}`,className:Wh("h-5 w-6 shrink-0 rounded-sm border border-white/80 transition-transform disabled:cursor-not-allowed disabled:opacity-40",!n&&"hover:scale-110 hover:border-white"),style:{backgroundColor:a.hex}})}function iW({entity:t,connected:a,controlsLocked:n,onToggle:i,onSetColor:u,onSetWhite:h}){const d=t.state==="unavailable"||!t.available,v=t.state==="on",p=t.type==="light"&&t.supportsColor,x=d?"warn":v?"success":"muted",g=d?"Unavailable":v?"On":"Off",b=n||!a||d,y=b||!p,M=rW(t,{unavailable:d,isOn:v,supportsColor:p}),L=d?"border-slate-800 bg-slate-950 text-slate-500":n?"border-amber-700/60 bg-amber-950/70 text-amber-100":v?"border-emerald-700/70 bg-emerald-900 text-white":"border-neutral-700 bg-neutral-950 text-slate-300",S=()=>{b||i(t.id)},C=B=>{b||B.key!=="Enter"&&B.key!==" "||(B.preventDefault(),S())};return r.jsxs("div",{role:"button",tabIndex:b?-1:0,onClick:S,onKeyDown:C,"aria-disabled":b,className:Wh("flex min-w-[9.5rem] flex-col gap-0.5 rounded border px-0.5 py-0.5 transition-colors",b?"cursor-not-allowed opacity-70":"cursor-pointer hover:border-white/60",L),style:M,title:`${v?"Turn off":"Turn on"} ${t.name||t.id}`,children:[r.jsxs("div",{className:"-mx-0.5 -mt-0.5 grid min-h-5 grid-cols-[minmax(0,1fr)_auto] items-center gap-0.5 rounded-t bg-black/45 px-0.5 py-0.5 text-left text-white",children:[r.jsx("span",{className:"min-w-0 truncate text-[0.78rem] font-semibold leading-none",children:t.name||t.id}),r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx(ra,{label:g,tone:x}),a?null:r.jsx("span",{className:"text-[0.65rem] font-semibold text-amber-200",children:"Offline"})]})]}),p?r.jsx("div",{className:"flex flex-wrap justify-center gap-0.5",children:nW.map(B=>r.jsx(lW,{entity:t,swatch:B,disabled:y,onSetColor:u,onSetWhite:h},B.id))}):null]})}function Jh(){const t=_1(M=>M.state.keymap),a=o1(M=>M.session?.homeAssistant||null),{homeAssistantToggle:n,homeAssistantSetLightColor:i,homeAssistantSetLightWhite:u}=O2(),h=m.useMemo(()=>a?.entities||[],[a?.entities]),d=a?.lightPolicy||null,v=!!(d?.locked||d?.lockedOn),p=d?.lockState||(d?.lockedOn?"on":null),x=_2(t?.homeAssistantOn?.[0]),g=_2(t?.homeAssistantOff?.[0]);if(!a?.enabled)return r.jsx(N1,{title:"Room Controls",bodyClassName:"space-y-0.5 text-sm text-slate-400",children:r.jsx("p",{className:"text-slate-500",children:"Not configured on the server."})});if(h.length===0)return r.jsx(N1,{title:"Room Controls",bodyClassName:"space-y-0.5 text-sm text-slate-400",children:r.jsx("p",{className:"text-slate-500",children:"No lights or switches configured."})});const b=!!a?.connected,y=r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex items-center gap-0.5 text-[0.68rem] text-slate-400",children:[r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx("span",{children:"On"}),x?r.jsx(oo,{label:x}):null]}),r.jsxs("span",{className:"flex items-center gap-0.5",children:[r.jsx("span",{children:"Off"}),g?r.jsx(oo,{label:g}):null]})]}),v?r.jsx(ra,{label:p==="off"?"Locked Off":"Locked On",tone:"warn"}):null,r.jsx(ra,{label:b?"Connected":"Offline",tone:b?"success":"warn"})]});return r.jsxs(N1,{title:"Room Controls",actions:y,bodyClassName:"space-y-0.5 text-base",children:[v?r.jsx("p",{className:"rounded border border-amber-600/60 bg-amber-900/40 px-1 py-0.5 text-xs text-amber-100",children:p==="off"?"Lights are locked off. Room controls are disabled.":"Lights are locked on. Room controls are disabled."}):null,r.jsx("div",{className:"grid grid-cols-1 gap-0.5 sm:grid-cols-2 lg:grid-cols-3",children:h.map(M=>r.jsx(iW,{entity:M,connected:b,controlsLocked:v,onToggle:n,onSetColor:i,onSetWhite:u},M.id))})]})}function oo({label:t}){return t?r.jsx("span",{className:"rounded border border-slate-600 px-1 text-[0.65rem] text-slate-300",children:t}):null}function Za(){const{login:t}=O2(),[a,n]=m.useState(""),[i,u]=m.useState(""),[h,d]=m.useState(!1);async function v(p){p.preventDefault(),d(!0);try{await t(a,i),n(""),u("")}catch(x){alert(x.message)}finally{d(!1)}}return r.jsx(N1,{title:"Admin login",bodyClassName:"space-y-0.5 text-base",children:r.jsxs("form",{className:"flex flex-col gap-0.5",onSubmit:v,children:[r.jsx("input",{className:"field-input",placeholder:"Username",value:a,onChange:p=>n(p.target.value)}),r.jsx("input",{className:"field-input",placeholder:"Password",type:"password",value:i,onChange:p=>u(p.target.value)}),r.jsx("button",{type:"submit",disabled:h,className:"button-dark w-full disabled:opacity-50",children:h?"Logging in…":"Login"})]})})}function uo(...t){return t.filter(Boolean).join(" ")}function sW(t){const a=t?.batteryState?.percentDisplay;return a==null?"--":`${a}%`}function oW(t){return t?.batteryState?t.batteryState.urgentActive?"text-red-400":t.batteryState.warnActive?"text-amber-300":"text-emerald-300":"text-slate-400"}function uW({title:t,roster:a=[],emptyText:n="No roster data.",renderActions:i=null}){return r.jsxs("div",{className:"space-y-0.5 text-sm",children:[t&&r.jsx("p",{className:"text-sm text-slate-400",children:t}),a.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:n}):r.jsx("ul",{className:"space-y-0.5 text-sm",children:a.map(u=>{const h=!!(u?.private?.enabled&&u?.private?.open),d=!!u?.locked;return r.jsxs("li",{className:uo("surface flex flex-wrap items-center justify-between gap-0.5",d?"bg-red-900/40":h?"bg-amber-700/35 border border-amber-200/30":null),children:[r.jsxs("div",{children:[r.jsx("p",{children:r.jsx(j4,{rover:u,fallback:u.id})}),r.jsxs("p",{className:"text-xs text-slate-500 flex flex-wrap items-center gap-0.5",children:[r.jsx("span",{children:u.locked?"locked":"free"}),u.lockReason&&r.jsx("span",{className:"rounded bg-black/30 px-1",children:u.lockReason}),r.jsxs("span",{className:uo("font-semibold",oW(u)),children:["Battery ",sW(u)]})]})]}),i?i(u):null]},u.id)})})]})}function hW(t){const a=t?.runtime||{},n=t?.output||{},i=t?.errors||{};return a.inFlight?{label:"IN FLIGHT",detail:a.reason||"Generating commentary now",className:"border-amber-400/60 bg-amber-700/20 text-amber-200"}:a.outcome==="posted"?{label:"POSTED",detail:n.posted?`Last: ${n.posted}`:"Commentary posted",className:"border-emerald-400/60 bg-emerald-700/20 text-emerald-200"}:a.outcome==="skipped"?{label:"SKIPPED",detail:a.reason||"Model chose to skip",className:"border-slate-400/60 bg-slate-700/30 text-slate-200"}:a.outcome==="failed"?{label:"FAILED",detail:i.message||a.reason||"Tick failed",className:"border-red-400/60 bg-red-700/20 text-red-200"}:{label:a.running?"IDLE":"STOPPED",detail:a.reason||"Waiting for next tick",className:"border-sky-400/50 bg-sky-700/20 text-sky-200"}}function dW(t,a){const n=Date.now(),u=(Array.isArray(t)?t:[]).map((h,d)=>{const v=String(h?.role||"").toLowerCase(),p=typeof h?.content=="string"?h.content:JSON.stringify(h?.content??null,null,2),x=v==="system"?"LLM System":v==="assistant"?"LLM Context":v==="user"?"LLM Input":"LLM Message";return{id:`llm-msg-${d}`,message:{ts:n+d,nickname:x,text:p,role:"spectator",bot:v==="system"}}});if(a!=null){const h=String(a);u.push({id:"llm-output",message:{ts:n+u.length+1,nickname:"LLM Output",text:h.trim()?h:"",role:"spectator",bot:!0}})}return u}function fW({state:t,onClearHistory:a,clearingHistory:n}){const[i,u]=m.useState(null);if(!t)return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"LLM Commentary"}),r.jsx("div",{className:"surface text-xs text-slate-300",children:"No status received yet."})]});const h=t.runtime||{},d=t.counters||{},v=t.timings||{},p=t.input||{},x=t.output||{},g=t.errors||{},b=Array.isArray(t.history)?t.history:[],y=b.find(C=>C.runId===i)||(b.length?b[b.length-1]:null),M=hW(t),L=dW(p.modelMessages,x.raw),S=[{label:"running",value:h.running?"yes":"no"},{label:"in flight",value:h.inFlight?"yes":"no"},{label:"phase",value:h.phase||"--"},{label:"run id",value:h.currentRunId??"--"},{label:"tick count",value:h.tickCount??0},{label:"last tick",value:h.lastTickAt?new Date(h.lastTickAt).toLocaleString():"never"},{label:"next run",value:h.nextRunAt?new Date(h.nextRunAt).toLocaleString():"n/a"},{label:"outcome",value:h.outcome||"--"},{label:"reason",value:h.reason||"--"},{label:"skip streak",value:d.skipStreak??0},{label:"clear count",value:d.clearCount??0},{label:"last gen",value:v.lastGenerationMs!=null?`${v.lastGenerationMs} ms`:"--"},{label:"avg gen",value:v.avgGenerationMs!=null?`${v.avgGenerationMs} ms`:"--"},{label:"gen count",value:v.generationCount??0},{label:"prompt chars",value:d.promptChars??0},{label:"active drivers",value:d.snapshotSummary?.activeDrivers??0},{label:"snapshot rovers",value:d.snapshotSummary?.rovers??0},{label:"snapshot chat",value:d.snapshotSummary?.chatMessages??0}];return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"LLM Commentary"}),r.jsx("div",{className:"flex gap-0.5 text-xs",children:r.jsx("button",{type:"button",onClick:a,disabled:!!n,className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:n?"Clearing...":"Clear LLM History"})}),r.jsxs("div",{className:`surface border text-center ${M.className}`,children:[r.jsx("div",{className:"text-[1.1rem] font-bold tracking-wide",children:M.label}),r.jsx("div",{className:"text-xs text-slate-200",children:M.detail})]}),r.jsx("div",{className:"surface flex flex-wrap gap-0.5 text-xs",children:S.map(C=>r.jsxs("span",{className:"rounded border border-slate-600/60 bg-slate-800/70 px-0.5 py-0.25 text-[0.72rem] leading-tight text-slate-200",children:[C.label,": ",C.value]},C.label))}),g.message?r.jsxs("div",{className:"surface text-xs text-red-300 break-words",children:["Error: ",g.message]}):null,g.details?r.jsxs("details",{className:"surface text-xs text-red-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-red-300",children:"Failure details"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-red-200",children:JSON.stringify(g.details,null,2)})]}):null,x.generated?r.jsxs("div",{className:"surface text-xs text-slate-200 break-words",children:["Generated: ",x.generated]}):null,x.posted?r.jsxs("div",{className:"surface text-xs text-emerald-200 break-words",children:["Posted: ",x.posted]}):null,r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-2",children:[r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Live Input Conversation"}),r.jsx("div",{className:"surface max-h-72 space-y-0.5 overflow-y-auto",children:L.length?L.map(C=>r.jsx(P8,{message:C.message},C.id)):r.jsx("div",{className:"text-xs text-slate-300",children:"No model conversation captured yet."})})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Output + Error"}),r.jsxs("div",{className:"surface space-y-0.5 text-xs text-slate-200",children:[r.jsxs("div",{children:["Raw output: ",x.raw?.trim()?x.raw:""]}),r.jsxs("div",{children:["Posted: ",x.posted||""]}),r.jsxs("div",{children:["Output at: ",x.modelOutputAt?new Date(x.modelOutputAt).toLocaleString():"n/a"]}),r.jsxs("div",{children:["Failed at: ",g.failedAt?new Date(g.failedAt).toLocaleString():"n/a"]})]})]})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Full Monitor Payload"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(t,null,2)})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Recent Runs"}),r.jsx("div",{className:"surface max-h-52 space-y-0.5 overflow-y-auto text-xs",children:b.length?b.slice().reverse().map(C=>r.jsxs("button",{type:"button",onClick:()=>u(C.runId),className:`w-full text-left surface ${y?.runId===C.runId?"border border-sky-400/50":""}`,children:[r.jsxs("span",{className:"text-slate-300",children:["#",C.runId]})," ",r.jsx("span",{className:"text-slate-200",children:C.outcome||C.phase||"--"})," ",r.jsx("span",{className:"text-slate-400",children:C.durationMs!=null?`${C.durationMs}ms`:"--"})," ",r.jsx("span",{className:"text-slate-500",children:C.reason||""})]},C.runId)):r.jsx("div",{className:"text-slate-300",children:"No runs recorded yet."})})]}),y?r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsxs("summary",{className:"cursor-pointer select-none text-slate-300",children:["Run #",y.runId," details"]}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(y,null,2)})]}):null]})}function mW({state:t,onClearHistory:a,clearingHistory:n}){const[i,u]=m.useState(!1);if(!t)return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Overseer Control"}),r.jsx("div",{className:"surface text-xs text-slate-300",children:"No status received yet."})]});const h=t.runtime||{},d=t.config||{},v=t.output||{},p=t.timings||{},x=t.input||{},g=t.errors||{},b=()=>{const y=Array.isArray(x.modelMessages)?x.modelMessages:[];return y.length?y.map((M,L)=>{const S=String(M?.role||"unknown").toUpperCase(),C=String(M?.content||"");return`#${L+1} ${S} ${C}`}).join(` ---------------------------------------- -`):""};return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Overseer Control"}),r.jsx("div",{className:"flex gap-0.5 text-xs",children:r.jsx("button",{type:"button",onClick:a,disabled:!!n,className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:n?"Clearing...":"Clear Overseer History"})}),r.jsxs("div",{className:"surface flex flex-wrap gap-0.5 text-xs",children:[r.jsxs("span",{className:"surface-muted",children:["running: ",h.running?"yes":"no"]}),r.jsxs("span",{className:"surface-muted",children:["phase: ",h.phase||"--"]}),r.jsxs("span",{className:"surface-muted",children:["tick: ",h.tickCount??0]}),r.jsxs("span",{className:"surface-muted",children:["trigger: ",h.lastTriggerReason||"--"]}),r.jsxs("span",{className:"surface-muted",children:["name: ",d.name||"--"]}),r.jsxs("span",{className:"surface-muted",children:["model: ",d.model||"--"]}),r.jsxs("span",{className:"surface-muted",children:["observeOnly: ",d.observeOnly?"yes":"no"]}),r.jsxs("span",{className:"surface-muted",children:["decision: ",v.normalized||"--"]}),r.jsxs("span",{className:"surface-muted",children:["outcome: ",v.outcome||"--"]}),r.jsxs("span",{className:"surface-muted",children:["reason: ",v.reason||"--"]}),r.jsxs("span",{className:"surface-muted",children:["last gen: ",p.lastGenerationMs!=null?`${p.lastGenerationMs}ms`:"--"]})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Latest Context"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:x.stateUpdate||""})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact Model Input (messages[])"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:b()})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact System Prompt"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:x.systemPrompt||""})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact Transcript Rows"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(x.transcript||[],null,2)})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Tool Availability"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify({available:x.availableTools,blocked:x.blockedTools},null,2)})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact Model Output"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:v.raw||""})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Live Tool Calls"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(v.liveToolCalls||[],null,2)})]}),r.jsxs("div",{className:"surface text-xs text-slate-200",children:[r.jsxs("div",{children:["Normalized decision: ",v.normalized||"--"]}),r.jsxs("div",{children:["Model input at: ",x.modelInputAt?new Date(x.modelInputAt).toLocaleString():"n/a"]}),r.jsxs("div",{children:["Model output at: ",v.outputAt?new Date(v.outputAt).toLocaleString():"n/a"]})]}),g.message?r.jsxs("div",{className:"surface text-xs text-red-300",children:["Error: ",g.message]}):null,r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Recent Runs"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(t.history||[],null,2)})]}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>u(y=>!y),children:i?"Hide Full Payload":"Show Full Payload"}),i?r.jsx("pre",{className:"surface whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(t,null,2)}):null]})}function mW({health:t,roster:a=[]}){if(!t)return null;const n=t.replay||{sources:[],readyCount:0,totalCount:0},i=t.snapshots||{rovers:[],rooms:[]},u=p=>a.find(x=>String(x.id)===String(p))?.color||null,h=`${n.readyCount}/${n.totalCount} sources ready`,d=i.rovers.filter(p=>p.stale).length,v=i.rooms.filter(p=>p.stale).length;return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Health"}),r.jsxs("div",{className:"surface space-y-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:"Replay segments"}),r.jsx("span",{className:"text-slate-400",children:h})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:"Rover snapshots"}),r.jsxs("span",{className:d?"text-amber-300":"text-emerald-300",children:[i.rovers.length-d,"/",i.rovers.length," ok"]})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:"Room cameras"}),r.jsxs("span",{className:v?"text-amber-300":"text-emerald-300",children:[i.rooms.length-v,"/",i.rooms.length," ok"]})]})]}),r.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:n.sources.map(p=>r.jsxs("div",{className:"flex items-center justify-between",children:[p.type==="rover"?r.jsx(j4,{name:p.label,color:u(p.id),fallback:p.id}):r.jsx("span",{children:p.label}),r.jsxs("span",{className:p.ready?"text-emerald-300":"text-amber-300",children:[p.recentCount,"/",p.neededCount]})]},`${p.type}:${p.id}`))}),r.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:i.rovers.map(p=>r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx(j4,{name:p.name,color:u(p.id),fallback:p.id}),r.jsx("span",{className:p.stale?"text-amber-300":"text-emerald-300",children:p.stale?"stale":"ok"})]},`rover:${p.id}`))}),r.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:i.rooms.map(p=>r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:p.name}),r.jsx("span",{className:p.stale?"text-amber-300":"text-emerald-300",children:p.error?"error":p.stale?"stale":"ok"})]},`room:${p.id}`))})]})}function vW({entries:t}){const a=t||[];return r.jsxs(N1,{title:"Admin IP log",meta:a.length,bodyClassName:"space-y-0.5 text-base",children:[r.jsx("div",{className:"h-64 overflow-y-auto font-mono text-xs",children:a.length===0?r.jsx("p",{children:"No admin log entries yet."}):a.slice().reverse().map(n=>r.jsxs("div",{children:[r.jsx("span",{className:"text-amber-400",children:n.ts?new Date(n.ts).toLocaleTimeString():"--"})," ",n.label&&r.jsxs("span",{className:"text-teal-400",children:["[",n.label,"]"]})," ",r.jsx("span",{className:"text-slate-200",children:n.message})," ",n.ip&&r.jsx("span",{className:"text-cyan-300",children:n.ip})," ",n.meta&&r.jsx("span",{className:"text-slate-500",children:JSON.stringify(n.meta)})]},n.id))}),r.jsx("p",{className:"text-xs text-slate-500",children:"Admin-only log stream; IPs never appear in user data."})]})}const pW=[{key:"open",label:"Open"},{key:"turns",label:"Turns"},{key:"admin",label:"Admin"},{key:"lockdown",label:"Lockdown"}];function gW(){const{session:t,lockRover:a,setMode:n,requestControl:i,setGlobalObjective:u,setAdminReason:h,rebootRover:d,updateRover:v,rebootServer:p,setAudioLevels:x,setPrivateSafety:g,llmControl:b,overseerControl:y,adminLogs:M,llmCommentaryState:L,overseerControlState:S}=N0(),C=m.useMemo(()=>t?.roster??[],[t?.roster]),[B,A]=m.useState({}),[H,j]=m.useState({}),[_,F]=m.useState({}),[N,V]=m.useState(!1),[R,q]=m.useState(!1),[$,D]=m.useState(!1),W=t?.health||null,n1=t?.globalObjective?.text||"",Y=t?.globalObjective?.updatedAt||null,[E,I]=m.useState(n1),Z=t?.adminReason?.text||"",t1=t?.adminReason?.updatedAt||null,[h1,T]=m.useState(Z),O=t?.audioLevels||{},[K,l1]=m.useState({hornGain:Number.isFinite(O.hornGain)?O.hornGain:1,ttsGain:Number.isFinite(O.ttsGain)?O.ttsGain:1,forwardGain:Number.isFinite(O.forwardGain)?O.forwardGain:1}),[m1,v1]=m.useState({}),A1=t?.role==="admin"||t?.role==="lockdown",k1=t?.role==="lockdown",R1=t?.mode??"open",O1=async(d1,p1)=>{try{await a(d1,p1),A(J1=>({...J1,[d1]:p1}))}catch(J1){alert(J1.message)}},Q1=async d1=>{const p1=d1.target.value;u1("admin_mode_change",{mode:p1,status:"started"});try{await n(p1),u1("admin_mode_change",{mode:p1,status:"accepted"})}catch(J1){u1("admin_mode_change",{mode:p1,status:"failed",reason:J1?.message||"unknown"}),alert(J1.message)}},P1=async d1=>{u1("admin_force_control",{roverId:d1,status:"started"});try{await i(d1,{force:!0}),u1("admin_force_control",{roverId:d1,status:"accepted"})}catch(p1){u1("admin_force_control",{roverId:d1,status:"failed",reason:p1?.message||"unknown"}),alert(p1.message)}},h2=async d1=>{if(!(!d1?.id||!window.confirm(`Reboot rover "${d1.name||d1.id}" now?`))){j(J1=>({...J1,[d1.id]:!0})),u1("rover_reboot_click",{roverId:d1.id,scope:"admin"});try{await d(d1.id),u1("rover_reboot_result",{roverId:d1.id,scope:"admin",status:"accepted"})}catch(J1){u1("rover_reboot_result",{roverId:d1.id,scope:"admin",status:"failed",reason:J1?.message||"unknown"}),alert(J1.message)}finally{j(J1=>({...J1,[d1.id]:!1}))}}},r1=async d1=>{if(!(!d1?.id||!window.confirm(`Update rover "${d1.name||d1.id}" now? The rover will git pull the repo, run the roverd installer, and may disconnect while services restart.`))){F(J1=>({...J1,[d1.id]:!0})),u1("rover_update_click",{roverId:d1.id});try{await v(d1.id),u1("rover_update_result",{roverId:d1.id,status:"accepted"})}catch(J1){u1("rover_update_result",{roverId:d1.id,status:"failed",reason:J1?.message||"unknown"}),alert(J1.message)}finally{F(J1=>({...J1,[d1.id]:!1}))}}},V1=async()=>{if(window.confirm("Reboot the server host now? This will disconnect all users.")){V(!0),u1("server_reboot_click",{status:"started"});try{await p(),u1("server_reboot_click",{status:"accepted"})}catch(p1){u1("server_reboot_click",{status:"failed",reason:p1?.message||"unknown"}),alert(p1.message),V(!1)}}},Z1=async()=>{if(window.confirm("Clear LLM commentary history now? This resets chat context, bot memory, and rover activity metrics for narration.")){q(!0);try{await b("clearHistory")}catch(p1){alert(p1.message)}finally{q(!1)}}},D1=async()=>{if(window.confirm("Clear Overseer Control history now?")){D(!0);try{await y("clearHistory")}catch(p1){alert(p1.message)}finally{D(!1)}}},b1=async()=>{try{await u(E)}catch(d1){alert(d1.message)}},L1=async()=>{try{await u(null)}catch(d1){alert(d1.message)}},x1=async()=>{try{await h(h1)}catch(d1){alert(d1.message)}},C1=async()=>{try{await h(null)}catch(d1){alert(d1.message)}},g1=d1=>p1=>{const J1=Number(p1.target.value);l1(f1=>({...f1||{},[d1]:Number.isFinite(J1)?J1:1}))},T1=async()=>{try{await x(K)}catch(d1){alert(d1.message)}},c1=async()=>{window.dispatchEvent(new CustomEvent("buttonBox:rewardRunLocalTest",{detail:{rewardName:"Admin Mode",count:1e3,goal:1e3}}))};m.useEffect(()=>{I(n1)},[n1]),m.useEffect(()=>{T(Z)},[Z]),m.useEffect(()=>{l1({hornGain:Number.isFinite(O.hornGain)?O.hornGain:1,ttsGain:Number.isFinite(O.ttsGain)?O.ttsGain:1,forwardGain:Number.isFinite(O.forwardGain)?O.forwardGain:1})},[O.forwardGain,O.hornGain,O.ttsGain]),m.useEffect(()=>{const d1={};(C||[]).forEach(p1=>{p1?.private?.enabled&&(d1[p1.id]={speedLimitEnabled:!!p1?.private?.safety?.speedLimitEnabled,speedLimitMaxWheelSpeed:Number.isFinite(p1?.private?.safety?.speedLimitMaxWheelSpeed)?p1.private.safety.speedLimitMaxWheelSpeed:250,hardOvercurrentEnabled:!!p1?.private?.safety?.hardOvercurrentEnabled,overcurrentStopMs:Number.isFinite(p1?.private?.safety?.overcurrentStopMs)?p1.private.safety.overcurrentStopMs:300,hardBumpEnabled:!!p1?.private?.safety?.hardBumpEnabled,bumpBackoffSpeed:Number.isFinite(p1?.private?.safety?.bumpBackoffSpeed)?p1.private.safety.bumpBackoffSpeed:250,bumpBackoffMs:Number.isFinite(p1?.private?.safety?.bumpBackoffMs)?p1.private.safety.bumpBackoffMs:350,cliffEnabled:!!p1?.private?.safety?.cliffEnabled,cliffBackoffSpeed:Number.isFinite(p1?.private?.safety?.cliffBackoffSpeed)?p1.private.safety.cliffBackoffSpeed:250,cliffBackoffMs:Number.isFinite(p1?.private?.safety?.cliffBackoffMs)?p1.private.safety.cliffBackoffMs:500,triggerCooldownMs:Number.isFinite(p1?.private?.safety?.triggerCooldownMs)?p1.private.safety.triggerCooldownMs:800})}),v1(d1)},[C]);const M1=m.useMemo(()=>{const d1={};return C.forEach(p1=>{d1[p1.id]=B[p1.id]??p1.locked}),d1},[C,B]),y1=(d1,p1={})=>{v1(J1=>({...J1||{},[d1]:{...J1?.[d1]||{},...p1||{}}}))},j1=async d1=>{try{const p1=m1?.[d1];if(!p1)return;await g(d1,p1)}catch(p1){alert(p1.message)}};if(!A1)return null;const r2=r.jsx("select",{value:R1,onChange:Q1,className:"field-input text-sm",children:pW.map(d1=>r.jsx("option",{value:d1.key,children:d1.label},d1.key))});return r.jsxs(N1,{title:"Admin controls",actions:r2,bodyClassName:"space-y-0.5 text-base",children:[r.jsxs("div",{className:"flex gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:V1,disabled:N,className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:N?"Server rebooting...":"Reboot Server"}),r.jsx("button",{type:"button",onClick:c1,className:"button-dark",children:"Test Reward Popup"})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[r.jsx("span",{children:"Global audio levels"}),t?.audioLevels?.updatedAt?r.jsxs("span",{children:["Updated ",new Date(t.audioLevels.updatedAt).toLocaleString()]}):null]}),r.jsxs("label",{className:"grid gap-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{children:"Horn gain"}),r.jsxs("span",{children:[K.hornGain.toFixed(2),"x"]})]}),r.jsx("input",{type:"range",min:"0",max:"4",step:"0.01",value:K.hornGain,onChange:g1("hornGain"),className:"w-full accent-emerald-500"})]}),r.jsxs("label",{className:"grid gap-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{children:"TTS gain"}),r.jsxs("span",{children:[K.ttsGain.toFixed(2),"x"]})]}),r.jsx("input",{type:"range",min:"0",max:"4",step:"0.01",value:K.ttsGain,onChange:g1("ttsGain"),className:"w-full accent-emerald-500"})]}),r.jsxs("label",{className:"grid gap-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{children:"Forward gain"}),r.jsxs("span",{children:[K.forwardGain.toFixed(2),"x"]})]}),r.jsx("input",{type:"range",min:"0",max:"4",step:"0.01",value:K.forwardGain,onChange:g1("forwardGain"),className:"w-full accent-emerald-500"})]}),r.jsx("div",{className:"flex gap-0.5 text-xs",children:r.jsx("button",{type:"button",onClick:T1,className:"button-dark",children:"Apply audio levels"})})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[r.jsx("span",{children:"Global objective"}),Y?r.jsxs("span",{children:["Updated ",new Date(Y).toLocaleString()]}):null]}),r.jsx("input",{type:"text",value:E,onChange:d1=>I(d1.target.value),placeholder:"Set a global objective",className:"field-input text-sm"}),r.jsxs("div",{className:"flex gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:b1,className:"button-dark",children:"Set objective"}),r.jsx("button",{type:"button",onClick:L1,className:"button-danger",children:"Clear"})]})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[r.jsx("span",{children:"Admin mode reason"}),t1?r.jsxs("span",{children:["Updated ",new Date(t1).toLocaleString()]}):null]}),r.jsx("textarea",{value:h1,onChange:d1=>T(d1.target.value),placeholder:"Set an admin mode reason",className:"field-input text-sm min-h-[3.5rem]"}),r.jsxs("div",{className:"flex gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:x1,className:"button-dark",children:"Set reason"}),r.jsx("button",{type:"button",onClick:C1,className:"button-danger",children:"Clear"})]})]}),r.jsx(oW,{roster:C,renderActions:d1=>r.jsxs("div",{className:"flex flex-wrap items-center gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:()=>O1(d1.id,!M1[d1.id]),className:"button-dark",children:M1[d1.id]?"Unlock":"Lock"}),r.jsx("button",{type:"button",onClick:()=>P1(d1.id),className:"button-dark",children:"Force"}),r.jsx("button",{type:"button",onClick:()=>h2(d1),disabled:!!H[d1.id],className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:H[d1.id]?"Rebooting...":"Reboot"}),r.jsx("button",{type:"button",onClick:()=>r1(d1),disabled:!!_[d1.id],className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:_[d1.id]?"Updating...":"Update"}),d1?.private?.enabled?r.jsxs("div",{className:"w-full rounded border border-slate-700/70 p-0.5 space-y-0.5 text-[0.7rem]",children:[r.jsx("div",{className:"text-slate-300",children:"Private safety"}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.speedLimitEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{speedLimitEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Speed limit"})]}),r.jsx("input",{type:"number",min:"1",max:"500",className:"field-input text-xs w-20",disabled:!k1,value:m1?.[d1.id]?.speedLimitMaxWheelSpeed??250,onChange:p1=>y1(d1.id,{speedLimitMaxWheelSpeed:Number(p1.target.value)||250})}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.hardOvercurrentEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{hardOvercurrentEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Hard overcurrent"})]}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.hardBumpEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{hardBumpEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Hard bump"})]}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.cliffEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{cliffEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Cliff safety"})]}),r.jsx("button",{type:"button",disabled:!k1,onClick:()=>j1(d1.id),className:"button-dark disabled:opacity-50",children:"Apply Safety"})]}):null]})}),r.jsx(mW,{health:W,roster:C}),r.jsx(dW,{state:L,onClearHistory:Z1,clearingHistory:R}),r.jsx(fW,{state:S,onClearHistory:D1,clearingHistory:$}),r.jsx(vW,{entries:M})]})}const xW=[{id:"driveForward",label:"Drive Forward",group:"Driving"},{id:"driveBackward",label:"Drive Backward",group:"Driving"},{id:"driveLeft",label:"Turn Left",group:"Driving"},{id:"driveRight",label:"Turn Right",group:"Driving"},{id:"boostModifier",label:"Boost Modifier",group:"Driving"},{id:"slowModifier",label:"Slow Modifier",group:"Driving"},{id:"auxMainForward",label:"Main Brush Forward",group:"Aux Motors"},{id:"auxMainReverse",label:"Main Brush Reverse",group:"Aux Motors"},{id:"auxSideForward",label:"Side Brush Forward",group:"Aux Motors"},{id:"auxSideReverse",label:"Side Brush Reverse",group:"Aux Motors"},{id:"auxVacuumFast",label:"Vacuum Max",group:"Aux Motors"},{id:"auxVacuumSlow",label:"Vacuum Low",group:"Aux Motors"},{id:"auxAllForward",label:"All Aux Forward",group:"Aux Motors"},{id:"cameraUp",label:"Camera Up",group:"Camera"},{id:"cameraDown",label:"Camera Down",group:"Camera"},{id:"headlightToggle",label:"Toggle Headlight",group:"Camera"},{id:"laserToggle",label:"Toggle Laser",group:"Camera"},{id:"videoFilterCycle",label:"Cycle Video Filter",group:"Camera"},{id:"hornHonk",label:"Horn (Hold)",group:"Audio"},{id:"micPtt",label:"Mic Push To Talk",group:"Audio"},{id:"driveMacro",label:"Drive Macro",group:"Macros"},{id:"dockMacro",label:"Dock Macro",group:"Macros"},{id:"chatFocus",label:"Toggle Chat",group:"Chat"},{id:"songNoteUp",label:"Song Note Up",group:"Audio"},{id:"songNoteDown",label:"Song Note Down",group:"Audio"},{id:"homeAssistantOn",label:"Room Controls On (Cycle)",group:"Room Controls"},{id:"homeAssistantOff",label:"Room Controls Off (Cycle)",group:"Room Controls"}];function zW(t){return t.reduce((a,n)=>((a[n.group]||(a[n.group]=[])).push(n),a),{})}function bW(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(0,Math.min(500,n)):a}const Ga=5,K8=500,Q8=1,Ya=100;function yW(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Ga,Math.min(K8,n)):a}function ee(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Q8,Math.min(Ya,n)):a}function MW(t){const n=(ee(t,t)-Q8)/(Ya-Q8),i=K8-n*(K8-Ga);return Math.round(i)}function wW(t){const a=yW(t,t),n=(K8-a)/(K8-Ga),i=Q8+n*(Ya-Q8);return Math.round(i)}function CW(t){const[a,n]=m.useState(null),i=m.useCallback(d=>{uc(!0),n(d)},[]),u=m.useCallback(()=>{uc(!1),n(null)},[]),h=m.useCallback((d,v)=>{if(v.preventDefault(),v.stopPropagation(),v.key==="Escape"){u();return}const p=c5(v.key??"");p&&(t(d,p,v),u())},[u,t]);return m.useEffect(()=>()=>uc(!1),[]),{active:a,startCapture:i,cancel:u,captureFromEvent:h}}function Sc({children:t}){return r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm font-semibold text-white",children:t})}function Ht({label:t,description:a,value:n,onChange:i,min:u=0,max:h=500,step:d=5}){return r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_4.75rem] items-start gap-1.5 text-sm text-white",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:t}),r.jsx("input",{type:"number",min:u,max:h,value:n,onChange:v=>i(v.target.value),className:"w-full rounded border border-neutral-600 bg-neutral-900 px-1 py-0.5 text-right text-xs font-mono text-white"})]}),a&&r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:a}),r.jsxs("div",{className:"mt-1 flex items-center gap-1.5",children:[r.jsx("input",{type:"range",min:u,max:h,step:d,value:n,onChange:v=>i(v.target.value),className:"h-2 min-w-0 flex-1 accent-emerald-400"}),r.jsx("span",{className:"w-10 text-right text-xs font-mono text-white",children:n})]})]})}function SW({action:t,value:a,isActive:n,onCaptureStart:i,onCancel:u,onCaptureKeyDown:h}){return r.jsxs("div",{className:"mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm max-[420px]:grid-cols-1",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"font-semibold leading-snug text-white",children:t.label}),r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:_2(a)})]}),r.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-1 max-[420px]:justify-start",children:[n&&r.jsx("button",{type:"button",onClick:u,className:"button-danger px-1 py-0.5 text-xs",children:"Cancel"}),r.jsx("button",{type:"button",onClick:i,onKeyDown:n?h:void 0,autoFocus:n,className:`${n?"rounded-md bg-emerald-500 px-1 py-0.5 text-emerald-950 hover:bg-emerald-400":"button-dark px-1 py-0.5"} text-xs font-medium transition-colors`,children:n?"Press a key...":"Change"})]})]})}function HW(){const t=_1(S=>S.state.keymap),{updateKeyBinding:a,resetKeyBindings:n}=K4(),{value:i,save:u}=I1("inputs",D4),h={...D4.keyboard,...i.keyboard??{}},d=m.useMemo(()=>typeof h.tiltSpeed=="number"?ee(h.tiltSpeed,D4.keyboard.tiltSpeed):typeof h.tiltIntervalMs=="number"?ee(wW(h.tiltIntervalMs),D4.keyboard.tiltSpeed):D4.keyboard.tiltSpeed,[h.tiltIntervalMs,h.tiltSpeed]),v=m.useMemo(()=>zW(xW),[]),{active:p,startCapture:x,cancel:g,captureFromEvent:b}=CW((S,C)=>{a(S,C)}),y=m.useCallback(S=>t?.[S]?.[0]||q8[S]?.[0]||"",[t]),M=m.useCallback((S,C)=>{const B=D4.keyboard,A=bW(C,B[S]);u(H=>({...H??{},keyboard:{...H?.keyboard??B,[S]:A}}))},[u]),L=m.useCallback(S=>{const C=D4.keyboard,B=ee(S,C.tiltSpeed),A=MW(B);u(H=>({...H??{},keyboard:{...H?.keyboard??C,tiltSpeed:B,tiltIntervalMs:A}}))},[u]);return r.jsxs(N1,{title:"Keyboard layout",meta:"Per-browser · click to change a binding",actions:r.jsx("button",{type:"button",onClick:()=>n(),className:"button-dark px-1 py-0.5 text-xs",children:"Reset defaults"}),bodyClassName:"space-y-2 p-1 text-sm",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx(Sc,{children:"Keyboard speeds"}),r.jsxs("div",{className:"grid gap-1",children:[r.jsx(Ht,{label:"Base speed",description:"Normal driving speed",value:h.baseSpeed,onChange:S=>M("baseSpeed",S)}),r.jsx(Ht,{label:"Turbo speed",description:"Used when holding the boost modifier",value:h.turboSpeed,onChange:S=>M("turboSpeed",S)}),r.jsx(Ht,{label:"Precision speed",description:"Used when holding the precision modifier",value:h.precisionSpeed,onChange:S=>M("precisionSpeed",S)})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(Sc,{children:"Camera tilt"}),r.jsx(Ht,{label:"Tilt speed",description:"Higher = faster when holding tilt keys",value:d,onChange:L,min:1,max:100,step:1})]}),r.jsx("div",{className:"space-y-2",children:Object.entries(v).map(([S,C])=>r.jsxs("div",{className:"space-y-1",children:[r.jsx(Sc,{children:S}),r.jsx("div",{className:"grid gap-1",children:C.map(B=>{const A=y(B.id),H=p===B.id;return r.jsx(SW,{action:B,value:A,isActive:H,onCancel:()=>g(),onCaptureStart:()=>x(B.id),onCaptureKeyDown:j=>b(B.id,j)},B.id)})})]},S))})]})}const m3=new Intl.NumberFormat(void 0,{maximumFractionDigits:2}),AW=[{id:"drive",label:"Drive stick",kind:"axisPair",section:"Driving",invertDefaults:{invertX:!1,invertY:!0}},{id:"cameraTilt",label:"Camera tilt",kind:"axis",section:"Camera",invertDefaults:{invert:!0}},{id:"mainBrush",label:"Main brush",kind:"axis",section:"Brushes",invertDefaults:{invert:!1}},{id:"sideBrush",label:"Side brush",kind:"axis",section:"Brushes",invertDefaults:{invert:!1}},{id:"vacuum",label:"Vacuum",kind:"button",section:"Aux buttons"},{id:"allAux",label:"All aux",kind:"button",section:"Aux buttons"},{id:"mainReverse",label:"Main reverse toggle",kind:"button",section:"Brush toggles"},{id:"sideReverse",label:"Side reverse toggle",kind:"button",section:"Brush toggles"},{id:"driveMacro",label:"Drive macro",kind:"button",section:"Mode macros"},{id:"dockMacro",label:"Dock macro",kind:"button",section:"Mode macros"},{id:"headlightToggle",label:"Headlight toggle",kind:"button",section:"Camera"},{id:"laserToggle",label:"Laser toggle",kind:"button",section:"Camera"}],ho=.45,LW=.6;function N8({label:t,description:a,min:n,max:i,step:u,value:h,onChange:d}){return r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-1.5 text-sm text-white",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:t}),r.jsx("span",{className:"rounded bg-neutral-900 px-1 py-0.5 font-mono text-xs text-white",children:m3.format(h)})]}),a&&r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:a}),r.jsx("input",{type:"range",min:n,max:i,step:u,value:h,onChange:v=>d(Number(v.target.value)),className:"mt-1 w-full accent-emerald-400"})]})}function VW(t){if(!t)return"Unassigned";if(t.kind==="axisPair"){const a=`${t.invertX?"X inv ":""}${t.invertY?"Y inv":""}`.trim();return`Axes ${t.x}/${t.y}${a?` (${a})`:""}`}if(t.kind==="axis")return`Axis ${t.index}${t.invert?" (inv)":""}`;if(t.kind==="button")return`Button ${t.index}`;if(t.kind==="buttonAxis")return`Button ${t.index} (analog)`;if(t.kind==="axisButton"){const a=t.direction<0?"<":">";return`Axis ${t.index} ${a} ${m3.format(t.threshold??.6)}`}return"Unassigned"}function BW(t){return t.reduce((a,n)=>((a[n.section]||(a[n.section]=[])).push(n),a),{})}function NW(t,a){if(!t||t.length===0)return null;if(a){const n=t.find(i=>i.signature===a);if(n)return n}return t[0]}function jW(t){return{axes:Array.from(t.axes??[]),buttons:(t.buttons??[]).map(a=>({pressed:!!a?.pressed,value:typeof a?.value=="number"?a.value:a?.pressed?1:0}))}}function kW(t,a,n){const i=(t.axes??[]).map((h,d)=>({index:d,delta:Math.abs((h??0)-(a.axes?.[d]??0)),value:h}));if(i.sort((h,d)=>d.delta-h.delta),n.kind==="axisPair"){const h=i.filter(d=>d.delta>ho).slice(0,2);return h.length<2?null:{kind:"axisPair",x:h[0].index,y:h[1].index,...n.invertDefaults??{}}}const u=i.find(h=>h.delta>ho);return u?{kind:"axis",index:u.index,...n.invertDefaults??{}}:null}function FW(t,a,n){const i=t.buttons??[];for(let h=0;hLW)return n.kind==="axis"?{kind:"buttonAxis",index:h}:{kind:"button",index:h}}const u=t.axes??[];for(let h=0;h.7&&v>.5)return n.kind==="axis"?{kind:"axis",index:h,...n.invertDefaults??{}}:{kind:"axisButton",index:h,direction:d>=0?1:-1,threshold:.6}}return null}function RW(t,a,n){if(!t)return null;if(n.kind==="axis"||n.kind==="axisPair"){const i=kW(t,a,n);if(i)return i}return FW(t,a,n)}function At({children:t}){return r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm font-semibold text-white",children:t})}function EW({action:t,source:a,isCapturing:n,onClear:i,onCapture:u,onInvert:h}){return r.jsxs("div",{className:"mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm max-[520px]:grid-cols-1",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"font-semibold leading-snug text-white",children:t.label}),r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:VW(a)})]}),r.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-1 max-[520px]:justify-start",children:[t.kind==="axisPair"&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",disabled:!a,onClick:()=>h(t,"invertX"),className:"button-dark px-1 py-0.5 text-xs font-medium disabled:opacity-50",children:"Invert X"}),r.jsx("button",{type:"button",disabled:!a,onClick:()=>h(t,"invertY"),className:"button-dark px-1 py-0.5 text-xs font-medium disabled:opacity-50",children:"Invert Y"})]}),t.kind==="axis"&&r.jsx("button",{type:"button",disabled:!a,onClick:()=>h(t),className:"button-dark px-1 py-0.5 text-xs font-medium disabled:opacity-50",children:"Invert"}),r.jsx("button",{type:"button",onClick:()=>i(t),className:"button-dark px-1 py-0.5 text-xs",children:"Clear"}),r.jsx("button",{type:"button",onClick:()=>u(t),className:`${n?"rounded-md bg-emerald-500 px-1 py-0.5 text-emerald-950 hover:bg-emerald-400":"button-dark px-1 py-0.5"} text-xs font-medium`,children:n?"Waiting...":"Capture"})]})]})}function TW(){const t=KK(),{value:a,save:n}=I1("gamepad",Z3),[i,u]=m.useState(null),h=m.useRef(null),d=m.useMemo(()=>BW(AW),[]),v=m.useMemo(()=>NW(t.pads,a.activeSignature),[t.pads,a.activeSignature]),p=v?.signature??null,x=m.useMemo(()=>p?a?.profiles?.[p]??a?.defaults?.profile??v3:a?.defaults?.profile??v3,[p,a?.defaults?.profile,a?.profiles]);m.useEffect(()=>{!v||!p||a?.profiles?.[p]||n(C=>{const B=C??Z3;if(B.profiles?.[p])return B;const A=B?.defaults?.profile??v3,H=Bh(v,A);return{...B,profiles:{...B.profiles??{},[p]:H}}})},[v,p,a?.profiles,n]),m.useEffect(()=>{h.current=null},[i,p]),m.useEffect(()=>{if(!i||!v)return;if(!h.current){h.current=jW(v);return}const C=RW(v,h.current,i);C&&(n(B=>{const A=B??Z3,H=A.profiles?.[p]??A?.defaults?.profile??v3,j={...H,bindings:{...H.bindings??{},[i.id]:{...H.bindings?.[i.id]??{},kind:i.kind,sources:[C]}}};return{...A,profiles:{...A.profiles??{},[p]:j}}}),u(null))},[v,p,i,n]);const g=m.useCallback(C=>{n(B=>({...B??Z3,activeSignature:C||null}))},[n]),b=m.useCallback(C=>{n(B=>{const A=B??Z3,H=(p&&A.profiles?.[p])??A?.defaults?.profile??v3,j={...H,calibration:{...H.calibration??{},...C}};return p?{...A,profiles:{...A.profiles??{},[p]:j}}:{...A,defaults:{...A.defaults??{},profile:j}}})},[p,n]),y=m.useCallback((C,B)=>{n(A=>{const H=A??Z3,j=(p&&H.profiles?.[p])??H?.defaults?.profile??v3,_=B(j.bindings?.[C]??{}),F={...j,bindings:{...j.bindings??{},[C]:_}};return p?{...H,profiles:{...H.profiles??{},[p]:F}}:{...H,defaults:{...H.defaults??{},profile:F}}})},[p,n]),M=m.useCallback(C=>{y(C.id,B=>({...B,sources:[]}))},[y]),L=m.useCallback((C,B)=>{y(C.id,A=>{const H=Array.isArray(A.sources)?[...A.sources]:[];if(!H[0])return A;const j={...H[0]};return B==="invertX"?j.invertX=!j.invertX:B==="invertY"?j.invertY=!j.invertY:j.invert=!j.invert,H[0]=j,{...A,sources:H}})},[y]),S=m.useMemo(()=>v?{outputs:Nh(v,x)}:null,[v,x]);return r.jsxs(N1,{title:"Controller",meta:v?"Move sticks or press buttons to bind":"Connect a controller to configure.",bodyClassName:"space-y-2 p-1 text-sm",children:[i&&r.jsxs("p",{className:"mx-auto w-full max-w-lg rounded bg-emerald-950/50 px-1.5 py-1 text-sm text-white",children:["Capturing ",i.label,"..."]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:"Connected controller"}),t.pads.length===0?r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm text-white",children:"No controller detected."}):r.jsxs("div",{className:"mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm max-[420px]:grid-cols-1",children:[r.jsx("select",{value:p??"",onChange:C=>g(C.target.value),className:"min-w-0 rounded border border-neutral-600 bg-neutral-900 px-1 py-0.5 text-sm text-white",children:t.pads.map(C=>r.jsx("option",{value:C.signature,children:C.id||"Unknown controller"},C.signature))}),r.jsx("span",{className:"rounded bg-neutral-900 px-1 py-0.5 text-xs text-white",children:v?.mapping??"unknown"})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:"Calibration"}),r.jsxs("div",{className:"grid gap-1",children:[r.jsx(N8,{label:"Drive deadzone",description:"Ignore small drive stick drift",min:0,max:.6,step:.01,value:x.calibration?.driveDeadzone??.18,onChange:C=>b({driveDeadzone:C})}),r.jsx(N8,{label:"Camera deadzone",description:"Ignore small camera tilt drift",min:0,max:.4,step:.01,value:x.calibration?.cameraDeadzone??.08,onChange:C=>b({cameraDeadzone:C})}),r.jsx(N8,{label:"Aux deadzone",description:"Ignore small trigger noise",min:0,max:.4,step:.01,value:x.calibration?.auxDeadzone??.05,onChange:C=>b({auxDeadzone:C})}),r.jsx(N8,{label:"Side brush scale",description:"Scale side brush output",min:.3,max:1,step:.05,value:x.calibration?.auxSideScale??.55,onChange:C=>b({auxSideScale:C})}),r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-1.5 text-sm text-white",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:"Camera mode"}),r.jsxs("select",{value:x.calibration?.cameraMode??"absolute",onChange:C=>b({cameraMode:C.target.value}),className:"rounded border border-neutral-600 bg-neutral-900 px-1 py-0.5 text-sm text-white",children:[r.jsx("option",{value:"absolute",children:"Absolute"}),r.jsx("option",{value:"velocity",children:"Velocity"})]})]}),r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:"Absolute maps stick to angle; velocity moves over time."})]}),r.jsx(N8,{label:"Camera sensitivity",description:"Velocity mode degrees per second",min:10,max:180,step:5,value:x.calibration?.cameraSensitivity??60,onChange:C=>b({cameraSensitivity:C})})]})]}),r.jsx("div",{className:"space-y-2",children:Object.entries(d).map(([C,B])=>r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:C}),r.jsx("div",{className:"grid gap-1",children:B.map(A=>{const j=x.bindings?.[A.id]?.sources?.[0]??null;return r.jsx(EW,{action:A,source:j,isCapturing:i?.id===A.id,onClear:M,onCapture:u,onInvert:L},A.id)})})]},C))}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:"Diagnostics"}),v?r.jsxs("div",{className:"mx-auto w-full max-w-lg space-y-1 rounded bg-neutral-900/70 px-1.5 py-1 text-xs text-white",children:[r.jsx("p",{className:"text-white",children:"Raw axes"}),r.jsx("div",{className:"grid grid-cols-2 gap-1",children:v.axes.map((C,B)=>r.jsxs("span",{className:"font-mono text-white",children:["A",B,": ",m3.format(C)]},`axis-${B}`))}),r.jsx("p",{className:"text-white",children:"Raw buttons"}),r.jsx("div",{className:"grid grid-cols-2 gap-1",children:v.buttons.map((C,B)=>r.jsxs("span",{className:"font-mono text-white",children:["B",B,": ",m3.format(C.value)," ",C.pressed?"●":""]},`btn-${B}`))}),S?.outputs&&r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-white",children:"Mapped outputs"}),r.jsxs("div",{className:"grid grid-cols-2 gap-1",children:[r.jsxs("span",{className:"font-mono text-white",children:["Drive: ",m3.format(S.outputs.driveVector.x),","," ",m3.format(S.outputs.driveVector.y)]}),r.jsxs("span",{className:"font-mono text-white",children:["Camera: ",m3.format(S.outputs.cameraAxis)]}),r.jsxs("span",{className:"font-mono text-white",children:["Main: ",m3.format(S.outputs.auxAxis.main)]}),r.jsxs("span",{className:"font-mono text-white",children:["Side: ",m3.format(S.outputs.auxAxis.side)]})]})]})]}):r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm text-white",children:"No controller detected."})]})]})}const _W={drive:"Drive wheels",aux:"Aux motors"};function fo(t){return Number.isFinite(t)?`${Math.round(t*100)}%`:"--"}function qW({value:t,color:a="bg-emerald-500"}){const n=`${Math.round(Math.max(0,Math.min(1,t))*100)}%`;return r.jsx("div",{className:"h-2 w-full overflow-hidden rounded bg-slate-800",children:r.jsx("div",{className:`h-full ${a}`,style:{width:n}})})}function DW(){const t=_1(i=>i.state.roverId),a=_1(i=>i.overcurrentLimiter),n=m.useMemo(()=>b6.map(i=>i.key),[]);return r.jsx(N1,{title:"Overcurrent limiter",meta:a?.adminImmune?"Admin immune":"Active",bodyClassName:"space-y-0.5 text-sm",children:t?r.jsxs("div",{className:"space-y-0.5",children:[n.map(i=>{const u=a?.caps?.[i]?.cap??0,h=a?.overcurrent?.groups?.[i]??!1,d=a?.scales?.perGroup?.[i]??1;return r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs",children:[r.jsx("span",{className:"text-slate-200",children:_W[i]||i}),r.jsx("span",{className:h?"text-red-300":"text-slate-400",children:h?"overcurrent":"ok"})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-[0.7rem] text-slate-400",children:[r.jsx("span",{children:"Cap"}),r.jsx("span",{children:fo(u)})]}),r.jsx(qW,{value:u,color:"bg-amber-500"}),r.jsxs("div",{className:"flex items-center justify-between text-[0.7rem] text-slate-400",children:[r.jsx("span",{children:"Scale"}),r.jsx("span",{children:fo(d)})]})]})]},i)}),r.jsxs("div",{className:"text-[0.7rem] text-slate-400",children:[r.jsx("div",{children:`Down rate ${a?.config?.downRatePerSec}/s · Up rate ${a?.config?.upRatePerSec}/s`}),r.jsx("div",{children:`Release delay ${a?.config?.releaseDelaySec}s`}),r.jsx("div",{children:`Output rate ${a?.config?.outputRateMs}ms`})]})]}):r.jsx("p",{className:"text-xs text-slate-500",children:"Assign a rover to view limiter status."})})}const td="pride-page-bg",A2="gap-0.5",w6="space-y-0.5",ed=m.createContext(null);function cd(){const t=m.useContext(ed);if(!t)throw new Error("Tabs components must be used within a provider.");return t}const mo={primary:{base:"flex-1 px-0.5 py-0.5 text-sm font-medium focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-slate-500 rounded-md border border-slate-800",active:"bg-sky-600 text-white border-white",inactive:"bg-zinc-900 text-slate-300 hover:bg-sky-500 hover:text-white"}},vo={none:"",pink:"bg-pink-500 text-white border-pink-200 hover:bg-pink-400",green:"bg-emerald-500 text-white border-emerald-200 hover:bg-emerald-400",pinkblue:"bg-gradient-to-r from-lime-800 to-teal-800"},ad="primary";function Ka(...t){return t.filter(Boolean).join(" ")}function Le({children:t,defaultTab:a,currentTab:n,onTabChange:i,variant:u=ad}){const[h,d]=m.useState(a??null),[v,p]=m.useState([]),x=m.useCallback(M=>M?(p(L=>L.includes(M)?L:[...L,M]),()=>p(L=>L.includes(M)?L.filter(S=>S!==M):L)):()=>{},[]),g=n??h??v[0]??null;m.useEffect(()=>{a&&n===void 0&&d(a)},[a,n]);const b=m.useCallback(M=>{M&&(n===void 0&&d(M),i&&i(M))},[n,i]),y=m.useMemo(()=>({activeTab:g,setActiveTab:b,registerTab:x,variant:u}),[g,b,x,u]);return r.jsx(ed.Provider,{value:y,children:t})}function Ve({children:t,className:a=""}){return r.jsx("div",{className:Ka("panel-section overflow-hidden border border-neutral-500/60 bg-neutral-900/95 p-0.5",a),children:r.jsx("div",{className:`flex ${A2}`,children:t})})}function q2({id:t,children:a,className:n="",disabled:i=!1,highlight:u="none"}){const{activeTab:h,setActiveTab:d,registerTab:v,variant:p}=cd();m.useEffect(()=>v(t),[t,v]);const x=mo[p]??mo[ad],g=h===t,b=vo[u]||vo.none,y=Ka(x.base,b||(g?x.active:x.inactive),i?"cursor-not-allowed opacity-50":"",n);return r.jsx("button",{type:"button",className:y,onClick:()=>!i&&d(t),"aria-pressed":g,"aria-disabled":i,children:a})}function Be({children:t,className:a=""}){return r.jsx("div",{className:Ka("mt-0",w6,a),children:t})}function D2({id:t,children:a,keepMounted:n=!1}){const{activeTab:i}=cd(),u=i===t;return!u&&!n?null:!u&&n?r.jsx("div",{hidden:!0,"aria-hidden":"true",children:a}):r.jsx(r.Fragment,{children:a})}function OW(){const{session:t}=N0(),a=m.useMemo(()=>JSON.stringify(t??{},null,2),[t]);return r.jsx(N1,{title:"Session snapshot",className:"min-h-0",bodyClassName:"flex min-h-0 flex-col gap-0.5 text-xs",children:r.jsx("pre",{className:"min-h-0 flex-1 overflow-y-auto font-mono text-[0.7rem] text-lime-300",children:a})})}const po=300,go=240;function UW(t,a){if(t===void 0)return"undefined";if(t===null)return"null";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);if(typeof t=="function")return"[Function]";if(t instanceof Error)return`${t.name}: ${t.message}`;if(t instanceof Date)return t.toISOString();if(a||(a=new WeakSet),typeof t=="object"){if(a.has(t))return"[Circular]";a.add(t)}try{return JSON.stringify(t,(n,i)=>typeof i=="function"?"[Function]":i instanceof Error?`${i.name}: ${i.message}`:i,0)}catch{return String(t)}}function IW(t){const n=t.map(i=>UW(i)).join(" ");return n.length>go?`${n.slice(0,go)}…`:n}function PW(){const t=N2(),[a,n]=m.useState([]),i=m.useMemo(()=>a.reduce((h,d)=>(d.direction==="in"&&(h.in+=1),d.direction==="out"&&(h.out+=1),h),{in:0,out:0}),[a]);m.useEffect(()=>{const h=(x,g,b)=>{n(y=>{const M=[...y,{id:`${Date.now()}-${Math.random().toString(16).slice(2)}`,direction:x,event:g,payload:IW(b),timestamp:new Date().toLocaleTimeString()}];return M.length>po?M.slice(-po):M})},d=(x,...g)=>h("in",x,g),v=(x,...g)=>h("out",x,g);t.onAny(d);let p=null;if(typeof t.onAnyOutgoing=="function")t.onAnyOutgoing(v),p=()=>t.offAnyOutgoing(v);else{const x=t.emit.bind(t);t.emit=(g,...b)=>(v(g,...b),x(g,...b)),p=()=>{t.emit=x}}return()=>{t.offAny(d),p&&p()}},[t]);const u=r.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-slate-400",children:[r.jsxs("span",{children:["in ",i.in]}),r.jsxs("span",{children:["out ",i.out]}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>n([]),children:"Clear"})]});return r.jsxs(N1,{title:"Socket activity",actions:u,bodyClassName:"space-y-0.5 text-base",children:[r.jsx("div",{className:"h-64 overflow-y-auto font-mono text-xs",children:a.length===0?r.jsx("p",{children:"No socket activity yet."}):a.slice().reverse().map(h=>r.jsxs("div",{children:[r.jsx("span",{className:"text-slate-400",children:h.timestamp})," ",r.jsxs("span",{className:h.direction==="in"?"text-emerald-400":"text-amber-400",children:["[",h.direction.toUpperCase(),"]"]})," ",r.jsx("span",{className:"text-cyan-300",children:h.event})," ",r.jsx("span",{className:"text-slate-200",children:h.payload})]},h.id))}),r.jsx("p",{className:"text-xs text-slate-500",children:"Logs are collected only while this panel is open."})]})}function fe({label:t}){return t?r.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:t}):null}const $W=[{key:"start",label:"Start OI"},{key:"safe",label:"Safe"},{key:"full",label:"Full"},{key:"passive",label:"Passive"},{key:"dock",label:"Dock"}],nd=[{key:"none",label:"Color"},{key:"grayscale",label:"Gray"},{key:"greenscale",label:"Green"}];function xo(t){return nd.some(a=>a.key===t)?t:j0.colorFilter}function m0({children:t,className:a=""}){return r.jsx("label",{className:`mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm text-white max-[420px]:grid-cols-1 ${a}`,children:t})}function Lt({children:t}){return r.jsx("p",{className:"mx-auto w-full max-w-lg text-xs leading-snug text-white",children:t})}function Vt({label:t,value:a,disabled:n=!1,onChange:i}){return r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1 text-sm text-white",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:t}),r.jsxs("span",{className:"rounded bg-neutral-900 px-1 py-0.5 text-xs text-white",children:[Math.round(a*100),"%"]})]}),r.jsx("input",{type:"range",min:"0",max:"1",step:"0.01",value:a,onChange:i,className:"mt-1 w-full accent-emerald-500 disabled:opacity-50",disabled:n})]})}function rd(){const t=_1(E=>E.state.keymap),a=_1(E=>E.state.roverId),{sendOiCommand:n,setSensorStream:i}=K4(),u=!!a,[h,d]=Ph(),v=N2(),{value:p,save:x}=I1("page",{hudMapDesktop:!1,connectionTransport:"websocket",swapMobileControlColumns:!1,driveMacroBackoffEnabled:!0}),{value:g,save:b}=I1("audio",y2),{value:y,save:M}=I1("video",j0),L=p?.connectionTransport||"websocket",S=!!p?.swapMobileControlColumns,C=typeof p?.driveMacroBackoffEnabled=="boolean"?p.driveMacroBackoffEnabled:!0,B=Number.isFinite(g?.masterVolume)?g.masterVolume:y2.masterVolume,A=Number.isFinite(g?.alertVolume)?g.alertVolume:y2.alertVolume,H=Number.isFinite(g?.roverVolume)?g.roverVolume:y2.roverVolume,j=typeof g?.mainBrushDuckEnabled=="boolean"?g.mainBrushDuckEnabled:typeof g?.autoLevelEnabled=="boolean"?g.autoLevelEnabled:y2.mainBrushDuckEnabled,_=Number.isFinite(g?.mainBrushDuckAmount)?Math.max(0,Math.min(1,g.mainBrushDuckAmount)):y2.mainBrushDuckAmount,F=xo(y?.colorFilter),N=_2(t?.videoFilterCycle?.[0]),V=m.useMemo(()=>[{key:"start",label:"Enable stream",enable:!0},{key:"stop",label:"Disable stream",enable:!1}],[]),R=E=>{a&&i(E)},q=E=>{const I=E.target.value;x(Z=>({...Z??{},connectionTransport:I})),u1("settings_change",{setting:"connection_transport",value:I}),v?.io?.opts&&(v.io.opts.transports=I==="polling"?["polling"]:["websocket","polling"],v.disconnect(),v.connect())},$=E=>I=>{const Z=Number(I.target.value),t1=Number.isFinite(Z)?Math.max(0,Math.min(1,Z)):0;b(h1=>({...h1??{},[E]:t1})),x3("settings_change",{setting:E,value:t1},{key:`audio:${E}`,throttleMs:3*1e3})},D=E=>{const I=!!E.target.checked;b(Z=>({...Z??{},mainBrushDuckEnabled:I})),u1("settings_change",{setting:"mainBrushDuckEnabled",value:I})},W=E=>{const I=!!E.target.checked;x(Z=>({...Z??{},swapMobileControlColumns:I})),u1("mobile_controls_swap",{enabled:I}),u1("settings_change",{setting:"swapMobileControlColumns",value:I})},n1=E=>{const I=!!E.target.checked;x(Z=>({...Z??{},driveMacroBackoffEnabled:I})),u1("settings_change",{setting:"driveMacroBackoffEnabled",value:I})},Y=E=>{const I=xo(E.target.value);M(Z=>({...Z??{},colorFilter:I})),u1("settings_change",{setting:"videoColorFilter",value:I})};return r.jsxs(Le,{defaultTab:"keybindings",children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"keybindings",children:"Keybindings"}),r.jsx(q2,{id:"controller",children:"Controller"}),r.jsx(q2,{id:"page",children:"Page settings"}),r.jsx(q2,{id:"admin",children:"Admin"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"keybindings",children:r.jsx("div",{className:"space-y-0.5",children:r.jsx(HW,{})})}),r.jsx(D2,{id:"controller",children:r.jsx("div",{className:"space-y-0.5",children:r.jsx(TW,{})})}),r.jsx(D2,{id:"page",children:r.jsxs("div",{className:"grid gap-1.5 lg:grid-cols-2",children:[r.jsxs(N1,{title:"HUD",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsxs(m0,{className:"grid-cols-[auto_minmax(0,1fr)] max-[420px]:grid-cols-[auto_minmax(0,1fr)]",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:h,onChange:E=>d(E.target.checked)}),r.jsx("span",{className:"font-semibold text-white",children:"Show top-down map in HUD (desktop)"})]}),r.jsx(Lt,{children:"Mobile HUD keeps the map on by default."})]}),r.jsxs(N1,{title:"Video",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsxs(m0,{children:[r.jsx("span",{className:"font-semibold text-white",children:"Rover video filter"}),r.jsx("select",{value:F,onChange:Y,className:"field-input min-w-28 px-1 py-0.5 text-sm",children:nd.map(E=>r.jsx("option",{value:E.key,children:E.label},E.key))})]}),r.jsx(Lt,{children:r.jsxs("span",{className:"inline-flex flex-wrap items-center gap-1",children:[r.jsx("span",{children:"Use"}),N?r.jsx(fe,{label:N}):null,r.jsx("span",{children:"to cycle filters. Applies only to rover camera pixels; HUD overlays stay full color."})]})})]}),r.jsx(N1,{title:"Mobile controls",bodyClassName:"space-y-1 p-1 text-sm",children:r.jsxs(m0,{className:"grid-cols-[auto_minmax(0,1fr)] max-[420px]:grid-cols-[auto_minmax(0,1fr)]",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:S,onChange:W}),r.jsx("span",{className:"font-semibold text-white",children:"Swap control columns (put joystick on the left)"})]})}),r.jsx(N1,{title:"Macros",bodyClassName:"space-y-1 p-1 text-sm",children:r.jsxs(m0,{className:"grid-cols-[auto_minmax(0,1fr)] max-[420px]:grid-cols-[auto_minmax(0,1fr)]",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:C,onChange:n1}),r.jsx("span",{className:"font-semibold text-white",children:"Enable backward bump in drive macro"})]})}),r.jsxs(N1,{title:"Audio",className:"lg:col-span-2",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsx(Vt,{label:"Master volume",value:B,onChange:$("masterVolume")}),r.jsx(Vt,{label:"Alert/page sounds",value:A,onChange:$("alertVolume")}),r.jsx(Vt,{label:"Rover audio",value:H,onChange:$("roverVolume")}),r.jsxs(m0,{children:[r.jsx("span",{className:"font-semibold text-white",children:"Main brush ducking"}),r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:j,onChange:D})]}),r.jsx(Vt,{label:"Main brush duck amount",value:_,onChange:$("mainBrushDuckAmount"),disabled:!j}),r.jsx(Lt,{children:"Lowers rover audio only while the main brush is running."})]}),r.jsxs(N1,{title:"Connection",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsxs(m0,{children:[r.jsx("span",{className:"font-semibold text-white",children:"Transport"}),r.jsxs("select",{value:L,onChange:q,className:"field-input min-w-28 px-1 py-0.5 text-sm",children:[r.jsx("option",{value:"websocket",children:"WebSocket"}),r.jsx("option",{value:"polling",children:"Polling"})]})]}),r.jsx(Lt,{children:"Switching reconnects your session."})]})]})}),r.jsx(D2,{id:"admin",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(N1,{title:"Manual OI commands",bodyClassName:"space-y-0.5 text-sm",children:r.jsx("div",{className:"flex flex-wrap gap-0.5",children:$W.map(E=>r.jsx("button",{type:"button",onClick:()=>n(E.key),disabled:!u,className:"button-dark text-xs disabled:opacity-30",children:E.label},E.key))})}),r.jsxs(N1,{title:"Sensor stream",bodyClassName:"space-y-0.5 text-sm",children:[r.jsx("div",{className:"flex gap-0.5",children:V.map(E=>r.jsx("button",{type:"button",onClick:()=>R(E.enable),disabled:!u,className:"flex-1 button-dark text-xs disabled:opacity-30",children:E.label},E.key))}),!u&&r.jsx("p",{className:"text-xs text-slate-500",children:"Assign a rover to toggle streams."})]}),r.jsx(Za,{}),r.jsx(DW,{}),r.jsx(gW,{}),r.jsx(OW,{}),r.jsx(PW,{})]})})]})]})}const zo={desktop:{main:[{type:"list",title:"Chat and nicknames",items:["Set a nickname in the user list panel, on the bottom left of the page below the rover video.",{segments:["Toggle chat focus with ",{action:"chatFocus"},". Press ",{action:"chatFocus"}," again to send."]}]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button onscreen, or press ',{action:"driveMacro"}," on your keyboard to put the rover into driving mode."]},"Refer to the controls for the controls for the rover."]},{type:"list",title:"Docking the rover",items:['If the rover shows "Docking in Progress", it is already auto-seeking the dock.',"To dock manually, enter Docking Assist from the drive panel.",{segments:['Press "Enter Docking Assist", or press ',{action:"dockMacro"},"."]},"In assist mode, camera tilts down and driving speed is limited for precise alignment."]}],aside:[{type:"keyboard",title:"Keyboard controls",footnote:"Per-browser; adjust bindings and speeds in Settings → Keybindings.",groups:[{id:"movement",title:"Movement",items:[{action:"driveForward",label:"Forward"},{action:"driveBackward",label:"Backward"},{action:"driveLeft",label:"Turn left"},{action:"driveRight",label:"Turn right"},{action:"boostModifier",label:"Boost speed"},{action:"slowModifier",label:"Precision speed"}]},{id:"macros",title:"Rover modes & chat",items:[{action:"driveMacro",label:"Drive macro"},{action:"dockMacro",label:"Docking assist toggle"},{action:"chatFocus",label:"Chat focus"}]},{id:"camera",title:"Camera",items:[{action:"cameraUp",label:"Tilt up"},{action:"cameraDown",label:"Tilt down"},{action:"headlightToggle",label:"Toggle headlight"},{action:"laserToggle",label:"Toggle laser"}]},{id:"motors",title:"Rover Aux Motors",items:[{action:"auxMainForward",label:"Main brush forward"},{action:"auxMainReverse",label:"Main brush reverse"},{action:"auxSideForward",label:"Side brush forward"},{action:"auxSideReverse",label:"Side brush reverse"},{action:"auxVacuumFast",label:"Vacuum max"},{action:"auxVacuumSlow",label:"Vacuum low"},{action:"auxAllForward",label:"All motors forward"}]},{id:"audio",title:"Audio / Song",items:[{action:"songNoteUp",label:"Song note up"},{action:"songNoteDown",label:"Song note down"}]},{id:"room-controls",title:"Room Controls",items:[{action:"homeAssistantOn",label:"Next room control on"},{action:"homeAssistantOff",label:"Next room control off (reverse)"}]}]},{type:"gamepad",title:"Gamepad / joystick",items:["Gamepad controls are fully configurable to handle inconsistent browser mappings.","Use Settings → Controller to bind inputs, calibrate deadzones, and view diagnostics.","If inputs behave oddly, the diagnostics panel will show raw axis/button values."]}]},"mobile-portrait":{main:[{type:"list",title:"Chat and nicknames",items:["Set a nickname in the user list panel below.","Tap in the chat box to send messages in the chat."]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button onscreen to put the rover into driving mode.']},"Look below the rover video. Use the joystick column to move the rover, and hold the aux buttons in the other control column."]},{type:"list",title:"Docking the rover",items:['If you see "Docking in Progress", the rover is currently auto-seeking the dock.',{segments:['For manual docking, press "Enter Docking Assist".']},"Assist mode tilts camera down and limits speed for precise alignment."]}]},"mobile-landscape":{main:[{type:"list",title:"Chat and nicknames",items:["Scroll down to see more of the page.","Set a nickname in the user list panel below.","Tap in the chat box to send messages in the chat."]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button, or the "Drive" button to put the rover into driving mode.']},"Use the joystick column beside the video feed to move the rover, and hold the aux buttons in the other control column."]},{type:"list",title:"Docking the rover",items:['If you see "Docking in Progress", the rover is currently auto-seeking the dock.',{segments:['For manual docking, press "Enter Docking Assist" (or "Dock" button).']},"Assist mode tilts camera down and limits speed for precise alignment."]}]}};function ZW(t){return zo[t]||zo.desktop}function ld({actionId:t,keymap:a}){const n=a?.[t]?.[0]??"";return r.jsx("span",{className:"rounded border border-slate-600 bg-slate-900/40 px-1 text-[0.7rem] text-slate-200",children:_2(n)})}function bo(t,a){return t.map((n,i)=>typeof n=="string"?r.jsx("span",{children:n},`text-${i}`):n?.action?r.jsx(ld,{actionId:n.action,keymap:a},`pill-${n.action}-${i}`):n?.text?r.jsx("span",{children:n.text},`span-${i}`):null)}function Ne(t,a,n){if(typeof t=="string")return t;if(Array.isArray(t?.segments))return bo(t.segments,a);if(t&&typeof t=="object"){if(typeof t.text=="string")return t.text;if(Array.isArray(t))return bo(t,a)}return String(t??"")}function GW({hero:t,keymap:a}){return t?r.jsxs("div",{className:"surface space-y-0.5 px-0.5 py-0.5",children:[r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-0.5",children:[r.jsxs("div",{children:[r.jsx("p",{className:"text-sm font-semibold text-white",children:t.title}),t.subtitle&&r.jsx("p",{className:"text-xs text-slate-300",children:t.subtitle})]}),t.chips&&r.jsx("div",{className:"flex flex-wrap gap-0.5 text-[0.7rem] text-slate-200",children:t.chips.map(n=>r.jsx("span",{className:"rounded border border-slate-700 px-1 py-[2px]",children:n},n))})]}),t.bullets&&r.jsx("ul",{className:"space-y-0.5 text-[0.85rem] text-slate-200",children:t.bullets.map((n,i)=>{const u=Array.isArray(n?.segments)?`hero-${i}`:`hero-${i}`;return r.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:Ne(n,a)},u)})})]}):null}function YW({block:t,keymap:a}){return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs font-semibold text-slate-200",children:t.title}),r.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:t.items.map((n,i)=>{const u=`item-${i}`;return r.jsx("li",{className:"surface-muted flex flex-wrap items-center gap-0.5 px-0.5 py-0.25",children:Ne(n,a)},u)})})]})}function KW({block:t}){const a=t.tone==="info"?"border-cyan-500/40":"border-slate-700";return r.jsxs("div",{className:`surface space-y-0.5 border ${a} px-0.5 py-0.5`,children:[r.jsx("p",{className:"text-xs font-semibold text-slate-100",children:t.title}),t.body&&r.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:t.body.map((n,i)=>r.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:Ne(n,{})},`callout-${i}`))})]})}function QW({group:t,keymap:a}){return r.jsxs("div",{className:"space-y-0.5 surface",children:[r.jsx("p",{className:"px-0.5 py-0.25 text-[0.75rem] font-semibold text-slate-200",children:t.title}),r.jsx("div",{className:"space-y-0.5 px-0.5 pb-0.25",children:t.items.map(n=>r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.25 text-[0.8rem]",children:[r.jsx("span",{className:"text-slate-200",children:n.label}),r.jsx(ld,{actionId:n.action,keymap:a})]},n.action))})]})}function XW({block:t,keymap:a}){return t?r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-200",children:[r.jsx("span",{className:"font-semibold",children:t.title}),t.footnote&&r.jsx("span",{className:"text-[0.7rem] text-slate-400",children:t.footnote})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-0.5",children:t.groups?.map(n=>r.jsx(QW,{group:n,keymap:a},n.id))})]}):null}function WW({block:t}){return t?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs font-semibold text-slate-200",children:t.title}),r.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:t.items?.map((a,n)=>r.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:Ne(a,{})},`gamepad-${n}`))})]}):null}function yo({block:t,keymap:a}){if(!t)return null;switch(t.type){case"list":return r.jsx(YW,{block:t,keymap:a});case"callout":return r.jsx(KW,{block:t});case"keyboard":return r.jsx(XW,{block:t,keymap:a});case"gamepad":return r.jsx(WW,{block:t});default:return null}}function id({layout:t,keymap:a}){const n=m.useMemo(()=>ZW(t),[t]),i=a||{},u=n.main||[],h=n.aside||[];return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(GW,{hero:n.hero,keymap:i}),r.jsxs("div",{className:"grid gap-0.5",style:{gridTemplateColumns:"repeat(auto-fit, minmax(360px, 1fr))"},children:[r.jsx("div",{className:"space-y-0.5",children:u.map((d,v)=>r.jsx(yo,{block:d,keymap:i},d.title||v))}),r.jsx("div",{className:"space-y-0.5",children:h.map((d,v)=>r.jsx(yo,{block:d,keymap:i},d.title||v))})]})]})}function sd({layout:t,onOpenOverlay:a}){const n=_1(u=>u.state.keymap),i=r.jsx("button",{type:"button",onClick:a,className:"button-dark px-1 py-0.25 text-[0.75rem]",children:"Open full help"});return r.jsx(N1,{title:"Help",actions:i,bodyClassName:"space-y-0.5 text-sm",children:r.jsx(id,{layout:t,keymap:n||{}})})}function je({compact:t=!1}){const{setNickname:a}=O2(),{value:n,save:i}=I1("profile",{nickname:""}),[u,h]=m.useState(n.nickname||""),[d,v]=m.useState(!1);m.useEffect(()=>{h(n.nickname||"")},[n.nickname]);async function p(x){x.preventDefault();const g=(u||"").trim().slice(0,32);if(g){v(!0);try{await a(g),i({nickname:g}),u1("nickname_set",{length:g.length})}catch(b){alert(b.message)}finally{v(!1)}}}return r.jsxs("div",{className:"grid w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-stretch gap-0.5",children:[r.jsx("input",{className:"field-input flex-1 min-w-0",value:u,onChange:x=>h(x.target.value),onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),p(x))},maxLength:32,placeholder:"Enter a nickname"}),r.jsx("button",{type:"button",onClick:p,disabled:d,className:"button-dark h-full shrink-0 whitespace-nowrap px-0.5 py-0 disabled:opacity-50",children:d?"Saving…":t?"Set":"Save"})]})}const Mo=["kal","rms","slt","ksp","bdl"],wo=["sfg","iob","iog","iol","iom","tpc","tpd","tpf"],JW=Array.from({length:10},(t,a)=>a*10),Co=[.5,.75,1,1.25,1.5,1.75,2],So=1,od="tpf",g0={engine:"chromegtts",voice:od,pitch:50,googlePitch:So,googleSpeed:So};function tJ(t){return(1/t).toFixed(2)}function eJ(t){return{engine:t?.engine||g0.engine,voice:t?.voice||g0.voice,pitch:Number.isFinite(t?.pitch)?t.pitch:g0.pitch,googlePitch:Number.isFinite(t?.googlePitch)?t.googlePitch:g0.googlePitch,googleSpeed:Number.isFinite(t?.googleSpeed)?t.googleSpeed:g0.googleSpeed}}function cJ(t){const a=o1(h=>h.session?.role||null),n=o1(h=>h.session?.assignment?.roverId||null),i=o1(h=>h.session?.roster??[]),u=m.useMemo(()=>i.find(h=>String(h.id)===String(n))||null,[n,i]);return{canChat:a!=="spectator"||t,ttsSupported:!!u?.audio?.ttsEnabled}}function aJ({fillHeight:t=!1}){const{messages:a,typing:n}=jK(),i=m.useRef(null),u=m.useMemo(()=>a.slice(-200),[a]),h=m.useMemo(()=>n||[],[n]),d=t?"flex-1 min-h-0 overflow-y-auto":"h-48 overflow-y-auto";return m.useEffect(()=>{i.current&&(i.current.scrollTop=i.current.scrollHeight)},[u,h]),r.jsxs("div",{className:`overflow-y-auto space-y-0.5 px-0 ${d}`,ref:i,children:[u.length===0&&h.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:"No messages yet."}):u.map(v=>r.jsx(P8,{message:v},v.id)),h.map(v=>r.jsx(P8,{message:v,variant:"typing"},`typing-${v.typingId||v.id}`))]})}const nJ=m.memo(je);function rJ({ttsSupported:t,speak:a,onSpeakChange:n,engine:i,voice:u,pitch:h,googlePitch:d,googleSpeed:v,saveTtsSettings:p}){if(!t)return null;const x="field-input min-w-0 max-w-full px-0 text-xs";return r.jsxs("div",{className:"chat-composer-tts",children:[r.jsxs("label",{className:"flex shrink-0 items-center gap-0.5 whitespace-nowrap text-xs text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:a,onChange:g=>n(g.target.checked),className:"accent-cyan-500"}),r.jsx("span",{children:"Speak"})]}),r.jsxs("select",{value:i,onChange:g=>{const b=g.target.value,y=b==="chromegtts"&&!wo.includes(u)?od:b==="flite"&&!Mo.includes(u)?"rms":u;p(M=>({...M||{},engine:b,voice:y}))},className:`${x} w-[5.5rem] shrink`,children:[r.jsx("option",{value:"flite",children:"flite"}),r.jsx("option",{value:"espeak",children:"espeak"}),r.jsx("option",{value:"chromegtts",children:"Google speech"})]}),i==="flite"||i==="chromegtts"?r.jsxs(r.Fragment,{children:[r.jsx("select",{value:u,onChange:g=>{const b=g.target.value;p(y=>({...y||{},voice:b}))},className:`${x} w-[3.25rem] shrink`,children:(i==="chromegtts"?wo:Mo).map(g=>r.jsx("option",{value:g,children:g},g))}),i==="chromegtts"&&r.jsxs(r.Fragment,{children:[r.jsx("select",{value:d,onChange:g=>{const b=Number(g.target.value);p(y=>({...y||{},googlePitch:b}))},className:`${x} w-[5rem] shrink`,children:Co.map(g=>r.jsxs("option",{value:g,children:["pitch ",g.toFixed(2)]},`pitch-${g}`))}),r.jsx("select",{value:v,onChange:g=>{const b=Number(g.target.value);p(y=>({...y||{},googleSpeed:b}))},className:`${x} w-[5rem] shrink`,children:Co.map(g=>r.jsxs("option",{value:g,children:["speed ",tJ(g)]},`speed-${g}`))})]})]}):r.jsx("select",{value:h,onChange:g=>{const b=Number(g.target.value);p(y=>({...y||{},pitch:b}))},className:`${x} w-[4.5rem] shrink`,children:JW.map(g=>r.jsxs("option",{value:g,children:["pitch ",g]},g))})]})}function lJ({allowSpectatorInput:t=!1,hideSpectatorNotice:a=!1}){const{sendMessage:n,registerInputRef:i,onInputFocus:u,onInputBlur:h,blurChat:d,setTypingActive:v}=qa(),{canChat:p,ttsSupported:x}=cJ(t),{value:g,save:b}=I1("tts",g0),{engine:y,voice:M,pitch:L,googlePitch:S,googleSpeed:C}=eJ(g),[B,A]=m.useState(""),[H,j]=m.useState(!1),[_,F]=m.useState(!0),N=x&&_,V=m.useMemo(()=>N?y==="espeak"?{speak:!0,engine:y,pitch:L}:y==="chromegtts"?{speak:!0,engine:y,voice:M,pitch:S,speed:C}:{speak:!0,engine:y,voice:M}:null,[N,y,S,C,L,M]);async function R(q){if(q.preventDefault(),!p)return;const D=B.replace(/\\n/g,` -`).trim();if(D){j(!0);try{await n(D,V),A(""),d(),v(!1)}catch(W){alert(W.message)}finally{j(!1)}}}return r.jsxs("form",{className:"chat-composer",onSubmit:R,children:[r.jsx("div",{className:"chat-composer-nickname",children:r.jsx(nJ,{compact:!0})}),r.jsx("input",{className:"field-input chat-composer-input",value:B,onChange:q=>{const $=q.target.value;A($),v(!!$.trim())},onFocus:q=>{u(q),v(!!B.trim())},onBlur:q=>{h(q),v(!1)},onKeyDown:q=>{q.key==="Enter"&&!B.trim()&&(q.preventDefault(),d(),v(!1))},ref:q=>i(q,{target:"panel"}),placeholder:p?"Type a message…":a?"":"Spectators cannot chat",disabled:!p}),r.jsx("button",{type:"submit",disabled:!p||H,className:"button-dark chat-composer-send disabled:opacity-50",children:H?"...":"Send"}),r.jsx(rJ,{ttsSupported:x,speak:N,onSpeakChange:F,engine:y,voice:M,pitch:L,googlePitch:S,googleSpeed:C,saveTtsSettings:b})]})}const iJ=m.memo(aJ),sJ=m.memo(lJ);function n5({hideInput:t=!1,hideSpectatorNotice:a=!1,fillHeight:n=!1,allowSpectatorInput:i=!1,title:u="Chat and speech",minimal:h=!1}){const d=h||t,v=h?"":u;return r.jsxs(N1,{title:v,hideHeader:h||!v,fillHeight:n,bodyClassName:"space-y-0.5 text-base",children:[r.jsx(iJ,{fillHeight:n}),!d&&r.jsx(sJ,{allowSpectatorInput:i,hideSpectatorNotice:a})]})}function Qa({className:t=""}){const a=o1(n=>n.session?.socials??[]).slice(0,4);return a.length?r.jsx("div",{className:`grid grid-cols-2 grid-rows-2 gap-0.5 ${t}`,children:a.map(n=>r.jsx(He,{id:n?.id||n?.key||n?.service||null},`${n?.id||n?.label||"social"}-${n?.url||""}`))}):null}function oJ(){return r.jsx(N1,{title:"Links!",fillHeight:!0,bodyClassName:"flex flex-1 min-h-0 flex-col gap-0.5 text-base",children:r.jsx(Qa,{className:"flex-1 min-h-0"})})}function Hc(...t){return t.filter(Boolean).join(" ")}function uJ(t){const a=t?.batteryState?.percentDisplay;return a==null?"--":`${a}%`}function hJ(t){return t?.batteryState?t.batteryState.urgentActive?"text-red-400":t.batteryState.warnActive?"text-amber-300":"text-emerald-300":"text-slate-400"}function dJ(t){switch(t){case"admin":case"lockdown":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function fJ(t,a){if(!t)return"";const n=t.nickname||t.socketId?.slice(0,6)||"unknown";return t.socketId&&t.socketId===a?`${n} (you)`:n}function ke({title:t="Rovers"}){const a=o1(N=>N.session?.role||null),n=o1(N=>N.session?.roster??[]),i=o1(N=>N.session?.turnQueues??{}),u=o1(N=>N.session?.users??[]),h=o1(N=>N.session?.socketId||null),d=o1(N=>String(N.session?.assignment?.roverId||"").trim()),v=o1(N=>{const V=String(N.session?.assignment?.roverId||"").trim();return V?(N.session?.roster||[]).find(q=>String(q?.id)===V)?.name||V:""}),{requestControl:p,rebootOwnRover:x}=O2(),[g,b]=m.useState({}),[y,M]=m.useState(!1),L=m.useMemo(()=>a&&a!=="spectator",[a]),S=m.useMemo(()=>a==="admin"||a==="lockdown",[a]),C=m.useMemo(()=>Object.values(i||{}).some(N=>N?.deadline||N?.idleDeadline),[i]),B=e5(1e3,C),A=m.useMemo(()=>{const N=new Set(n.map(R=>String(R.id))),V=Object.keys(i||{}).filter(R=>!N.has(String(R))).map(R=>({id:R,name:R,locked:!1,batteryState:null}));return[...n,...V]},[n,i]);async function H(N){if(N){b(V=>({...V,[N]:!0})),u1("rover_queue_join",{roverId:N,alreadyAssigned:d===String(N)});try{await p(N),u1("rover_queue_join_result",{roverId:N,status:"accepted"})}catch(V){u1("rover_queue_join_result",{roverId:N,status:"failed",reason:V?.message||"unknown"}),alert(V.message)}finally{b(V=>({...V,[N]:!1}))}}}const j=N=>u.find(V=>V.socketId===N)||{socketId:N,nickname:null,role:null};async function _(){if(!(y||!window.confirm(`Reboot your rover "${v}" now?`))){M(!0),u1("rover_reboot_click",{roverId:d,scope:"own_rover"});try{await x(),u1("rover_reboot_result",{roverId:d,scope:"own_rover",status:"accepted"}),alert("Reboot command sent.")}catch(V){u1("rover_reboot_result",{roverId:d,scope:"own_rover",status:"failed",reason:V?.message||"unknown"}),alert(V.message)}finally{M(!1)}}}const F=a!=="spectator"&&d?r.jsx("button",{type:"button",onClick:_,disabled:y,className:"button-dark bg-amber-700/80 text-amber-50 hover:bg-amber-600 disabled:opacity-40",title:"Reboot your assigned rover",children:y?"Rebooting...":"Reboot My Rover"}):null;return r.jsx(N1,{title:t,actions:F,bodyClassName:"space-y-0.5 text-sm",children:A.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:"No rovers registered."}):r.jsx("ul",{className:"space-y-0.5 text-sm",children:A.map(N=>{const V=String(N.id),R=i?.[V]||null,q=R?.queue||[],$=R?.idleDeadline||R?.deadline||null,D=$&&$>B?Math.ceil(($-B)/1e3):$?0:null,W=R?.current||null,n1=W?q.findIndex(v1=>v1===W):-1,Y=q.length>1?n1>=0?q[(n1+1)%q.length]:q[0]:null,E=!!(h&&W&&W===h),I=!!(h&&Y&&Y===h),Z=D!=null&&(E||I),t1=!!(N?.private?.enabled&&N?.private?.open),h1=!!(N?.private?.enabled&&!N?.private?.open),T=!!N.locked,O=T&&!S&&!h1,K=N.lockReason?`locked: ${N.lockReason}`:"locked",l1=g[V]?"...":T&&!h1?K:"request",m1=L&&!O&&!g[V];return r.jsxs("li",{className:Hc("surface flex flex-wrap items-start justify-between gap-0.5",m1&&"cursor-pointer",T?"bg-red-900/40":t1?"bg-amber-700/35 border border-amber-200/30":null),onClick:()=>{m1&&H(N.id)},children:[r.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-0.5",children:[r.jsxs("p",{className:"min-w-0 flex items-center gap-0.5 whitespace-nowrap text-slate-200",children:[r.jsx(j4,{rover:N,fallback:V}),N.description?r.jsx("span",{className:"min-w-0 flex-1 truncate text-[0.7rem] text-slate-400",children:N.description}):null]}),Z?r.jsx("span",{className:"rounded bg-slate-800 px-1 text-[0.7rem] text-slate-200",children:E?`${D}s left`:`Your turn in ${D}s`}):null]}),r.jsx("span",{className:Hc("text-[0.75rem] font-semibold",hJ(N)),children:uJ(N)})]}),q.length===0?r.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"No queue."}):r.jsx("div",{className:"flex flex-wrap items-center gap-0.5",children:q.map((v1,A1)=>{const k1=j(v1),R1=v1===W,O1=!!(Y&&v1===Y&&!R1),Q1=R1?"bg-sky-600 text-white ring-2 ring-amber-300":O1?"bg-emerald-700/60 text-emerald-100 ring-1 ring-emerald-300/70":"bg-slate-800 text-slate-200";return r.jsxs("span",{className:`flex items-center gap-0.5 rounded px-1 text-[0.7rem] ${Q1}`,children:[r.jsx("span",{className:`${dJ(k1.role)} font-semibold`,children:fJ(k1,h)}),R1&&r.jsx("span",{className:"text-[0.65rem] text-slate-200",children:"now"}),O1&&r.jsx("span",{className:"text-[0.65rem] text-emerald-100",children:"next"})]},`${V}-${v1}-${A1}`)})})]}),L?r.jsx("button",{type:"button",onClick:v1=>{v1.stopPropagation(),H(N.id)},disabled:g[V]||O,className:Hc("button-dark disabled:opacity-40",T&&"bg-red-600/70 text-white hover:bg-red-600"),children:l1}):null]},N.id)})})})}function mJ(t){switch(t){case"admin":case"lockdown":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function vJ(t,a){if(!t)return"";const n=t.nickname||t.socketId?.slice(0,6)||"unknown";return t.socketId&&t.socketId===a?`${n} (you)`:n}function me({hideNicknameForm:t=!1,hideHeader:a=!1,className:n="",fillHeight:i=!1,compact:u=!1}){const h=o1(x=>x.session?.users??[]),d=o1(x=>x.session?.socketId||null),v=m.useMemo(()=>[...h].sort((x,g)=>x.socketId===d?-1:g.socketId===d?1:(x.nickname||"").localeCompare(g.nickname||"")),[d,h]),p=i?"flex-1 min-h-0 overflow-y-auto":u?"h-28 overflow-y-auto":"h-48 overflow-y-auto";return r.jsxs(N1,{title:a?"":"Users",hideHeader:a,fillHeight:i,className:n,bodyClassName:"space-y-0.5 text-base",children:[!t&&r.jsx("div",{className:"space-y-0.5",children:r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]",children:[r.jsx("div",{className:"min-w-0",children:r.jsx("div",{className:"flex w-full items-center px-0 py-0",children:r.jsx(je,{compact:u})})}),r.jsx(Qa,{})]})}),r.jsx("div",{className:`space-y-0.5 ${i?"flex flex-1 min-h-0 flex-col":""}`,children:r.jsx("div",{className:`flex flex-wrap content-start items-start gap-0.5 px-0 pb-0 ${p} ${u?"text-[0.8rem]":""}`,children:v.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:"Waiting for users…"}):v.map(x=>r.jsx("span",{className:`rounded px-1 py-0.25 text-[0.7rem] ${mJ(x.role)}`,children:vJ(x,d)},x.socketId))})})]})}function Bt(t){return typeof t!="number"||Number.isNaN(t)?"—":`${t>0?"+":""}${t.toFixed(1)}°`}function Ho({label:t}){return t?r.jsx("span",{className:"rounded bg-slate-800 px-1 py-0.5 text-[0.6rem] font-semibold text-slate-200",children:t}):null}function pJ({value:t,min:a,max:n,step:i=.5,label:u="Camera Tilt",orientation:h="horizontal",onChange:d,onCommit:v,throttleMs:p=0,disabled:x=!1,keyDownLabel:g,keyUpLabel:b,className:y="",labelRowClass:M="",labelClass:L="",valueClass:S="",sliderClass:C="",endpointClass:B="",endpointLabelClass:A="",accentClass:H="",showValue:j=!0,showEndpoints:_}){const F=h==="vertical",V=typeof _=="boolean"?_:!F,[R,q]=m.useState(t),$=m.useRef(!1),D=m.useRef(null);m.useEffect(()=>{$.current||q(t)},[t]),m.useEffect(()=>()=>{D.current&&clearTimeout(D.current)},[]);const W=Z=>{if(d){if(p>0){D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{d(Z)},p);return}d(Z)}},n1=Z=>{const t1=Number.parseFloat(Z.target.value);Number.isNaN(t1)||($.current=!0,q(t1),W(t1))},Y=()=>{$.current=!1,D.current&&(clearTimeout(D.current),D.current=null),v?v(R):p>0&&d?.(R)};if(typeof a!="number"||typeof n!="number")return null;const E=[F?"h-28 w-5":"w-full",H,C].filter(Boolean).join(" "),I=r.jsx("input",{type:"range",orient:F?"vertical":void 0,min:a,max:n,step:i,value:Number.isFinite(R)?R:a,onChange:n1,onMouseUp:Y,onTouchEnd:Y,onPointerUp:Y,disabled:x,className:E,style:F?{writingMode:"bt-lr",WebkitAppearance:"slider-vertical"}:void 0});return F?r.jsxs("div",{className:`flex h-full flex-col items-center gap-0.5 ${y}`.trim(),children:[j?r.jsx("div",{className:`flex flex-col items-center ${M}`.trim(),children:r.jsx("span",{className:S,children:Bt(t)})}):null,r.jsxs("div",{className:"flex min-h-0 flex-1 items-center gap-0.5",children:[r.jsx("span",{className:L,children:u}),I]})]}):r.jsxs("div",{className:`space-y-0.5 ${x?"opacity-50":""} ${y}`.trim(),children:[r.jsxs("div",{className:`flex items-center justify-between ${M}`.trim(),children:[r.jsx("span",{className:L,children:u}),j?r.jsx("span",{className:`rounded bg-slate-800 px-1 py-0.5 text-[0.7rem] font-semibold ${S}`.trim(),children:Bt(t)}):null]}),r.jsxs("div",{children:[I,V?r.jsxs("div",{className:`mt-0 flex items-center justify-between ${B}`.trim(),children:[r.jsxs("span",{className:`flex items-center gap-0.5 ${A}`.trim(),children:[g?r.jsx(Ho,{label:g}):null,Bt(a)]}),r.jsxs("span",{className:`flex items-center gap-0.5 ${A}`.trim(),children:[Bt(n),b?r.jsx(Ho,{label:b}):null]})]}):null]})]})}const gJ=/^cu_[a-f0-9]{32}$/,o4="field-input w-full max-w-sm text-left focus:ring-emerald-500",r5="mx-auto w-full max-w-xl flex justify-center",w0="mx-auto flex w-full max-w-md flex-col items-center space-y-0.5 text-center";function xJ(t){const a=String(t||"").trim();return a?a.length<=10?`${a.slice(0,2)}***${a.slice(-2)}`:`${a.slice(0,6)}...${a.slice(-6)}`:""}const Ao=8*1024*1024,g6=16e3,zJ={iceServers:[{urls:"stun:stun.l.google.com:19302"}],bundlePolicy:"max-bundle",rtcpMuxPolicy:"require"};function Lo(t){let a="";for(let i=0;i{if(!t||t.iceGatheringState==="complete"){n();return}const i=setTimeout(()=>{t.removeEventListener("icegatheringstatechange",u),n()},a);function u(){t.iceGatheringState==="complete"&&(clearTimeout(i),t.removeEventListener("icegatheringstatechange",u),n())}t.addEventListener("icegatheringstatechange",u)})}function Vo(t){if(!t)return!1;const a=t.connectionState,n=t.iceConnectionState;return a==="connected"||n==="connected"||n==="completed"}function wJ(t,a=1e4){return new Promise((n,i)=>{if(!t){i(new Error("Peer connection missing"));return}if(Vo(t)){n();return}const u=setTimeout(()=>{d(),i(new Error("Peer connection timeout"))},a),h=()=>{Vo(t)?(d(),n()):(t.connectionState==="failed"||t.connectionState==="closed"||t.iceConnectionState==="failed")&&(d(),i(new Error(`Peer connection ${t.connectionState||t.iceConnectionState}`)))};function d(){clearTimeout(u),t.removeEventListener("connectionstatechange",h),t.removeEventListener("iceconnectionstatechange",h)}t.addEventListener("connectionstatechange",h),t.addEventListener("iceconnectionstatechange",h)})}async function CJ(t){if(!t?.getParameters||!t?.setParameters)return;const a=t.getParameters()||{},n=a.encodings&&a.encodings[0]||{};a.encodings=[{...n,maxBitrate:64e3,dtx:"disabled"}];try{await t.setParameters(a)}catch{}}function SJ(t,a=6e3){return new Promise((n,i)=>{if(!t){i(new Error("Peer connection missing"));return}const u=Date.now();let h=-1;const d=setInterval(async()=>{if(Date.now()-u>a){clearInterval(d),i(new Error("WHIP connected but no outbound audio flow"));return}try{const v=t.getSenders().filter(p=>p.track?.kind==="audio");for(const p of v){const x=await p.getStats();for(const g of x.values()){if(g.type!=="outbound-rtp"||g.kind!=="audio")continue;const b=Number(g.bytesSent||0),y=Number(g.packetsSent||0);if(h<0)h=b;else if(b>h+200||y>5){clearInterval(d),n();return}}}}catch{}},250)})}function HJ(t){const a=t.reduce((u,h)=>u+h.length,0),n=new Float32Array(a);let i=0;for(const u of t)n.set(u,i),i+=u.length;return n}function AJ(t){const a=new Int16Array(t.length);for(let n=0;n{for(let g=0;gx1.state.keymap),p=_1(x1=>!!x1.state.mic?.pttActive),{value:x,save:g}=I1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),b=String(t||"").trim(),[y,M]=m.useState(null),[L,S]=m.useState(!1),C=!!x?.openMicEnabled,A=(x?.pttMode==="clip"?"clip":"live")==="clip",[H,j]=m.useState("idle"),[_,F]=m.useState("idle"),[N,V]=m.useState(""),R=m.useRef(null),q=m.useRef(null),$=m.useRef(null),D=m.useRef(!1),W=m.useRef(""),n1=m.useRef(null),Y=m.useRef(null),E=m.useRef(null),I=m.useRef(null),Z=m.useRef(null),t1=m.useRef([]),h1=m.useRef(!1),T=m.useRef(g6),O=m.useMemo(()=>b&&a?.[b]||null,[a,b]),K=!!(O&&O.state!=="offline"&&!O.error),l1=O?.source==="upload"&&O?.state==="playing",m1=O?.source==="mic-whip"&&(O?.state==="starting"||O?.state==="playing"),v1=!!(!A&&q.current&&(C||p)),A1=!A&&(H==="live"||H==="starting"),k1=A&&_==="recording",R1=A&&_==="sending",O1=_2(v?.micPtt?.[0])||"M",Q1=m.useCallback(x1=>{const C1=x1==="clip"?"clip":"live";g(g1=>({...g1||{},pttMode:C1})),u1("vip_ptt_mode_change",{mode:C1,roverId:b})},[b,g]),P1=async()=>{if(!b){V("Take control of your rover first.");return}if(!y){V("Select an audio file first.");return}if(y.size>Ao){V(`File too large (max ${Ao} bytes).`);return}S(!0),V(""),u1("vip_upload_play",{roverId:b,size:y.size,mime:y.type||""});try{const x1=await y.arrayBuffer(),C1=Lo(new Uint8Array(x1));await n?.({roverId:b,name:y.name,mime:y.type||"",dataBase64:C1}),V("Upload playback started."),u1("vip_upload_play_result",{roverId:b,status:"accepted"})}catch(x1){u1("vip_upload_play_result",{roverId:b,status:"failed",reason:x1?.message||"unknown"}),V(x1?.message||"Failed to play upload.")}finally{S(!1)}},h2=async()=>{if(!b){V("Take control of your rover first.");return}S(!0),V(""),u1("vip_upload_stop",{roverId:b});try{await i?.(b),V("Upload playback stopped."),u1("vip_upload_stop_result",{roverId:b,status:"accepted"})}catch(x1){u1("vip_upload_stop_result",{roverId:b,status:"failed",reason:x1?.message||"unknown"}),V(x1?.message||"Failed to stop upload.")}finally{S(!1)}},r1=m.useCallback(async x1=>{const C1=String(x1||W.current||"").trim();if(D.current=!1,j("idle"),$.current){try{$.current.getSenders().forEach(g1=>g1.track?.stop())}catch{}try{$.current.close()}catch{}}if($.current=null,R.current)try{R.current.getTracks().forEach(g1=>g1.stop())}catch{}if(R.current=null,q.current=null,C1)try{await d?.(C1)}catch{}W.current=""},[d]),V1=m.useCallback(async x1=>{const C1=await u?.(x1),g1=String(C1?.whipUrl||"").trim(),T1=String(C1?.token||"").trim();if(!g1||!T1)throw new Error("WHIP endpoint unavailable");const c1=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:g6,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}});R.current=c1;const M1=c1.getAudioTracks()?.[0];if(q.current=M1||null,M1&&(M1.enabled=!!(C||p)),M1?.applyConstraints)try{await M1.applyConstraints({channelCount:1,sampleRate:g6,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1})}catch{}const y1=new RTCPeerConnection(zJ);$.current=y1,y1.onconnectionstatechange=()=>{if(!D.current)return;const p1=y1.connectionState;if(p1==="connected"){j("live");return}(p1==="failed"||p1==="disconnected"||p1==="closed")&&(j("error"),V(`WHIP transport ${p1}.`))},c1.getAudioTracks().forEach(p1=>{const J1=y1.addTrack(p1,c1);CJ(J1)});const j1=await y1.createOffer({offerToReceiveAudio:!1,offerToReceiveVideo:!1});await y1.setLocalDescription(j1),await MJ(y1,1800);const r2=await fetch(g1,{method:"POST",headers:{"Content-Type":"application/sdp",...yJ(T1)},body:y1.localDescription?.sdp||j1.sdp});if(!r2.ok)throw new Error(`WHIP request failed: ${r2.status}`);const d1=await r2.text();await y1.setRemoteDescription({type:"answer",sdp:d1}),await wJ(y1,1e4),await SJ(y1,6e3),await h?.(x1)},[C,p,h,u]),Z1=m.useCallback(async()=>{if(h1.current=!1,I.current){try{I.current.disconnect()}catch{}I.current.onaudioprocess=null}if(E.current)try{E.current.disconnect()}catch{}if(Z.current)try{Z.current.disconnect()}catch{}if(n1.current)try{n1.current.getTracks().forEach(x1=>x1.stop())}catch{}if(Y.current)try{await Y.current.close()}catch{}t1.current=[],I.current=null,E.current=null,Z.current=null,n1.current=null,Y.current=null,T.current=g6},[]),D1=m.useCallback(async()=>{if(n1.current&&Y.current&&I.current)return;F(M1=>M1==="recording"?M1:"arming");const x1=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:g6,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}}),C1=new AudioContext({latencyHint:"interactive"}),g1=C1.createMediaStreamSource(x1),T1=C1.createScriptProcessor(1024,1,1),c1=C1.createGain();c1.gain.value=0,T1.onaudioprocess=M1=>{if(!h1.current)return;const y1=M1.inputBuffer.getChannelData(0);t1.current.push(new Float32Array(y1))},g1.connect(T1),T1.connect(c1),c1.connect(C1.destination),n1.current=x1,Y.current=C1,E.current=g1,I.current=T1,Z.current=c1,T.current=C1.sampleRate||g6},[]),b1=m.useCallback(async({send:x1})=>{const C1=h1.current;if(h1.current=!1,!C1){x1||F("idle");return}const g1=t1.current;if(t1.current=[],!x1){F("idle"),u1("vip_clip_record_cancel",{roverId:b});return}if(!b){F("idle"),u1("vip_clip_send",{roverId:b,status:"skipped_no_rover"});return}if(!g1.length){F("idle"),u1("vip_clip_send",{roverId:b,status:"skipped_empty"});return}F("sending"),u1("vip_clip_send",{roverId:b,status:"started"});try{const T1=HJ(g1),c1=LJ(T1,T.current||g6),M1=Lo(c1);await n?.({roverId:b,name:`ptt-${Date.now()}.wav`,mime:"audio/wav",dataBase64:M1}),F("idle"),u1("vip_clip_send",{roverId:b,status:"accepted"})}catch(T1){F("error"),u1("vip_clip_send",{roverId:b,status:"failed",reason:T1?.message||"unknown"}),V(T1?.message||"Failed to send PTT clip.")}},[n,b]),L1=m.useCallback(async()=>{if(!b){V("Take control of your rover first.");return}await D1(),t1.current=[],h1.current=!0,F("recording"),u1("vip_clip_record_start",{roverId:b})},[D1,b]);return m.useEffect(()=>{let x1=!1;async function C1(){if(A){await r1(W.current||b);return}if(!b){await r1(W.current);return}if(!(D.current&&W.current===b)&&!(!C&&!p))try{j("starting"),V(""),D.current=!0,W.current=b,await V1(b),x1||(j("live"),u1("vip_live_mic_start",{roverId:b}))}catch(g1){x1||(j("error"),V(g1?.message||"Failed to start mic forwarding."),x3("vip_live_mic_error",{roverId:b,reason:g1?.message||"unknown"},{key:`${b}:${g1?.message||"unknown"}`,throttleMs:60*1e3})),await r1(b)}}return C1(),()=>{x1=!0}},[A,C,p,b,V1,r1]),m.useEffect(()=>{const x1=q.current;x1&&(x1.enabled=!!(!A&&(C||p)))},[A,C,p]),m.useEffect(()=>{let x1=!1;async function C1(){if(!A||!b){h1.current&&await b1({send:!1}),F("idle");return}try{await D1(),!x1&&!h1.current&&F("idle")}catch(g1){x1||(F("error"),V(g1?.message||"Microphone access failed for clip mode."))}}return C1(),()=>{x1=!0}},[A,D1,b1,b]),m.useEffect(()=>{let x1=!1;async function C1(){if(A){if(!b){h1.current&&await b1({send:!1});return}if(p){if(!h1.current)try{V(""),await L1()}catch(g1){x1||(F("error"),V(g1?.message||"Failed to start clip recording."))}}else h1.current&&await b1({send:!0})}}return C1(),()=>{x1=!0}},[A,b1,p,b,L1]),m.useEffect(()=>()=>{r1(W.current||b),Z1()},[b,r1,Z1]),r.jsx(N1,{title:"Audio Controls",children:r.jsxs("div",{className:"grid gap-1",children:[r.jsx("section",{className:"surface",children:r.jsxs("div",{className:"flex items-center justify-center gap-0.5 py-0.25 text-xs text-slate-300",children:[r.jsx("span",{children:"Push-to-Talk Key"}),r.jsx(fe,{label:O1})]})}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 lg:grid-cols-2",children:[r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"PTT Mode"}),r.jsx("p",{className:"text-xs text-slate-400 text-center",children:"Choose how holding your PTT key behaves: live mic stream, or record-and-send clip. If the live stream doesn't work, switch to clip mode."}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5",children:[r.jsx("button",{type:"button",className:`button-dark w-full text-sm ${A?"":"bg-emerald-500 text-white hover:bg-emerald-500"}`,onClick:()=>Q1("live"),children:"Live Mic (WHIP)"}),r.jsx("button",{type:"button",className:`button-dark w-full text-sm ${A?"bg-emerald-500 text-white hover:bg-emerald-500":""}`,onClick:()=>Q1("clip"),children:"Record Clip"})]})]})}),r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"PTT Clip Status"}),r.jsxs("div",{className:"grid gap-0.5 content-start",children:[r.jsx(L4,{label:"Mode",active:A,detail:A?"record clip":"live mic"}),r.jsx(L4,{label:"PTT hold",active:p,detail:p?"held":"released"}),r.jsx(L4,{label:"Recording",active:k1,detail:k1?"capturing":"idle"}),r.jsx(L4,{label:"Playback",active:A&&l1,detail:A&&l1?"playing":"idle"})]})]})})]}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 lg:grid-cols-2",children:[r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_1fr_auto]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Audio Upload"}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Audio file (mp3 / wav / ogg)"}),r.jsx("input",{className:`${o4} text-center`,type:"file",accept:".mp3,.wav,.ogg,audio/mpeg,audio/wav,audio/ogg",disabled:L||!b,onChange:x1=>M(x1.target.files?.[0]||null)})]}),r.jsx("div",{className:"mx-auto w-full max-w-sm text-center",children:y?r.jsxs("div",{className:"surface-muted text-xs text-slate-300",children:[y.name," (",y.size," bytes)"]}):r.jsx("div",{className:"surface-muted text-xs text-slate-500",children:"No file selected"})}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:L||!b,onClick:P1,children:L?"Working...":"Play Upload"}),r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:L||!b,onClick:h2,children:"Stop"})]})]})}),r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Live Microphone"}),r.jsxs("label",{className:"surface-muted mx-auto flex w-full max-w-sm items-center justify-center gap-0.5 px-0.5 py-0.5 text-xs text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:C,disabled:!b||A,onChange:x1=>{const C1=!!x1.target.checked;g(g1=>({...g1||{},openMicEnabled:C1})),u1("vip_open_mic_change",{roverId:b,enabled:C1})}}),r.jsx("span",{children:A?"Open mic (live mode only)":"Open mic"})]}),r.jsxs("div",{className:"grid gap-0.5 content-start",children:[r.jsx(L4,{label:"WHIP link",active:A1,detail:H}),r.jsx(L4,{label:"Mic hot",active:v1,detail:v1?"transmitting":"muted"}),r.jsxs("div",{className:"surface-muted text-center text-xs text-slate-400",children:["Hold ",r.jsx(fe,{label:O1})," to talk"]})]})]})})]}),r.jsx("section",{className:"surface",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Audio Status"}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-6",children:[r.jsx(L4,{label:"Forward pipe",active:K,detail:K?"connected":"offline"}),r.jsx(L4,{label:"Upload playback",active:l1,detail:l1?"playing":"idle"}),r.jsx(L4,{label:"Mic relay",active:m1,detail:m1?"active":"idle"}),r.jsx(L4,{label:"WHIP transport",active:A1,detail:H}),r.jsx(L4,{label:"Clip recording",active:k1,detail:k1?"recording":"idle"}),r.jsx(L4,{label:"Clip sending",active:R1,detail:R1?"sending":"idle"})]}),N?r.jsx("div",{className:"text-xs text-slate-400 text-center",children:N}):null]})})]})})}const BJ=31,NJ=127,Xa=1e3/64,Ac=24,jJ=16,Bo=8,ud=10,la=4,ia=6,sa=3,T8=4,ve=48,kJ=45,FJ=[{id:"arranged",label:"Arranged"},{id:"mono",label:"Lead line"},{id:"arpeggio",label:"Arpeggio"}],Lc="";var Nt={},Vc,No;function RJ(){if(No)return Vc;No=1;function t(u){var h=new i(u),d=h.readChunk();if(d.id!="MThd")throw"Bad MIDI file. Expected 'MHdr', got: '"+d.id+"'";for(var v=a(d.data),p=[],x=0;!h.eof()&&x>8),p.ticksPerFrame=x&255):p.ticksPerBeat=x,p}function n(u){for(var h=new i(u),d=[];!h.eof();){var v=x();d.push(v)}return d;var p;function x(){var g={};g.deltaTime=h.readVarInt();var b=h.readUInt8();if((b&240)===240)if(b===255){g.meta=!0;var y=h.readUInt8(),M=h.readVarInt();switch(y){case 0:if(g.type="sequenceNumber",M!==2)throw"Expected length for sequenceNumber event is 2, got "+M;return g.number=h.readUInt16(),g;case 1:return g.type="text",g.text=h.readString(M),g;case 2:return g.type="copyrightNotice",g.text=h.readString(M),g;case 3:return g.type="trackName",g.text=h.readString(M),g;case 4:return g.type="instrumentName",g.text=h.readString(M),g;case 5:return g.type="lyrics",g.text=h.readString(M),g;case 6:return g.type="marker",g.text=h.readString(M),g;case 7:return g.type="cuePoint",g.text=h.readString(M),g;case 32:if(g.type="channelPrefix",M!=1)throw"Expected length for channelPrefix event is 1, got "+M;return g.channel=h.readUInt8(),g;case 33:if(g.type="portPrefix",M!=1)throw"Expected length for portPrefix event is 1, got "+M;return g.port=h.readUInt8(),g;case 47:if(g.type="endOfTrack",M!=0)throw"Expected length for endOfTrack event is 0, got "+M;return g;case 81:if(g.type="setTempo",M!=3)throw"Expected length for setTempo event is 3, got "+M;return g.microsecondsPerBeat=h.readUInt24(),g;case 84:if(g.type="smpteOffset",M!=5)throw"Expected length for smpteOffset event is 5, got "+M;var L=h.readUInt8(),S={0:24,32:25,64:29,96:30};return g.frameRate=S[L&96],g.hour=L&31,g.min=h.readUInt8(),g.sec=h.readUInt8(),g.frame=h.readUInt8(),g.subFrame=h.readUInt8(),g;case 88:if(g.type="timeSignature",M!=2&&M!=4)throw"Expected length for timeSignature event is 4 or 2, got "+M;return g.numerator=h.readUInt8(),g.denominator=1<>4;switch(g.channel=b&15,B){case 8:return g.type="noteOff",g.noteNumber=C,g.velocity=h.readUInt8(),g;case 9:var A=h.readUInt8();return g.type=A===0?"noteOff":"noteOn",g.noteNumber=C,g.velocity=A,A===0&&(g.byte9=!0),g;case 10:return g.type="noteAftertouch",g.noteNumber=C,g.amount=h.readUInt8(),g;case 11:return g.type="controller",g.controllerType=C,g.value=h.readUInt8(),g;case 12:return g.type="programChange",g.programNumber=C,g;case 13:return g.type="channelAftertouch",g.amount=C,g;case 14:return g.type="pitchBend",g.value=C+(h.readUInt8()<<7)-8192,g;default:throw"Unrecognised MIDI event type: "+B}}}}function i(u){this.buffer=u,this.bufferLen=this.buffer.length,this.pos=0}return i.prototype.eof=function(){return this.pos>=this.bufferLen},i.prototype.readUInt8=function(){var u=this.buffer[this.pos];return this.pos+=1,u},i.prototype.readInt8=function(){var u=this.readUInt8();return u&128?u-256:u},i.prototype.readUInt16=function(){var u=this.readUInt8(),h=this.readUInt8();return(u<<8)+h},i.prototype.readInt16=function(){var u=this.readUInt16();return u&32768?u-65536:u},i.prototype.readUInt24=function(){var u=this.readUInt8(),h=this.readUInt8(),d=this.readUInt8();return(u<<16)+(h<<8)+d},i.prototype.readInt24=function(){var u=this.readUInt24();return u&8388608?u-16777216:u},i.prototype.readUInt32=function(){var u=this.readUInt8(),h=this.readUInt8(),d=this.readUInt8(),v=this.readUInt8();return(u<<24)+(h<<16)+(d<<8)+v},i.prototype.readBytes=function(u){var h=this.buffer.slice(this.pos,this.pos+u);return this.pos+=u,h},i.prototype.readString=function(u){var h=this.readBytes(u);return String.fromCharCode.apply(null,h)},i.prototype.readVarInt=function(){for(var u=0;!this.eof();){var h=this.readUInt8();if(h&128)u+=h&127,u<<=7;else return u+h}return u},i.prototype.readChunk=function(){var u=this.readString(4),h=this.readUInt32(),d=this.readBytes(h);return{id:u,length:h,data:d}},Vc=t,Vc}var Bc,jo;function EJ(){if(jo)return Bc;jo=1;function t(h,d){if(typeof h!="object")throw"Invalid MIDI data";d=d||{};var v=h.header||{},p=h.tracks||[],x,g=p.length,b=new u;for(a(b,v,g),x=0;x>7&127;h.writeUInt8(H),h.writeUInt8(j);break;default:throw"Unrecognized event type: "+x}return M}function u(){this.buffer=[]}return u.prototype.writeUInt8=function(h){this.buffer.push(h&255)},u.prototype.writeInt8=u.prototype.writeUInt8,u.prototype.writeUInt16=function(h){var d=h>>8&255,v=h&255;this.writeUInt8(d),this.writeUInt8(v)},u.prototype.writeInt16=u.prototype.writeUInt16,u.prototype.writeUInt24=function(h){var d=h>>16&255,v=h>>8&255,p=h&255;this.writeUInt8(d),this.writeUInt8(v),this.writeUInt8(p)},u.prototype.writeInt24=u.prototype.writeUInt24,u.prototype.writeUInt32=function(h){var d=h>>24&255,v=h>>16&255,p=h>>8&255,x=h&255;this.writeUInt8(d),this.writeUInt8(v),this.writeUInt8(p),this.writeUInt8(x)},u.prototype.writeInt32=u.prototype.writeUInt32,u.prototype.writeBytes=function(h){this.buffer=this.buffer.concat(Array.prototype.slice.call(h,0))},u.prototype.writeString=function(h){var d,v=h.length,p=[];for(d=0;d>=7;d;){var p=d&127|128;v.push(p),d>>=7}this.writeBytes(v.reverse())}},u.prototype.writeChunk=function(h,d){this.writeString(h),this.writeUInt32(d.length),this.writeBytes(d)},Bc=t,Bc}var ko;function TJ(){return ko||(ko=1,Nt.parseMidi=RJ(),Nt.writeMidi=EJ()),Nt}var _J=TJ();function X8(t,a,n){const i=Number(t);return Number.isFinite(i)?Math.max(a,Math.min(n,i)):a}function Wa(t){return X8(Math.round(t),BJ,NJ)}function b0(t){return X8(Math.round(t),1,255)}function C0(t){return X8(Math.round(t),T8,255)}function O8(t){return b0(t)*Xa}function qJ(t,a,n,i=[]){const h=String(a||"").trim()||`Track ${t+1}`,d=i.length>1?`, ${i.length} channels`:i.length===1?", 1 channel":"";return`${h} (${n} notes${d})`}function hd(t=[]){let a=0;return t.map(n=>(a+=Number(n?.deltaTime)||0,{...n,absoluteTick:a}))}function DJ(t){const a=[];return(t?.tracks||[]).forEach(n=>{hd(n).forEach(i=>{i.type==="setTempo"&&a.push({tick:i.absoluteTick,microsecondsPerBeat:Number(i.microsecondsPerBeat)||5e5})})}),a.sort((n,i)=>n.tick-i.tick),(!a.length||a[0].tick!==0)&&a.unshift({tick:0,microsecondsPerBeat:5e5}),a}function Fo(t,a,n){let i=0,u=0,h=5e5;for(const v of a){if(v.tick>t)break;const p=Math.max(0,v.tick-u);i+=p/n*(h/1e3),u=v.tick,h=v.microsecondsPerBeat}const d=Math.max(0,t-u);return i+d/n*(h/1e3)}function OJ(t=[],a,n){const i=hd(t),u=new Map,h=[];let d="";return i.forEach(v=>{if(v.type==="trackName"&&v.text){d=String(v.text);return}if(v.type!=="noteOn"&&v.type!=="noteOff")return;const p=Number(v.channel)||0,x=Number(v.noteNumber);if(!Number.isFinite(x))return;const g=`${p}:${x}`,b=Number(v.velocity)||0;if(v.type==="noteOn"&&b>0){u.set(g,{channel:p,noteNumber:x,startTick:v.absoluteTick,velocity:b});return}const M=u.get(g);if(!M)return;u.delete(g);const L=Fo(M.startTick,a,n),S=Fo(v.absoluteTick,a,n);h.push({channel:M.channel,noteNumber:M.noteNumber,velocity:M.velocity,startMs:L,durationMs:Math.max(Xa,S-L)})}),h.sort((v,p)=>v.startMs-p.startMs||p.noteNumber-v.noteNumber),{trackName:d,notes:h}}function UJ(t=[]){const a=new Map;return t.forEach(n=>{const i=Number(n?.channel);if(!Number.isInteger(i))return;const u=a.get(i)||{noteCount:0,minNote:127,maxNote:0,noteTotal:0};u.noteCount+=1,u.minNote=Math.min(u.minNote,Number(n.noteNumber)||u.minNote),u.maxNote=Math.max(u.maxNote,Number(n.noteNumber)||u.maxNote),u.noteTotal+=Number(n.noteNumber)||0,a.set(i,u)}),Array.from(a.entries()).sort((n,i)=>n[0]-i[0]).map(([n,i])=>({channel:n,noteCount:i.noteCount,minNote:i.minNote,maxNote:i.maxNote,averageNote:i.noteCount>0?i.noteTotal/i.noteCount:0,label:`Ch ${n+1}`,isPercussion:n===9}))}function IJ(t,a){const i=String(t?.name||"").trim()||`Track ${Number(t?.index||0)+1}`,u=a?.label||`Ch ${Number(a?.channel||0)+1}`;return`${i} - ${u}`}function PJ(t=[]){const a=[];return t.forEach(n=>{(n.channels||[]).forEach(i=>{const u=(n.notes||[]).filter(p=>Number(p.channel)===Number(i.channel));if(!u.length)return;const h=String(n?.name||"").trim(),d=a.length+1,v=h?`Part ${d}: ${h}`:`Part ${d}`;a.push({id:`${n.index}:${i.channel}`,trackIndex:n.index,channel:i.channel,label:v,sourceLabel:IJ(n,i),shortLabel:`${Number(n.index)+1}.${Number(i.channel)+1}`,noteCount:u.length,minNote:i.minNote,maxNote:i.maxNote,averageNote:i.averageNote,isPercussion:!!i.isPercussion,role:$J(i),notes:u.map(p=>({...p,partId:`${n.index}:${i.channel}`}))})})}),a.sort((n,i)=>n.isPercussion!==i.isPercussion?n.isPercussion?1:-1:i.noteCount-n.noteCount||n.trackIndex-i.trackIndex||n.channel-i.channel)}function $J(t){if(t?.isPercussion)return"drums";const a=Number(t?.averageNote)||0,n=Number(t?.maxNote)||0;return a>0&&a<52?"bass":n>=72||a>=64?"melody":"harmony"}function dd(t=[]){const a=Array.isArray(t)?t:[],n=a.filter(u=>!u.isPercussion);return(n.length?n:a).slice(0,6).map(u=>u.id)}function ZJ(t=[],a="default"){const n=Array.isArray(t)?t:[],i=n.filter(h=>!h.isPercussion),u=i.length?i:n;switch(a){case"none":return[];case"all-pitched":return u.map(h=>h.id);case"bass":return[...u].sort((d,v)=>d.averageNote-v.averageNote||v.noteCount-d.noteCount).slice(0,2).map(d=>d.id);case"melody":return[...u].sort((d,v)=>v.averageNote-d.averageNote||v.noteCount-d.noteCount).slice(0,3).map(d=>d.id);default:return dd(n)}}function GJ(t=[],a=24){const n=[];let i=null;return t.forEach(u=>{(!i||Math.abs(u.startMs-i.startMs)>a)&&(i={startMs:u.startMs,notes:[]},n.push(i)),i.notes.push(u)}),n}function YJ(t,a,n){const i=t.durationMs/Xa,u=C0(n||ve);return C0(Math.min(u,i||a))}function KJ(t,a){return a.velocity-t.velocity||a.noteNumber-t.noteNumber}function QJ(t,a){return a.velocity-t.velocity||t.noteNumber-a.noteNumber}function jt(t=[],a="melody"){return t.length&&[...t].sort(a==="bass"?QJ:KJ)[0]||null}function Ro(t=[],a=[]){const n=new Set((a||[]).map(i=>String(i)));return(t||[]).filter(i=>n.has(String(i.id)))}function kt(t,a,n){return{atMs:a,note:Wa(t.noteNumber),duration:C0(n),partId:t.partId||""}}function XJ(t=[],a){const n=new Map;return t.filter(i=>{const u=i.note,h=n.get(u);return typeof h=="number"&&i.atMs-h!A.isPercussion),h=u.length?u:Ro(t,a),d=h.flatMap(A=>A.notes||[]).sort((A,H)=>A.startMs-H.startMs||H.velocity-A.velocity||H.noteNumber-A.noteNumber);if(!d.length)return[];const v=X8(Math.round(i.density||sa),1,5),p=C0(i.monoFallbackTicks||ud),x=C0(i.monoMaxTicks||ve),g=C0(i.arpeggioTicks||la),b=X8(Math.round(i.arpeggioLimit||ia),1,16),y=GJ(d,v>=4?36:24),M=Math.max(1,Math.min(b,h.length||b)),L=[];let S=-1/0,C=0;y.forEach(A=>{const H=new Map;if(A.notes.forEach(V=>{const R=String(V.partId||"");R&&(H.has(R)||H.set(R,[]),H.get(R).push(V))}),n==="arpeggio"){Array.from(H.entries()).map(([R,q])=>{const $=h.find(D=>String(D.id)===R);return{part:$,note:jt(q,$?.role==="bass"?"bass":"melody")}}).filter(R=>R.note).sort((R,q)=>{const $={bass:0,harmony:1,melody:2,drums:3};return($[R.part?.role]??2)-($[q.part?.role]??2)||q.note.velocity-R.note.velocity}).slice(0,M).forEach((R,q)=>{L.push(kt(R.note,A.startMs+q*O8(g),g))});return}const j=[],_=[],F=[];A.notes.forEach(V=>{const R=h.find(q=>String(q.id)===String(V.partId||""));R?.role==="bass"?j.push(V):R?.role==="harmony"?F.push(V):_.push(V)});const N=jt(_.length?_:A.notes,"melody");if(N&&L.push(kt(N,A.startMs,YJ(N,p,x))),n==="arranged"){const V=v>=4?320:v>=3?460:700;if(j.length&&A.startMs-S>=V){const $=jt(j,"bass");$&&(L.push(kt($,A.startMs+O8(g),Math.max(g,6))),S=A.startMs)}if((v>=4||v>=3&&C%2===0)&&F.length){const $=jt(F,"melody");$&&L.push(kt($,A.startMs+O8(g)*2,g))}}C+=1});const B=v>=4?55:v>=3?80:120;return XJ(L,B).sort((A,H)=>A.atMs-H.atMs||H.note-A.note)}function WJ(t){return{startMs:t,notes:[],durationMs:0,sourceEndMs:t}}function To(t=[]){const a=[],n=[...t].sort((h,d)=>h.atMs-d.atMs||d.note-h.note);let i=null,u=0;return n.forEach(h=>{const d=O8(h.duration),v=!!(i&&i.notes.length>0),p=v?h.atMs-u:0;if(!v||i.notes.length>=jJ||p>kJ){const b=Math.max(h.atMs,u);i=WJ(b),a.push(i),u=b}const g={note:Wa(h.note),duration:b0(h.duration)};i.notes.push(g),i.durationMs+=d,i.sourceEndMs=i.startMs+i.durationMs,u+=d}),a}async function JJ(t){const a=new Uint8Array(await t.arrayBuffer()),n=_J.parseMidi(a),i=Number(n?.header?.ticksPerBeat||n?.header?.timeDivision||0);if(!i||i<0)throw new Error("Only beat-based MIDI timing is supported.");const u=DJ(n),h=(n.tracks||[]).map((v,p)=>{const x=OJ(v,u,i),g=UJ(x.notes);return{index:p,name:x.trackName,label:qJ(p,x.trackName,x.notes.length,g),notes:x.notes,noteCount:x.notes.length,channels:g}}),d=PJ(h);return{fileName:t.name,format:n.header?.format,ticksPerBeat:i,tracks:h,parts:d}}function v0({label:t,value:a,active:n=!1}){return r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 text-xs",children:[r.jsx("span",{className:"text-slate-400",children:t}),r.jsx("span",{className:n?"font-semibold text-emerald-200":"font-semibold text-slate-200",children:a})]})}function Ft(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}function t11(){const{sendSong:t}=K4(),a=o1(c1=>String(c1.session?.assignment?.roverId||"").trim()),[n,i]=m.useState(""),[u,h]=m.useState(null),[d,v]=m.useState([]),[p,x]=m.useState("arranged"),[g,b]=m.useState(ve),[y,M]=m.useState(la),[L,S]=m.useState(ia),[C,B]=m.useState(sa),[A,H]=m.useState(Bo),[j,_]=m.useState(""),[F,N]=m.useState("idle"),[V,R]=m.useState({sent:0,dropped:0}),[q,$]=m.useState("idle"),[D,W]=m.useState([]),[n1,Y]=m.useState(Lc),[E,I]=m.useState(!1),Z=m.useRef(null),t1=m.useRef(null),h1=m.useRef(0),T=m.useRef([]),O=m.useRef(0),K=m.useRef(0),l1=m.useRef(0),m1=m.useRef(null),v1=m.useMemo(()=>u?.parts||[],[u]),A1=m.useMemo(()=>({monoFallbackTicks:ud,monoMaxTicks:g,arpeggioTicks:y,arpeggioLimit:L,density:C}),[L,y,C,g]),k1=m.useMemo(()=>!v1.length||!d.length?[]:Eo(v1,d,p,A1),[A1,v1,p,d]),R1=m.useMemo(()=>To(k1),[k1]),O1=typeof navigator<"u"&&typeof navigator.requestMIDIAccess=="function",Q1=m.useMemo(()=>D.find(c1=>c1.id===n1)||null,[D,n1]),P1=m.useMemo(()=>new Set(d.map(c1=>String(c1))),[d]);m.useEffect(()=>{m1.current={playableParts:v1,selectedPartIds:d,playbackMode:p,beeperOptions:A1}},[A1,v1,p,d]);const h2=m.useCallback(()=>{T.current.forEach(c1=>clearTimeout(c1)),T.current=[]},[]),r1=m.useCallback(c1=>{v(ZJ(v1,c1))},[v1]),V1=m.useCallback(c1=>{const M1=String(c1||"");M1&&v(y1=>{const j1=new Set(y1.map(r2=>String(r2)));return j1.has(M1)?j1.delete(M1):j1.add(M1),Array.from(j1).sort()})},[]),Z1=m.useCallback(()=>{h1.current+=1,h2(),N("idle")},[h2]),D1=m.useCallback(({note:c1,duration:M1,source:y1})=>{const j1=Ft(),r2=b0(M1);return a?j1({...p1,dropped:p1.dropped+1})),!1):t?.([{note:Wa(c1),duration:r2}],{slot:0})?(O.current=j1+O8(r2)+Ac,R(p1=>({...p1,sent:p1.sent+1})),y1==="live"&&_("Live note sent."),!0):(R(p1=>({...p1,dropped:p1.dropped+1})),!1):(_("Take control of your rover first."),R(p1=>({...p1,dropped:p1.dropped+1})),!1)},[a,t]),b1=m.useCallback(c1=>{const M1=Array.isArray(c1?.notes)?c1.notes:[];return M1.length?a?t?.(M1,{slot:0})?(O.current=Ft()+(Number(c1.durationMs)||0)+Ac,R(j1=>({...j1,sent:j1.sent+M1.length})),!0):(R(j1=>({...j1,dropped:j1.dropped+M1.length})),!1):(_("Take control of your rover first."),R(j1=>({...j1,dropped:j1.dropped+M1.length})),!1):!1},[a,t]),L1=m.useCallback(()=>{const c1=m1.current||{},M1=Array.isArray(c1.playableParts)?c1.playableParts:[],y1=Array.isArray(c1.selectedPartIds)?c1.selectedPartIds:[];if(!M1.length||y1.length===0)return null;const j1=Eo(M1,y1,c1.playbackMode,c1.beeperOptions).filter(d1=>d1.atMs>=K.current-.5);return To(j1)[0]||null},[]),x1=async c1=>{const M1=c1.target.files?.[0]||null;if(Z1(),_(""),h(null),i(M1?.name||""),v([]),!!M1)try{const y1=await JJ(M1);h(y1);const j1=dd(y1.parts);v(j1),_(y1.parts?.length?"Midi file loaded.":"Midi file loaded, but no playable parts were found.")}catch(y1){_(y1?.message||"Failed to parse Midi file."),i("")}},C1=()=>{if(!R1.length){_("Choose at least one playable part first.");return}if(!a){_("Take control of your rover first.");return}Z1(),I(!1),R({sent:0,dropped:0}),_(""),N("playing");const c1=h1.current+1;h1.current=c1,l1.current=Ft(),K.current=R1[0]?.startMs||0;const M1=(y1=0)=>{if(h1.current!==c1)return;const j1=setTimeout(()=>{if(h1.current!==c1)return;const r2=L1();if(!r2){N("idle"),_(`Playback finished in ${Math.round((Ft()-l1.current)/1e3)}s.`);return}const d1=Math.max(0,r2.startMs-K.current);if(d1>0){K.current=r2.startMs,M1(d1);return}b1(r2),K.current=Math.max(K.current+.5,Number(r2.sourceEndMs)||K.current),M1((Number(r2.durationMs)||0)+Ac)},Math.max(0,y1));T.current.push(j1)};M1(0)},g1=m.useCallback(c1=>{const M1=Array.from(c1?.inputs?.values?.()||[]).map(y1=>({id:y1.id,name:y1.name||y1.manufacturer||"Midi input",state:y1.state||"connected"}));W(M1),Y(y1=>y1&&M1.some(j1=>j1.id===y1)?y1:M1[0]?.id||Lc)},[]),T1=m.useCallback(async()=>{if(!O1){$("unsupported"),_("This browser does not support live Midi input.");return}try{$("requesting");const c1=await navigator.requestMIDIAccess({sysex:!1});Z.current=c1,g1(c1),c1.onstatechange=()=>g1(c1),$("ready"),_("Live Midi input ready.")}catch(c1){$("error"),_(c1?.message||"Midi access was denied.")}},[O1,g1]);return m.useEffect(()=>{if(!E||!Q1||!Z.current){t1.current&&(t1.current.onmidimessage=null,t1.current=null);return}const c1=Z.current.inputs.get(Q1.id);if(!c1)return;const M1=y1=>{const[j1,r2,d1]=Array.from(y1.data||[]);(j1&240)===144&&d1>0&&D1({note:r2,duration:A,source:"live"})};return t1.current&&t1.current!==c1&&(t1.current.onmidimessage=null),c1.onmidimessage=M1,t1.current=c1,()=>{c1.onmidimessage===M1&&(c1.onmidimessage=null)}},[E,A,Q1,D1]),m.useEffect(()=>()=>{h1.current+=1,h2(),t1.current&&(t1.current.onmidimessage=null),Z.current&&(Z.current.onstatechange=null)},[h2]),r.jsx(N1,{title:"Midi Beeper",children:r.jsxs("div",{className:"grid gap-1",children:[r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 lg:grid-cols-2",children:[r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 content-start",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"File playback"}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Midi file"}),r.jsx("input",{className:`${o4} text-center`,type:"file",accept:".mid,.midi,audio/midi,audio/x-midi",disabled:F==="playing",onChange:x1})]}),r.jsxs("div",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Parts"}),r.jsxs("div",{className:"grid grid-cols-4 gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("default"),children:"Default"}),r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("melody"),children:"Melody"}),r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("bass"),children:"Bass"}),r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("all-pitched"),children:"Pitched"})]}),v1.length?r.jsx("div",{className:"max-h-36 overflow-y-auto rounded-md border border-neutral-700/70 bg-neutral-900/60 p-0.5",children:r.jsx("div",{className:"grid gap-0.5",children:v1.map(c1=>{const M1=P1.has(String(c1.id));return r.jsxs("label",{className:`surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.5 ${M1?"text-emerald-200":"text-slate-400"}`,title:c1.sourceLabel||c1.label,children:[r.jsxs("span",{className:"flex min-w-0 items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:M1,onChange:()=>V1(c1.id)}),r.jsx("span",{className:"truncate text-left",children:c1.label})]}),r.jsx("span",{className:"shrink-0 text-[0.65rem] text-slate-400",children:c1.isPercussion?"drums":`${c1.noteCount} notes`})]},c1.id)})})}):r.jsx("div",{className:"surface-muted text-xs text-slate-500",children:"No playable parts"}),r.jsx("button",{type:"button",className:"button-dark mx-auto text-xs",disabled:!v1.length,onClick:()=>r1("none"),children:"Clear parts"})]}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Playback mode"}),r.jsx("select",{className:o4,value:p,onChange:c1=>x(c1.target.value==="arpeggio"?"arpeggio":"mono"),children:FJ.map(c1=>r.jsx("option",{value:c1.id,children:c1.label},c1.id))})]}),r.jsxs("div",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Playback shape"}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5 sm:grid-cols-4",children:[r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Max note"}),r.jsx("input",{className:o4,type:"number",min:T8,max:"96",value:g,onChange:c1=>{const M1=Math.max(T8,b0(Number(c1.target.value)||ve));b(M1)}})]}),r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Arp note"}),r.jsx("input",{className:o4,type:"number",min:T8,max:"32",value:y,onChange:c1=>{const M1=Math.max(T8,b0(Number(c1.target.value)||la));M(M1)}})]}),r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Arp parts"}),r.jsx("input",{className:o4,type:"number",min:"1",max:"16",value:L,onChange:c1=>{const M1=Math.max(1,Math.min(16,Math.round(Number(c1.target.value)||ia)));S(M1)}})]}),r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Density"}),r.jsx("input",{className:o4,type:"number",min:"1",max:"5",value:C,onChange:c1=>{const M1=Math.max(1,Math.min(5,Math.round(Number(c1.target.value)||sa)));B(M1)}})]})]})]}),r.jsx("div",{className:"mx-auto w-full max-w-sm text-center",children:n?r.jsx("div",{className:"surface-muted text-xs text-slate-300",children:n}):r.jsx("div",{className:"surface-muted text-xs text-slate-500",children:"No Midi file selected"})}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!a||!k1.length||F==="playing",onClick:C1,children:"Play file"}),r.jsx("button",{type:"button",className:"button-danger text-sm",disabled:F!=="playing",onClick:Z1,children:"Stop"})]})]})}),r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Live input"}),r.jsx("div",{className:"flex justify-center",children:r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!O1||q==="requesting",onClick:T1,children:q==="ready"?"Refresh devices":"Enable Midi"})}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Input device"}),r.jsxs("select",{className:o4,value:n1,disabled:q!=="ready"||E,onChange:c1=>Y(c1.target.value),children:[D.length?null:r.jsx("option",{value:Lc,children:"No devices"}),D.map(c1=>r.jsx("option",{value:c1.id,children:c1.name},c1.id))]})]}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Live note length"}),r.jsx("input",{className:o4,type:"number",min:"1",max:"32",value:A,onChange:c1=>H(b0(Number(c1.target.value)||Bo))})]}),r.jsxs("label",{className:"surface-muted mx-auto flex w-full max-w-sm items-center justify-center gap-0.5 px-0.5 py-0.5 text-xs text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:E,disabled:!a||q!=="ready"||!Q1,onChange:c1=>{I(!!c1.target.checked),R({sent:0,dropped:0}),_(c1.target.checked?"Live Midi input enabled.":"Live Midi input disabled.")}}),r.jsx("span",{children:"Live beeper input"})]})]})})]}),r.jsx("section",{className:"surface",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Beeper status"}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-6",children:[r.jsx(v0,{label:"Rover",value:a||"none",active:!!a}),r.jsx(v0,{label:"File state",value:F,active:F==="playing"}),r.jsx(v0,{label:"Parts",value:d.length||"none",active:d.length>0}),r.jsx(v0,{label:"Live input",value:E?"enabled":q,active:E}),r.jsx(v0,{label:"Notes sent",value:V.sent,active:V.sent>0}),r.jsx(v0,{label:"Notes skipped",value:V.dropped,active:V.dropped===0})]}),j?r.jsx("div",{className:"text-xs text-slate-400 text-center",children:j}):null]})})]})})}function e11({pendingRequestId:t,currentStoredKey:a,nickname:n,requestVerification:i,applyIdentityKey:u,onMessage:h,fullWidth:d=!1}){const[v,p]=m.useState(0),[x,g]=m.useState(""),[b,y]=m.useState(!1),[M,L]=m.useState(!1),S=()=>{p(1),g(a),y(!1),h?.(""),u1("vip_verify_flow_start",{hasNickname:!!n})},C=()=>{p(0),y(!1)},B=async H=>{if(H.preventDefault(),!b){h?.("Please confirm your nickname agreement before sending.");return}if(v<3){h?.("Complete all request steps before sending.");return}L(!0),h?.(""),u1("vip_verify_attempt",{hasNickname:!!n,hasIdentityKey:!!x});try{const j=await u(x);await i?.(),g(j),p(0),y(!1),h?.("Verification request sent to lockdown admins."),u1("vip_verify_result",{status:"accepted"})}catch(j){u1("vip_verify_result",{status:"failed",reason:j?.message||"unknown"}),h?.(j.message||"Failed to submit request.")}finally{L(!1)}},A=d?"w-full":r5;return t?r.jsx(N1,{title:"Verification",className:A,bodyClassName:"text-sm text-slate-300",children:r.jsxs("div",{className:w0,children:["Verification request pending: ",t]})}):v===0?r.jsx(N1,{title:"Verification",className:A,children:r.jsx("div",{className:w0,children:r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:S,disabled:M,children:"Request Verification"})})}):r.jsx(N1,{title:"Request verification",className:A,children:r.jsx("form",{onSubmit:B,children:r.jsxs("div",{className:w0,children:[r.jsxs("p",{className:"text-xs text-slate-500",children:["Step ",v," of 3"]}),v===1?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Confirm your nickname, which is used as part of the verification process. You can edit it here before requesting."}),r.jsx("div",{className:"mx-auto w-full max-w-sm",children:r.jsx(je,{compact:!0})}),r.jsxs("div",{className:"surface-muted mx-auto w-full max-w-sm text-xs text-slate-300 text-center",children:["Current nickname: ",r.jsx("span",{className:"font-semibold",children:n||"(not set)"})]}),r.jsxs("label",{className:"flex items-center justify-center gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("input",{type:"checkbox",className:"accent-emerald-500",checked:b,onChange:H=>y(H.target.checked)}),r.jsx("span",{children:"I understand this nickname is tied to my verification."})]}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!n||!b,onClick:()=>p(2),children:"Continue"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:C,children:"Cancel"})]})]}):null,v===2?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Save your identity key in a safe place. You can use it to restore your identity in another browser."}),r.jsx("input",{className:o4,type:"password",name:"identity_key_request",autoComplete:"current-password",maxLength:35,value:x,onChange:H=>g(H.target.value.toLowerCase()),placeholder:"Identity key for this request"}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!x,onClick:()=>navigator.clipboard?.writeText(x),children:"Copy Key"}),r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!x,onClick:()=>p(3),children:"Continue"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>p(1),children:"Back"})]})]}):null,v===3?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Final step: confirm and send your verification request."}),r.jsx("input",{className:o4,type:"password",name:"identity_key_request_final",autoComplete:"current-password",maxLength:35,value:x,onChange:H=>g(H.target.value.toLowerCase()),placeholder:"Identity key for this request"}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"submit",className:"button-dark text-sm",disabled:M||!x,children:"Confirm Request"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>p(2),children:"Back"})]})]}):null]})})})}function c11({currentStoredKey:t,applyIdentityKey:a,onMessage:n,fullWidth:i=!1}){const[u,h]=m.useState(0),[d,v]=m.useState(""),[p,x]=m.useState(!1),g=()=>{h(1),v(""),n?.("")},b=()=>{h(0),v("")},y=async L=>{if(L.preventDefault(),!(u<2)){x(!0),n?.("");try{await a(d),h(0),v(""),n?.("Identity key restored.")}catch(S){n?.(S.message||"Failed to restore key.")}finally{x(!1)}}},M=i?"w-full":r5;return r.jsx(N1,{title:"Identity key",className:M,children:r.jsxs("div",{className:w0,children:[r.jsxs("p",{className:"text-xs text-slate-500",children:["Current: ",xJ(t)||"not set yet"]}),r.jsx("input",{className:o4,type:"password",name:"identity_key_current",autoComplete:"current-password",maxLength:35,value:t,readOnly:!0,placeholder:"Identity key"}),u===0?r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!t,onClick:()=>navigator.clipboard?.writeText(t),children:"Copy Key"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:g,disabled:p,children:"Restore Key"})]}):null,u===1?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Restoring your key should only be done when needed. Use this to move your identity to another browser."}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>h(2),children:"Continue"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:b,children:"Cancel"})]})]}):null,u===2?r.jsxs("form",{className:"space-y-0.5",onSubmit:y,children:[r.jsx("input",{className:o4,type:"password",name:"identity_key_restore",autoComplete:"current-password",maxLength:35,value:d,onChange:L=>v(L.target.value.toLowerCase()),placeholder:"Paste key to restore"}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"submit",className:"button-dark text-sm",disabled:p||!d,children:"Confirm Restore"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>h(1),children:"Back"})]})]}):null]})})}function a11({requestableRovers:t=[],pendingRequests:a=[],requestPrivateRoverAccess:n,onMessage:i,fullWidth:u=!1}){const[h,d]=m.useState({}),v=m.useMemo(()=>{const g=new Map;return(a||[]).forEach(b=>{b?.roverId&&g.set(String(b.roverId),b)}),g},[a]),p=u?"w-full":r5,x=async g=>{if(g){d(b=>({...b,[g]:!0})),i?.(""),u1("vip_private_rover_request",{roverId:g,status:"started"});try{const b=await n?.(g);u1("vip_private_rover_request",{roverId:g,status:b?.existing?"existing":"accepted"}),b?.existing?i?.("You already have a pending request for that rover."):i?.("Private rover access request sent to lockdown admins.")}catch(b){u1("vip_private_rover_request",{roverId:g,status:"failed",reason:b?.message||"unknown"}),i?.(b.message||"Failed to send request.")}finally{d(b=>({...b,[g]:!1}))}}};return r.jsx(N1,{title:"Private rover access requests",className:p,bodyClassName:"text-sm text-slate-300",children:r.jsx("div",{className:w0,children:t.length===0?r.jsx("p",{className:"text-xs text-slate-500",children:"No closed private rovers are available to request right now."}):r.jsx("div",{className:"w-full space-y-0.5",children:t.map(g=>{const b=String(g.id),y=!!h[b],M=v.get(b);return r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-1 py-0.5",children:[r.jsxs("div",{className:"min-w-0 text-left",children:[r.jsx("p",{className:"truncate text-xs",children:r.jsx(j4,{rover:g,fallback:b,className:"max-w-full truncate align-middle"})}),r.jsx("p",{className:"truncate text-[0.7rem] text-slate-500",children:b})]}),M?r.jsx("span",{className:"rounded bg-amber-700/30 px-1 py-0.5 text-[0.7rem] text-amber-200",children:"Pending"}):r.jsx("button",{type:"button",onClick:()=>x(b),disabled:y,className:"button-dark text-xs disabled:opacity-50",children:y?"Sending...":"Request"})]},b)})})})})}function n11(t){const a=String(t||"").trim();if(!a)return"";try{const n=new URL(a),i=String(n.protocol||"").toLowerCase();return i!=="http:"&&i!=="https:"?"":n.toString()}catch{return""}}function r11({isVerified:t=!1,fullWidth:a=!1,onMessage:n}){const{value:i,save:u}=I1("profile",{nickname:"",profileImageUrl:""}),h=String(i?.profileImageUrl||"").trim(),[d,v]=m.useState(h),[p,x]=m.useState(!1);m.useEffect(()=>{v(h)},[h]);const g=m.useMemo(()=>n11(d),[d]),b=String(d||"").trim()!==h,y=!!(t&&b&&(g||!String(d||"").trim())),M=a?"w-full":r5,L=async S=>{if(S.preventDefault(),!t){n?.("Verify your account before setting a profile image URL.");return}x(!0),n?.("");try{const C=g||"";u(B=>({...B||{},profileImageUrl:C})),n?.(C?"Profile image URL saved.":"Profile image URL cleared.")}finally{x(!1)}};return r.jsx(N1,{title:"Chat profile image URL",className:M,bodyClassName:"text-sm text-slate-300",children:r.jsxs("form",{className:w0,onSubmit:L,children:[r.jsx("p",{className:"text-xs text-slate-500",children:"Verified users can set a custom avatar for chat and Discord bridge messages."}),r.jsx("input",{className:o4,type:"url",name:"vip_profile_image_url",placeholder:"https://example.com/avatar.png",value:d,onChange:S=>v(S.target.value),disabled:!t||p}),!g&&String(d||"").trim()?r.jsx("p",{className:"text-xs text-amber-300",children:"Enter a valid http/https image URL."}):null,r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"submit",className:"button-dark text-sm disabled:opacity-50",disabled:!y||p,children:p?"Saving...":"Save URL"}),r.jsx("button",{type:"button",className:"button-dark text-sm disabled:opacity-50",disabled:!t||p||!h,onClick:()=>v(""),children:"Clear"})]})]})})}function fd(){const t=o1(F=>F.session),{identifySession:a,requestVerification:n,requestPrivateRoverAccess:i,playUploadedAudio:u,stopUploadedAudio:h,startMicWhip:d,readyMicWhip:v,stopMicWhip:p}=O2(),{value:x,save:g}=I1("identity",{cookieUserId:""}),{value:b}=I1("profile",{nickname:""}),y=m.useMemo(()=>(x?.cookieUserId||"").trim(),[x?.cookieUserId]),M=(b?.nickname||"").trim(),L=!!t?.isVerified,S=t?.verification?.pendingRequestId||null,C=t?.privateRoverAccess?.requestableRovers||[],B=t?.privateRoverAccess?.pendingRequests||[],A=String(t?.assignment?.roverId||"").trim(),[H,j]=m.useState(""),_=async F=>{const N=String(F||"").trim().toLowerCase();if(!N)throw new Error("Identity key required.");if(!gJ.test(N))throw new Error("Identity key must match format: cu_ + 32 lowercase hex chars.");return g(V=>({...V||{},cookieUserId:N})),await a({cookieUserId:N,nickname:M}),N};return r.jsxs("section",{className:"space-y-2 text-base",children:[r.jsxs("div",{className:"grid gap-2 grid-cols-1 lg:grid-cols-[minmax(0,1.25fr)_minmax(0,0.9fr)]",children:[L?null:r.jsx("div",{className:"lg:col-span-2",children:r.jsx(e11,{pendingRequestId:S,currentStoredKey:y,nickname:M,requestVerification:n,applyIdentityKey:_,onMessage:j,fullWidth:!0})}),r.jsx("div",{className:"lg:col-span-2",children:L?r.jsxs("div",{className:"space-y-2",children:[r.jsx(t11,{}),r.jsx(VJ,{ownRoverId:A,audioForwardByRover:t?.audioForward||{},playUploadedAudio:u,stopUploadedAudio:h,startMicWhip:d,readyMicWhip:v,stopMicWhip:p})]}):r.jsx("section",{className:"surface h-full",children:r.jsx("div",{className:"flex h-full flex-col items-center justify-center text-center text-xs text-slate-400",children:"Verify your account to unlock VIP features."})})}),r.jsx("div",{className:"lg:col-span-2",children:r.jsx(a11,{requestableRovers:C,pendingRequests:B,requestPrivateRoverAccess:i,onMessage:j,fullWidth:!0})}),r.jsx("div",{className:"lg:col-span-2",children:r.jsx(c11,{currentStoredKey:y,applyIdentityKey:_,onMessage:j,fullWidth:!0})}),r.jsx("div",{className:"lg:col-span-2",children:r.jsx(r11,{isVerified:L,onMessage:j,fullWidth:!0})})]}),H?r.jsx("div",{className:r5,children:r.jsx("p",{className:"text-xs text-slate-400 text-center",children:H})}):null]})}const l11=420,i11=1200,s11=800,o11={1:262,2:330,3:392,4:523};function pe(){const t=o1(A=>A.session?.buttonBox?.buttons??[]),a=N2(),{value:n}=I1("audio",y2),i=Number.isFinite(n?.masterVolume)?n.masterVolume:y2.masterVolume,u=Number.isFinite(n?.alertVolume)?n.alertVolume:y2.alertVolume,h=Math.max(0,Math.min(1,i*u)),d=m.useMemo(()=>{const A=Array.isArray(t)?t:[];return A.length===4?A:[1,2,3,4].map(H=>A.find(j=>Number(j?.id)===H)||{id:H,count:0,goal:0,rewardName:null,rewardDescription:null,rewardId:null,rewardNumber:null,dailyCount:0,dailyLimit:null,lastRewardAt:null})},[t]),[v,p]=m.useState({}),[x,g]=m.useState({}),[b,y]=m.useState({}),M=m.useRef(new Map),L=m.useRef(new Map),S=m.useRef(new Map),C=m.useRef({}),B=m.useRef(null);return m.useEffect(()=>{const A={};d.forEach(j=>{A[j.id]=Number(j.lastRewardAt||0)});const H=C.current||{};d.forEach(j=>{const _=Number(j.id),F=A[_]||0,N=Number(H[_]||0);if(F>0&&F!==N){y(q=>({...q,[_]:!0}));const V=S.current.get(_);V&&clearTimeout(V);const R=setTimeout(()=>{y(q=>({...q,[_]:!1})),S.current.delete(_)},i11);S.current.set(_,R)}}),C.current=A},[d]),m.useEffect(()=>{function A(j){const _=o11[j];if(!_||h<=0)return;let F=B.current;if(!F){const q=window.AudioContext||window.webkitAudioContext;if(!q)return;F=new q,B.current=F}const N=F.createOscillator(),V=F.createGain();N.type="square",N.frequency.value=_;const R=.14*h;V.gain.setValueAtTime(1e-4,F.currentTime),V.gain.exponentialRampToValueAtTime(Math.max(1e-4,R),F.currentTime+.01),V.gain.exponentialRampToValueAtTime(1e-4,F.currentTime+.2),N.connect(V),V.connect(F.destination),N.start(),N.stop(F.currentTime+.21)}function H(j={}){const _=Number(j.buttonId);if(!Number.isFinite(_)||_<1||_>4)return;if(j.limited){g(q=>({...q,[_]:!0}));const V=L.current.get(_);V&&clearTimeout(V);const R=setTimeout(()=>{g(q=>({...q,[_]:!1})),L.current.delete(_)},s11);L.current.set(_,R);return}p(V=>({...V,[_]:!0}));const F=M.current.get(_);F&&clearTimeout(F);const N=setTimeout(()=>{p(V=>({...V,[_]:!1})),M.current.delete(_)},l11);M.current.set(_,N),A(_)}return a.on("buttonBox:increment",H),()=>{a.off("buttonBox:increment",H)}},[h,a]),m.useEffect(()=>()=>{M.current.forEach(A=>clearTimeout(A)),M.current.clear(),L.current.forEach(A=>clearTimeout(A)),L.current.clear(),S.current.forEach(A=>clearTimeout(A)),S.current.clear()},[]),r.jsx(N1,{title:"Button Box",bodyClassName:"space-y-0.5 text-base",children:r.jsx("div",{className:"grid grid-cols-4 gap-0.5",children:d.map(A=>{const H=Number(A.id),j=Number.isFinite(A.count)?A.count:0,_=Number.isFinite(A.goal)?A.goal:0,F=Number.isFinite(A.dailyCount)?A.dailyCount:0,N=Number.isFinite(A.dailyLimit)?A.dailyLimit:null,V=typeof A.rewardName=="string"&&A.rewardName.trim()?A.rewardName.trim():"Unassigned",R=typeof A.rewardDescription=="string"&&A.rewardDescription.trim()?A.rewardDescription.trim():null,q=Number.isFinite(A.rewardNumber)?A.rewardNumber:"?",$=!!v[H],D=!!x[H],W=!!b[H];return r.jsx(rh,{buttonId:H,count:j,goal:_,dailyCount:F,dailyLimit:N,rewardNumber:q,rewardName:V,rewardDescription:R,limited:D,className:[$?"bg-cyan-900/45":"",D?"bg-red-950/70 ring-1 ring-red-500/70":"",W?"bg-fuchsia-900/45":""].filter(Boolean).join(" ")},H)})})})}const _o=10*1e3,u11=5*1e3,oa={activeGameId:null,games:[],activeGame:null,participants:[],counters:{objects:[],rovers:[],codes:[]},recentEvents:[],ownPlayer:null};function qo(t={}){return{...oa,...t&&typeof t=="object"?t:{},games:Array.isArray(t?.games)?t.games:[],participants:Array.isArray(t?.participants)?t.participants:[],counters:{...oa.counters,...t?.counters&&typeof t.counters=="object"?t.counters:{}},recentEvents:Array.isArray(t?.recentEvents)?t.recentEvents:[]}}function md(){const t=N2(),[a,n]=m.useState(oa),[i,u]=m.useState({connected:!!t.connected,stale:!0,lastReceivedAt:null});m.useEffect(()=>{let d=!1,v=null,p=null,x=0;function g(L={}){d||(x=Date.now(),n(qo(L)),u({connected:!!t.connected,stale:!1,lastReceivedAt:x}))}function b(){t.emit("barcodeGame:subscribe",{},(L={})=>{if(L.state){g(L.state);return}u(S=>({...S,connected:!!t.connected,stale:!x}))})}function y(){u(L=>({...L,connected:!0,stale:!x})),b()}function M(){u(L=>({...L,connected:!1,stale:!0}))}return t.on("barcodeGame:state",g),t.on("connect",y),t.on("disconnect",M),b(),v=window.setInterval(()=>{const L=!x||Date.now()-x>_o;u(S=>({...S,connected:!!t.connected,stale:L}))},1e3),p=window.setInterval(()=>{t.connected&&(!x||Date.now()-x>_o)&&b()},u11),()=>{d=!0,window.clearInterval(v),window.clearInterval(p),t.off("barcodeGame:state",g),t.off("connect",y),t.off("disconnect",M)}},[t]);const h=m.useCallback(d=>new Promise((v,p)=>{t.emit("barcodeGame:vote",{gameId:d},(x={})=>{if(x.error){p(new Error(x.error));return}x.state&&n(qo(x.state)),v(x)})}),[t]);return m.useMemo(()=>({state:a,connectionState:i,voteForGame:h}),[i,a,h])}function Nc(t){return Number.isFinite(t)?Math.max(0,Math.min(255,Math.round(t))):null}function h11(t){const a=Nc(t?.r),n=Nc(t?.g),i=Nc(t?.b);return a===null||n===null||i===null?null:{r:a,g:n,b:i}}function j8(t,a){return`rgba(${t.r}, ${t.g}, ${t.b}, ${a})`}function vd(t){const a=h11(t);return a?{textStyle:{color:j8(a,.96)},buttonStyle:{borderLeftColor:j8(a,.9)},selectedButtonStyle:{borderLeftColor:j8(a,1),backgroundColor:j8(a,.12)},titleBoxStyle:{borderLeftColor:j8(a,.88)}}:{textStyle:void 0,buttonStyle:void 0,titleBoxStyle:void 0,boxStyle:void 0}}function d11(t){const[a,n]=m.useState(()=>Date.now());return m.useEffect(()=>{if(!t)return;const i=window.setInterval(()=>{n(Date.now())},500);return()=>window.clearInterval(i)},[t]),a}function f11(t,a){if(!Number.isFinite(t))return null;const n=Math.max(0,Math.ceil((t-a)/1e3)),i=Math.floor(n/60),u=n%60;return i>0?`${i}:${String(u).padStart(2,"0")}`:`${u}s`}function m11({game:t,disabled:a,onVote:n}){const i=vd(t.themeColor),u=(t.active||t.selected)&&i.selectedButtonStyle||i.buttonStyle;return r.jsxs("button",{type:"button",disabled:a||t.active,onClick:()=>n(t.id),className:"surface flex min-h-[3.5rem] flex-col items-start justify-between border-l-4 border-l-neutral-600 px-1 py-0.75 text-left transition-colors hover:bg-neutral-700 disabled:cursor-not-allowed disabled:opacity-70",style:u,children:[r.jsxs("span",{className:"flex w-full items-start justify-between gap-1",children:[r.jsx("span",{className:"text-sm font-semibold leading-tight text-neutral-50",style:i.textStyle,children:t.title}),r.jsx("span",{className:"surface-muted shrink-0 px-1 py-0 text-center font-mono text-[0.72rem] text-neutral-200",children:t.voteCount||0})]}),r.jsx("span",{className:"mt-0.5 line-clamp-2 text-xs leading-snug text-neutral-300",children:t.description}),r.jsx("span",{className:"mt-0.5 text-[0.7rem] font-semibold text-neutral-400",children:t.active?"Active":t.selected?"Selected":t.actionLabel||"Vote"})]})}function v11({stats:t,theme:a}){return!Array.isArray(t)||!t.length?null:r.jsx("div",{className:"grid gap-0.5 sm:grid-cols-3",children:t.slice(0,6).map(n=>r.jsxs("div",{className:"surface px-1 py-0.75 text-center",children:[r.jsx("p",{className:"truncate text-[0.68rem] text-neutral-400",children:n.label}),r.jsx("p",{className:"mt-0.25 truncate text-base font-semibold leading-tight text-neutral-100",style:a.textStyle,children:n.value})]},n.label))})}function p11(t){return typeof t=="string"?t:!t||typeof t!="object"?"":String(t.label||t.value||t.text||"").trim()}function g11({sections:t}){const a=Array.isArray(t)?t.map(n=>({title:String(n?.title||"").trim(),items:Array.isArray(n?.items)?n.items.map(i=>({text:p11(i),status:typeof i=="object"&&i?i.status:null})).filter(i=>i.text):[]})).filter(n=>n.title||n.items.length):[];return a.length?r.jsx("div",{className:"mt-0.75 grid gap-0.5",children:a.map((n,i)=>r.jsxs("div",{className:"surface-muted px-1 py-0.75",children:[n.title?r.jsx("p",{className:"mb-0.5 text-xs font-semibold text-neutral-300",children:n.title}):null,r.jsx("div",{className:"grid gap-0.25",children:n.items.slice(0,8).map((u,h)=>r.jsx("p",{className:`break-words text-xs leading-snug ${u.status==="active"?"font-semibold text-neutral-50":u.status==="complete"?"text-neutral-500":"text-neutral-300"}`,children:u.text},`${u.text}-${h}`))})]},`${n.title||"section"}-${i}`))}):null}function x11({participants:t,theme:a}){const n=Array.isArray(t)?t:[],i=n.map(u=>u?.nickname||u?.roverId).filter(Boolean);return r.jsxs("div",{className:"surface min-w-0 px-1 py-0.75",children:[r.jsx("p",{className:"text-sm font-semibold text-neutral-400",children:"Participants"}),r.jsx("p",{className:"font-mono text-xl font-semibold leading-tight text-neutral-50",style:a.textStyle,children:n.length}),r.jsx("p",{className:"truncate text-sm leading-tight text-neutral-300",children:i.length?i.join(", "):"Scan rover to join"})]})}function Do({title:t,entries:a}){return!Array.isArray(a)||!a.length?null:r.jsxs("div",{children:[r.jsx("p",{className:"mb-0.5 text-xs font-semibold text-neutral-300",children:t}),r.jsx("div",{className:"grid gap-0.5",children:a.slice(0,4).map(n=>r.jsxs("div",{className:"surface-muted grid grid-cols-[minmax(0,1fr)_2.5rem] items-center gap-0.5 px-1 py-0.5 text-xs",children:[r.jsx("span",{className:"min-w-0 truncate text-neutral-200",children:n.label||n.entityId||n.code}),r.jsx("span",{className:"text-right font-mono text-neutral-200",children:n.count||0})]},`${n.entityId||n.code}-${n.type||"counter"}`))})]})}function z11({players:t,ownPlayer:a}){const n=a&&Number.isFinite(a.totalPoints);return r.jsx("div",{className:"space-y-1",children:r.jsxs("div",{className:"grid gap-0.5 sm:grid-cols-[minmax(0,0.8fr)_minmax(0,1.2fr)]",children:[r.jsxs("div",{className:"surface grid grid-cols-[minmax(0,1fr)_auto] items-center gap-1 px-1 py-0.75",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-xs font-semibold text-neutral-300",children:"Your points"}),r.jsx("p",{className:"truncate text-[0.7rem] text-neutral-400",children:a?.rank?`Rank ${a.rank}`:"No rank yet"})]}),r.jsx("p",{className:"font-mono text-xl font-semibold leading-tight text-neutral-50",children:n?a.totalPoints:0})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"mb-0.5 text-xs font-semibold text-neutral-300",children:"Leaderboard"}),Array.isArray(t)&&t.length?r.jsx("div",{className:"grid gap-0.5",children:t.slice(0,4).map((i,u)=>r.jsxs("div",{className:"surface-muted grid grid-cols-[1.5rem_minmax(0,1fr)_3rem] items-center gap-0.5 px-1 py-0.5 text-xs",children:[r.jsx("span",{className:"font-mono text-neutral-500",children:u+1}),r.jsx("span",{className:"truncate text-neutral-200",children:i.nickname}),r.jsx("span",{className:"text-right font-mono text-neutral-200",children:i.totalPoints})]},i.playerKey))}):r.jsx("p",{className:"text-xs text-neutral-500",children:"No points yet"})]})]})})}function pd(){const{state:t,connectionState:a,voteForGame:n}=md(),[i,u]=m.useState(null),h=m.useRef(""),d=m.useRef(0),v=t.activeGame,p=v?.display||{},x=t.phase==="joining"||t.phase==="starting"||t.phase==="running",g=p.timer?.endsAt,b=d11(Number.isFinite(g)),y=f11(g,b),M=m.useMemo(()=>Array.isArray(t.games)?t.games:[],[t.games]),L=Array.isArray(t.participants)?t.participants:[],S=vd(v?.themeColor);m.useEffect(()=>{!a.stale||!a.lastReceivedAt||u1("barcode_game_state_stale",{connected:a.connected,phase:t.phase||"unknown"})},[a.connected,a.lastReceivedAt,a.stale,t.phase]),m.useEffect(()=>{const B=`${v?.id||"none"}:${v?.status||t.phase||"unknown"}`;h.current!==B&&(h.current=B,u1("barcode_game_active_change",{gameId:v?.id||"",status:v?.status||"",phase:t.phase||"unknown"}),(v?.status==="ending"||t.phase==="ending")&&u1("barcode_game_round_end",{gameId:v?.id||"",participantCount:L.length}))},[v?.id,v?.status,L.length,t.phase]),m.useEffect(()=>{if(L.length<=d.current){d.current=L.length;return}d.current=L.length,u1("barcode_game_player_join",{gameId:v?.id||"",participantCount:L.length})},[v?.id,L.length]);const C=async B=>{u(B),u1("barcode_game_vote",{gameId:B,phase:t.phase||"unknown",status:"started"});try{await n(B),u1("barcode_game_vote",{gameId:B,phase:t.phase||"unknown",status:"accepted"})}catch(A){throw u1("barcode_game_vote",{gameId:B,phase:t.phase||"unknown",status:"failed",reason:A?.message||"unknown"}),A}finally{u(null)}};return r.jsxs(N1,{title:"Barcode games",bodyClassName:"space-y-1 p-0.5 text-sm",children:[r.jsx("div",{className:"grid gap-0.5 sm:grid-cols-2",children:M.map(B=>r.jsx(m11,{game:B,disabled:!!i||x,onVote:C},B.id))}),r.jsxs("section",{className:"space-y-1 border-t border-neutral-700 pt-1",children:[r.jsxs("div",{className:"grid items-stretch gap-0.5 lg:grid-cols-[minmax(0,1fr)_9rem_10rem]",children:[r.jsxs("div",{className:"surface min-w-0 border-l-4 border-neutral-700 px-1 py-0.75",style:S.titleBoxStyle,children:[r.jsx("p",{className:"break-words text-xl font-bold leading-tight text-neutral-50",style:S.textStyle,children:p.title||v?.title||"No game active"}),r.jsx("p",{className:"mt-0.5 break-words text-sm font-semibold leading-tight text-neutral-200",children:p.primary||"Vote for a game to start"}),p.secondary?r.jsx("p",{className:"mt-0.5 break-words text-xs leading-snug text-neutral-300",children:p.secondary}):null,r.jsx(g11,{sections:p.sections})]}),r.jsxs("div",{className:"surface px-1 py-0.75 text-left lg:text-right",children:[r.jsx("p",{className:"text-xs font-semibold text-neutral-400",children:p.timer?.label||"Time"}),r.jsx("p",{className:"font-mono text-xl font-semibold leading-tight text-neutral-50",style:S.textStyle,children:y||"--"}),r.jsx("p",{className:"text-xs leading-tight text-neutral-500",children:y?"active timer":"no timer"})]}),r.jsx(x11,{participants:L,theme:S})]}),r.jsx(v11,{stats:p.stats,theme:S})]}),r.jsx(z11,{players:t.leaderboard,ownPlayer:t.ownPlayer}),r.jsxs("div",{className:"grid gap-0.5 border-t border-neutral-700 pt-1 sm:grid-cols-2",children:[r.jsx("div",{className:"surface px-1 py-0.75",children:r.jsx(Do,{title:"Most scanned objects",entries:t.counters?.objects})}),r.jsx("div",{className:"surface px-1 py-0.75",children:r.jsx(Do,{title:"Most scanned rovers",entries:t.counters?.rovers})})]})]})}function b11(t=[]){const a={};return t.forEach(n=>{n?.roverId&&(a[String(n.roverId)]=n)}),a}function y11(t,a=[]){const n={...t};return a.forEach(i=>{i?.roverId&&(n[String(i.roverId)]=i)}),n}function gd(t){const a=Number(t);return Number.isFinite(a)?a>=1e3*1e3?`${(a/(1e3*1e3)).toFixed(2)} km`:a>=1e3?`${(a/1e3).toFixed(1)} m`:`${Math.round(a)} mm`:"--"}function M11(t,a){const n=Number(t);if(!Number.isFinite(n))return"--";const i=Math.max(0,a-n);return i<1500?"now":i<60*1e3?`${Math.round(i/1e3)}s ago`:`${Math.round(i/(60*1e3))}m ago`}function xd(t){return t?.name||t?.id||"Unknown rover"}function zd(){const t=N2(),a=o1(L=>L.session?.assignment?.roverId??null),n=o1(L=>L.session?.roster??[]),i=o1(L=>L.session?.odometers??[]),u=m.useMemo(()=>b11(i),[i]),[h,d]=m.useState({}),[v,p]=m.useState(()=>Date.now());m.useEffect(()=>{function L({roverId:S,odometer:C}={}){!S||!C||d(B=>({...B,[String(S)]:C}))}return t.on("odometer:update",L),t.emit("odometer:subscribe",{},(S={})=>{Array.isArray(S.odometers)&&d(C=>y11(C,S.odometers))}),()=>{t.off("odometer:update",L)}},[t]),m.useEffect(()=>{const L=window.setInterval(()=>{p(Date.now())},1e3);return()=>window.clearInterval(L)},[]);const x=m.useMemo(()=>({...u,...h}),[h,u]),g=m.useMemo(()=>n.map(L=>({rover:L,odometer:x[String(L.id)]||null})),[x,n]),b=a||g[0]?.rover?.id||null,y=g.find(L=>String(L.rover?.id)===String(b))?.rover||null,M=b&&x[String(b)]||null;return r.jsx(N1,{title:"Rover odometer",clipOverflow:!1,bodyClassName:"space-y-0.5 text-base text-slate-100",children:b?r.jsxs(r.Fragment,{children:[r.jsx(w11,{odometer:M,rover:y,now:v}),r.jsx(C11,{rows:g,primaryRoverId:b})]}):r.jsx("p",{className:"text-sm text-slate-500",children:"No rover odometer data yet."})})}function w11({odometer:t,rover:a,now:n}){const i=t?.status||"waiting",u=Number(t?.ignoredSamples)||0;return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"text-sm font-semibold text-slate-200",children:xd(a)}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5 md:grid-cols-3",children:[r.jsx(Rt,{label:"Total distance",value:gd(t?.totalMm)}),r.jsx(Rt,{label:"Last update",value:M11(t?.updatedAt,n)}),r.jsx(Rt,{label:"Status",value:i}),u>0?r.jsx(Rt,{label:"Ignored samples",value:String(u)}):null]})]})}function Rt({label:t,value:a}){return r.jsxs("div",{className:"surface flex items-center justify-between gap-0.5 px-1 py-0.5 text-sm",children:[r.jsx("span",{className:"text-slate-400",children:t}),r.jsx("span",{className:"min-w-0 truncate text-right text-slate-100",children:a??"--"})]})}function C11({rows:t,primaryRoverId:a}){return t.length?r.jsx(S11,{title:"All rovers",children:t.map(({rover:n,odometer:i})=>{const u=String(n?.id)===String(a);return r.jsxs("div",{className:`flex items-center justify-between gap-1 rounded px-1 py-0.5 ${u?"bg-slate-700/70 text-slate-50":"text-slate-200"}`,children:[r.jsx("span",{className:"min-w-0 truncate",children:xd(n)}),r.jsx("span",{className:"shrink-0 text-right text-slate-100",children:gd(i?.totalMm)}),r.jsx("span",{className:"shrink-0 text-right text-slate-400",children:i?.status||"waiting"})]},n?.id)})}):null}function S11({title:t,children:a}){return r.jsxs("div",{className:"surface space-y-0.5 p-1 text-sm",children:[r.jsx("div",{className:"text-[0.78rem] font-semibold leading-none text-slate-200",children:t}),r.jsx("div",{className:"space-y-0.5",children:a})]})}function H11(t){return t==="good"?"bg-emerald-600 text-white":t==="warn"?"bg-amber-500 text-slate-900":t==="danger"?"bg-rose-600 text-white":"bg-slate-700 text-slate-100"}function A11(t){return t==="up"?"Up":t==="down"?"Down":t==="stopped"?"Transitioning...":t==="conflict"?"Conflict":"--"}function bd(){const t=o1(V=>V.session?.lift||null),{liftUp:a,liftDown:n}=O2(),[i,u]=m.useState(""),[h,d]=m.useState(()=>Date.now()),v=!!t?.configured,p=!!(t?.enabled&&t?.connected),x=!!t?.busy,g=String(t?.target||"").toLowerCase(),b=String(t?.position||"").toLowerCase(),y=!!t?.availability?.upSwitch,M=!!t?.availability?.downSwitch,L=Number(t?.lastActionAt||0),S=Math.max(0,Number(t?.commandCooldownMs||0)),C=Math.max(0,L+S-h),B=!x&&C>0,A=x||B;m.useEffect(()=>{if(!A)return;const V=setInterval(()=>{d(Date.now())},100);return()=>clearInterval(V)},[A]),m.useEffect(()=>{d(Date.now())},[L,S,x]);const H=v?p?A?"Busy":"Ready":"Offline":"Not configured",j=v?p?A?"warn":"good":"danger":"warn",_=v&&p&&!A&&!i&&y&&M,F=m.useMemo(()=>Math.ceil(C/1e3),[C]),N=async(V,R)=>{if(R){u(V);try{await R()}catch{}finally{u("")}}};return r.jsxs(N1,{title:"Lift Controls",className:"relative w-full",bodyClassName:"text-sm text-slate-200",actions:r.jsx("span",{className:`inline-flex w-auto rounded px-1 py-0.25 text-xs font-semibold ${H11(j)}`,children:H}),children:[A?r.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center rounded-md bg-slate-950/80 px-1.5 text-center",children:r.jsxs("div",{className:"space-y-0.25",children:[r.jsx("p",{className:"text-sm font-semibold text-slate-100",children:x?"Preparing to move":"Moving!"}),r.jsx("p",{className:"text-xs text-slate-300",children:"Controls are disabled while the lift is moving, otherwise its tiny brain would get confused."}),!x&&B?r.jsxs("p",{className:"text-xs text-slate-400",children:["About ",F,"s remaining."]}):null]})}):null,r.jsxs("div",{className:"grid gap-0.5",children:[r.jsx("div",{className:"text-center",children:r.jsx("p",{className:"text-xs text-slate-400",children:"Move the lift up and down. Please don't break anything..."})}),r.jsx("section",{className:"surface-muted px-0.5 py-0.5",children:r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-0.5",children:[r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.75 text-center",children:[r.jsx("div",{className:"text-xs text-slate-300",children:"Position"}),r.jsx("div",{className:"text-base font-semibold text-slate-100",children:A11(b)})]}),r.jsx("button",{type:"button",disabled:!_,onClick:()=>N("down",n),className:`button-dark w-full text-sm disabled:opacity-50 ${b==="down"||g==="down"?"bg-emerald-500 text-white hover:bg-emerald-500":""}`,children:i==="down"||g==="down"?"Lowering...":"Down"}),r.jsx("button",{type:"button",disabled:!_,onClick:()=>N("up",a),className:`button-dark w-full text-sm disabled:opacity-50 ${b==="up"||g==="up"?"bg-emerald-500 text-white hover:bg-emerald-500":""}`,children:i==="up"||g==="up"?"Raising...":"Up"})]})}),!v||!p||!y||!M?r.jsx("p",{className:"text-xs text-slate-400 text-center",children:v?p?"Waiting for required lift switch entities in Home Assistant.":"Home Assistant is offline.":"Set homeAssistant.lift.upSwitch and homeAssistant.lift.downSwitch in server config."}):null,t?.lastError?r.jsxs("p",{className:"text-xs text-rose-300 text-center",children:["Last error: ",t.lastError]}):null]})]})}function ce(t){return String(t||"").trim()}function L11(t){const a=ce(t);return a?a.includes("DOCKINGRUNNING")?"Returning":a.includes("PAUSED")?"Paused":a.includes("HOUSECLEANINGRUNNING")?"Cleaning":a.includes("SPOTCLEANINGRUNNING")?"Spot cleaning":a.includes("STATE_START")?"Starting":a.includes("STATE_IDLE")||a.includes("STATE_STANDBY")?"Idle":a:"--"}function yd(t){return t==="good"?"bg-emerald-600 text-white":t==="warn"?"bg-amber-500 text-slate-900":t==="danger"?"bg-rose-600 text-white":"bg-slate-700 text-slate-100"}function Et({label:t,value:a,tone:n="muted",valueClass:i="",hideLabel:u=!1}){return r.jsxs("div",{className:`rounded-md px-1 py-0.75 text-center ${yd(n)}`,children:[u?null:r.jsx("div",{className:"text-[0.72rem] opacity-90",children:t}),r.jsx("div",{className:`text-sm font-semibold ${i}`,title:String(a||""),children:a})]})}function Md(){const t=o1(h1=>h1.session?.neato||null),{neatoStart:a,neatoSendHome:n,neatoLocate:i,neatoClearErrors:u,neatoPowerCycle:h}=O2(),[d,v]=m.useState(""),p=!!t?.configured,x=!!(t?.enabled&&t?.connected),g=!!t?.telemetry?.extPowerPresent,b=!!t?.telemetry?.chargingActive,y=L11(t?.telemetry?.uiState),M=ce(t?.telemetry?.robotState)||"--",L=t?.telemetry?.batteryPercent,S=Number.isFinite(L)?`${L}%`:"--",C=t?.telemetry?.batteryVoltage,B=Number.isFinite(C)?`${C.toFixed(2)} V`:"--",A=ce(t?.telemetry?.robotError)||"--",H=ce(t?.telemetry?.robotAlert)||"--",j=t?.controls||{},_=!!j?.start?.available,F=!!j?.sendHome?.available,N=!!j?.locate?.available,V=!!j?.clearErrors?.available,R=!!j?.powerCycle?.available,q=p&&x&&_,$=p&&x&&F,D=p&&x&&N,W=p&&x&&V,n1=p&&x&&R,Y=async(h1,T)=>{if(T){v(h1);try{await T()}catch{}finally{v("")}}},E=p?x?"Online":"Offline":"Not configured",I=p?x?"good":"danger":"warn",Z=L==null?"muted":L>=60?"good":L>=25?"warn":"danger",t1=g?"Docked":y!=="--"?y:"Away from dock";return r.jsx(N1,{title:"Neato Controls",className:"w-full",bodyClassName:"text-sm text-slate-200",actions:r.jsx("span",{className:`inline-flex w-auto rounded px-1 py-0.25 text-xs font-semibold ${yd(I)}`,children:E}),children:r.jsxs("div",{className:"grid gap-0.5",children:[r.jsx("div",{className:"text-center",children:r.jsx("p",{className:"text-xs text-slate-400",children:"Control the autonomous Neato robovac. Be nice to him."})}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-0.5",children:[r.jsxs("div",{className:"surface-muted grid gap-0.5",children:[r.jsx("p",{className:"text-xs text-slate-300 text-center",children:"Controls"}),r.jsx("button",{type:"button",disabled:!q||!!d,onClick:()=>Y("start",a),className:"rounded-md border border-sky-300 bg-emerald-600 px-1 py-1 text-base font-semibold text-white transition hover:border-sky-500 hover:bg-emerald-500 disabled:opacity-50",children:d==="start"?"Starting...":"Start cleaning"}),r.jsx("button",{type:"button",disabled:!$||!!d,onClick:()=>Y("sendHome",n),className:"rounded-md border border-sky-300 bg-sky-600 px-1 py-1 text-base font-semibold text-white transition hover:border-sky-500 hover:bg-sky-500 disabled:opacity-50",children:d==="sendHome"?"Sending...":"Send to dock"}),r.jsxs("div",{className:"grid grid-cols-3 gap-0.5",children:[r.jsx("button",{type:"button",disabled:!D||!!d,onClick:()=>Y("locate",i),className:"w-full rounded-md border border-sky-300 bg-fuchsia-600 px-1 py-0.5 text-xs font-semibold text-white transition hover:border-sky-500 hover:bg-fuchsia-500 disabled:opacity-50",children:d==="locate"?"Playing...":"Play sound"}),r.jsx("button",{type:"button",disabled:!W||!!d,onClick:()=>Y("clearErrors",u),className:"w-full rounded-md border border-sky-300 bg-amber-500 px-1 py-0.5 text-xs font-semibold text-slate-900 transition hover:border-sky-500 hover:bg-amber-400 disabled:opacity-50",children:d==="clearErrors"?"Clearing...":"Clear errors"}),r.jsx("button",{type:"button",disabled:!n1||!!d,onClick:()=>Y("powerCycle",h),className:"w-full rounded-md border border-rose-300 bg-rose-600 px-1 py-0.5 text-xs font-semibold text-white transition hover:border-rose-500 hover:bg-rose-500 disabled:opacity-50",children:d==="powerCycle"?"Cycling...":"Power cycle"})]}),r.jsxs("div",{className:"surface-muted grid gap-0.5 pt-0.25",children:[r.jsx("p",{className:"text-xs text-slate-300 text-center",children:"Power status"}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5",children:[r.jsx(Et,{label:"Battery",value:S,tone:Z}),r.jsx(Et,{label:"Voltage",value:B,tone:"muted"}),r.jsx(Et,{label:"Docked",value:g?"Docked":"Not docked",tone:g?"good":"muted",hideLabel:!0}),r.jsx(Et,{label:"Charging",value:b?"charging":"not charging",tone:b?"good":"muted",hideLabel:!0})]})]})]}),r.jsx("div",{className:"grid gap-0.5",children:r.jsxs("div",{className:"surface-muted grid gap-0.5",children:[r.jsx("p",{className:"text-xs text-slate-300 text-center",children:"Robot Status"}),r.jsxs("div",{className:"grid gap-0.5",children:[r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Robot state (raw)"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:M})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Basic state"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:t1})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"UI state"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:y})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Robot error"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:A})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Robot alert"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:H})]})]})]})})]}),!p||!x||!_||!F||!N||!V||!R?r.jsx("p",{className:"text-xs text-slate-400 text-center",children:p?x?"Waiting for required Neato entities in Home Assistant.":"Home Assistant is offline.":"Set homeAssistant.neato.device in server config to enable Neato controls."}):null]})})}function V11(t){const a=Number(t);if(!Number.isFinite(a)||a<=0)return null;const n=new Date(a);return Number.isNaN(n.getTime())?null:n.toLocaleTimeString([],{hour:"numeric",minute:"2-digit",second:"2-digit"})}function B11({memory:t,onClose:a}){const n=typeof t?.summary=="string"&&t.summary.trim()?t.summary:"Memory unavailable.",i=V11(t?.updatedAt);return r.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/75 p-1",onClick:a,children:r.jsx("div",{className:"w-full max-w-2xl",onClick:u=>u.stopPropagation(),children:r.jsx(N1,{title:"Overseer memory",meta:i?`Updated ${i}`:null,actions:r.jsx("button",{type:"button",onClick:a,className:"button-dark px-1 py-0.25 text-[0.75rem]",children:"Close"}),bodyClassName:"p-0.5 text-xs",children:r.jsx("pre",{className:"surface max-h-[70vh] overflow-y-auto whitespace-pre-wrap break-words font-mono text-[0.72rem] text-slate-200",children:n})})})})}function N11(){const{identifySession:t}=O2(),a=o1(M=>M.session?.overseerVote||null),n=o1(M=>M.overseerMemory||null),{value:i}=I1("profile",{nickname:""}),{value:u}=I1("identity",{cookieUserId:""}),{value:h,save:d}=I1("overseerPreference",{enabled:!1}),[v,p]=m.useState(!1),x=!!h?.enabled,g=!!a?.running,b=async M=>{const L=!!M?.target?.checked;await d(S=>({...S||{},enabled:L})),await t({cookieUserId:String(u?.cookieUserId||"").trim(),nickname:String(i?.nickname||"").trim(),overseerEnabled:L})},y=r.jsx("button",{type:"button",onClick:()=>p(!0),className:"button-dark px-1 py-0.25 text-[0.75rem]",title:"View overseer memory",children:"Memory"});return r.jsxs(r.Fragment,{children:[r.jsxs(N1,{title:"Overseer vote",actions:y,bodyClassName:"space-y-0.5 text-center text-xs text-slate-200",children:[r.jsxs("label",{className:`flex items-center justify-center gap-1.5 rounded px-1 py-0.5 ${x?"bg-emerald-600/80 text-emerald-50":"bg-slate-600/70 text-slate-100"}`,children:[r.jsx("input",{type:"checkbox",checked:x,onChange:b}),r.jsxs("span",{children:["Your vote: ",x?"Yes":"No"]})]}),r.jsx("span",{className:"text-xs",children:"Enable a local LLM in chat"}),r.jsxs("div",{className:"mt-0.5 text-slate-400",children:["Yes!: ",Number(a?.yesCount||0),", No...: ",Number(a?.noCount||0)]}),r.jsx("div",{className:"mt-0.5 flex justify-center",children:r.jsx("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.7rem] font-medium ${g?"bg-emerald-600/80 text-emerald-50":"bg-slate-600/70 text-slate-100"}`,children:g?"Running!":"Stopped by vote."})})]}),v?r.jsx(B11,{memory:n,onClose:()=>p(!1)}):null]})}function wd(){return o1(a=>!!a.session?.overseerVote?.votingEnabled)?r.jsx(N11,{}):null}const j11=224,k11=144,F11=300,R11=8,E11=.5,T11=.1;function _11(){const t=_1(a=>a.state.roverId);return r.jsx(N1,{title:"Roomba sensor view",children:r.jsx("div",{className:"aspect-square w-full",children:r.jsx(Gh,{roverId:t})})})}function q11(){const t=_1(t1=>t1.state.roverId),a=o1(t1=>!!t1.session?.homeAssistant?.lightPolicy?.lockedOn),n=_1(t1=>t1.state.keymap),i=_1(t1=>t1.state.camera),u=_1(t1=>t1.state.horn),h=_1(t1=>t1.pipeline?.headlight),d=_1(t1=>t1.pipeline?.headlightState),v=_1(t1=>t1.pipeline?.laser),p=_1(t1=>t1.pipeline?.laserState),x=_1(t1=>t1.pipeline?.horn),{setServoAngle:g,setHeadlight:b,setLaser:y,startHorn:M,stopHorn:L}=K4(),S=k0(),C=Th(t),B=C.docked&&!C.driving,A=i?.config,H=!!(t&&i?.enabled&&A),j=!!(t&&h),_=!!(t&&v),F=!!(t&&x),N=u?.overheated,V=typeof A?.minAngle=="number"?A.minAngle:-30,R=typeof A?.maxAngle=="number"?A.maxAngle:30,q=typeof i?.angle=="number"?i.angle:typeof A?.homeAngle=="number"?A.homeAngle:(V+R)/2,$=_2(n?.headlightToggle?.[0]),D=_2(n?.laserToggle?.[0]),W=_2(n?.hornHonk?.[0]),n1=_2(n?.cameraUp?.[0]),Y=_2(n?.cameraDown?.[0]),E=!!(!t||S.cameraLocked),I=i?.precisionMode?T11:E11,Z=m.useMemo(()=>({setHeadlight:t1=>{u1("headlight_toggle",{roverId:t,source:"desktop_control",enabled:!!t1}),b(t1)},setLaser:t1=>{u1("laser_toggle",{roverId:t,source:"desktop_control",enabled:!!t1}),y(t1)},startHorn:()=>(u1("horn_start",{roverId:t,source:"desktop_control"}),M()),stopHorn:L}),[t,b,y,M,L]);return r.jsxs(N1,{hideHeader:!0,className:"h-full",bodyClassName:`grid h-full min-h-0 grid-rows-[minmax(0,1fr)_auto] ${A2}`,children:[r.jsx(_h,{layout:"desktop",expand:!0,driveDockState:C}),B?null:r.jsxs("div",{className:`${w6} p-0 text-sm text-slate-200`,children:[(j||_)&&r.jsxs("div",{className:"grid grid-cols-2 gap-1",children:[j&&r.jsx(ue,{label:"Headlight",on:d?.headlightOn,disabled:!t,onToggle:Z.setHeadlight,keyLabel:$}),_&&r.jsx(ue,{label:"Laser",on:p?.laserOn,disabled:!t||a,onToggle:Z.setLaser,keyLabel:D})]}),F&&r.jsx(Rh,{disabled:!t||N,onStart:Z.startHorn,onStop:Z.stopHorn,keyLabel:W,active:u?.active,heat:u?.heat}),H&&r.jsx(pJ,{value:q,min:V,max:R,step:I,label:"Camera tilt",disabled:E,onChange:g,keyDownLabel:Y,keyUpLabel:n1,className:`${w6} rounded-xl border-2 border-emerald-300/70 bg-emerald-900 px-1 py-1 text-emerald-50`,labelRowClass:"text-xs text-emerald-100",labelClass:"text-sm font-semibold",valueClass:"font-mono text-slate-100",sliderClass:"w-full",accentClass:"accent-emerald-400",endpointClass:"text-[0.7rem] text-emerald-100/80"})]})]})}function D11({layout:t,onOpenHelpOverlay:a}){const[n,i]=m.useState("telemetry"),u=m.useRef(null),[h,d]=m.useState(j11),v=o1(H=>!!H.session?.isVerified),p=o1(H=>String(H.session?.assignment?.roverId||"").trim()),x=o1(H=>{const j=String(H.session?.assignment?.roverId||"").trim();return j&&H.session?.audioForward?.[j]||null}),g=_1(H=>!!H.state.mic?.pttActive),{value:b}=I1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),y=v?"bg-emerald-400":"bg-red-600",M=!!b?.openMicEnabled,L=b?.pttMode==="clip"?"clip":"live",S=!!(p&&v&&(L==="clip"?g:M||g)),C=!!(p&&v&&L==="clip"&&x?.source==="upload"&&x?.state==="playing"),B=o1(H=>!!H.session?.overseerVote?.votingEnabled),A=m.useCallback(H=>{i(H),u1("tab_change",{tab:H,layout:t,surface:"desktop_right_pane"})},[t]);return m.useLayoutEffect(()=>{const H=u.current;if(!H)return;let j=0,_=0,F=0;const N=()=>{j=0;const{top:$}=H.getBoundingClientRect(),D=window.innerHeight-$-R11,W=Math.round(Math.max(k11,Math.min(F11,D)));d(n1=>Math.abs(n1-W)>1?W:n1)},V=()=>{j||(j=window.requestAnimationFrame(N))},R=()=>{_=window.requestAnimationFrame(()=>{_=0,F=window.requestAnimationFrame(()=>{F=0,N()})})},q=typeof ResizeObserver=="function"?new ResizeObserver(()=>{V()}):null;return V(),R(),q&&H.parentElement&&q.observe(H.parentElement),window.addEventListener("resize",V),document.addEventListener("scroll",V,{capture:!0,passive:!0}),()=>{j&&window.cancelAnimationFrame(j),_&&window.cancelAnimationFrame(_),F&&window.cancelAnimationFrame(F),q?.disconnect(),window.removeEventListener("resize",V),document.removeEventListener("scroll",V,{capture:!0})}},[n]),r.jsx("section",{className:"text-base",children:r.jsxs(Le,{defaultTab:"telemetry",currentTab:n,onTabChange:A,children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"telemetry",children:"Controls"}),r.jsx(q2,{id:"activities",children:"Activities"}),r.jsx(q2,{id:"vip",highlight:C?"green":S?"pink":"none",children:r.jsxs("span",{className:"inline-flex items-center gap-2",children:[r.jsx("span",{children:"VIP"}),r.jsx("span",{className:`inline-block h-3 w-3 rounded-full ${y}`,"aria-hidden":"true",title:v?"Verified":"Not verified"})]})}),r.jsx(q2,{id:"help",children:"Help"}),r.jsx(q2,{id:"settings",children:"Settings"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"telemetry",children:r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsxs("div",{className:`grid items-stretch ${A2} grid-cols-[minmax(0,1.35fr)_minmax(0,0.95fr)]`,children:[r.jsx(_11,{}),r.jsx(q11,{})]}),r.jsxs("div",{className:`grid ${A2} grid-cols-[minmax(0,1fr)_minmax(0,0.9fr)_minmax(0,0.75fr)]`,children:[r.jsx(ke,{}),r.jsx(ka,{panelId:"replay-sources-desktop",fillHeight:!0}),r.jsx(oJ,{})]}),r.jsxs("div",{ref:u,className:`grid min-h-0 items-stretch ${A2} grid-cols-[minmax(0,1.3fr)_minmax(0,0.22fr)]`,style:{height:`${h}px`},children:[r.jsx(n5,{fillHeight:!0}),r.jsxs("div",{className:`grid min-h-0 ${A2} ${B?"grid-rows-[auto_minmax(0,1fr)]":"grid-rows-[minmax(0,1fr)]"}`,children:[B?r.jsx(wd,{}):null,r.jsx(me,{compact:!0,hideNicknameForm:!0,fillHeight:!0})]})]})]}),r.jsx(Jh,{}),r.jsx(Ia,{defaultOrientation:"horizontal",panelId:"rightpane-telemetry"})]})}),r.jsx(D2,{id:"activities",children:r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsx(Md,{}),r.jsx(bd,{}),r.jsx(pd,{}),r.jsx(zd,{}),r.jsx(pe,{}),r.jsx(Oh,{})]})}),r.jsx(D2,{id:"vip",keepMounted:!0,children:r.jsx(fd,{isActive:n==="vip"})}),r.jsx(D2,{id:"help",children:r.jsx(sd,{layout:t,onOpenOverlay:a})}),r.jsx(D2,{id:"settings",children:r.jsx(rd,{})})]})]})})}const O11=new Set(["admin","lockdown"]),U11=new Set(["lockdown"]),I11=new Set(["admin","lockdown"]);function P11(t="admin"){return t==="lockdown"?{title:"Lockdown mode active",description:"Only the server owners can access the interface at this time."}:{title:"Admin mode active"}}function $11(){const t=o1(x=>x.session?.mode||null),a=o1(x=>x.session?.role||null),n=o1(x=>x.session?.adminReason?.text||""),i=o1(x=>x.session?.timezone||"UTC"),u=I11.has(t),h=t==="lockdown"?U11.has(a):O11.has(a),d=e5(1e3,u&&!h),v=m.useMemo(()=>{const x=new Date(d);try{return new Intl.DateTimeFormat("en-US",{timeZone:i,hour:"numeric",minute:"2-digit",second:"2-digit"}).format(x)}catch{return x.toLocaleTimeString()}},[d,i]);if(!u||h)return null;const p=P11(t);return r.jsx("div",{className:"pointer-events-auto fixed inset-0 z-50 flex items-center justify-center bg-black px-0.5 py-0.5",children:r.jsxs("div",{className:"surface w-full max-w-md space-y-0.5 text-slate-100 shadow-2xl",children:[r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-lg font-semibold",children:p.title}),r.jsx("p",{className:"text-sm text-slate-300",children:p.description})]}),r.jsxs("div",{className:"surface-muted space-y-0.5",children:[r.jsx("p",{className:"text-[0.7rem] tracking-wide text-slate-400",children:"Reason for locking:"}),r.jsx("p",{className:"text-lg font-semibold text-slate-100",children:n||"No reason set."}),r.jsxs("p",{className:"text-center text-sm text-slate-300",children:["Server time: ",v]})]}),r.jsx("div",{className:"surface-muted",children:r.jsx(Za,{})}),r.jsx("div",{className:"w-full justify-center items-center",children:r.jsx(He,{id:"discord",label:"Join our Discord server for updates!"})}),"You can still use the chat while the server is locked:",r.jsx("div",{className:"max-h-80 overflow-y-auto",children:r.jsx(n5,{nicknameLayout:"stacked"})})]})})}const Z11="/assets/turn_alert-DVO8EZJa.mp3";function G11(t,a=1){const n=m.useRef(null);return m.useEffect(()=>{n.current=new Audio(t),n.current.volume=a,n.current.load()},[t,a]),()=>{n.current&&(n.current.volume=a,n.current.currentTime=0,n.current.play().catch(()=>{}))}}function Y11(){const t=o1(g=>g.session?.socketId||null),a=o1(g=>g.session?.turnQueues||{}),n=o1(g=>g.session?.roster||[]),{pushAlert:i}=O2(),{value:u}=I1("audio",y2),h=Number.isFinite(u?.masterVolume)?u.masterVolume:y2.masterVolume,d=Number.isFinite(u?.alertVolume)?u.alertVolume:y2.alertVolume,v=Math.max(0,Math.min(1,h*d)),p=G11(Z11,v),x=m.useRef(new Set);return m.useEffect(()=>{if(!t)return;const g=[];Object.entries(a).forEach(([b,y])=>{!y||!y.current||y.current!==t||x.current.has(b)||(g.push(b),x.current.add(b))}),Object.keys(a).forEach(b=>{(!a[b]||a[b].current!==t)&&x.current.delete(b)}),g.length!==0&&(g.forEach(b=>{const y=n.find(M=>String(M.id)===String(b))?.name||b;i({title:"Your turn!",message:`You now control ${y}.`,color:"#ff5722"})}),p())},[a,p,i,n,t]),null}function K11({visible:t,mode:a,onEnterFullscreen:n,onDismiss:i}){if(!t)return null;const u=a==="pwa-hint";return r.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center p-1 pointer-events-none bg-black/20",children:r.jsx("div",{className:"pointer-events-auto w-full max-w-sm surface center",children:r.jsxs("div",{className:"space-y-0.5 p-1 text-sm text-slate-100",children:[r.jsx("h2",{className:"text-base font-semibold text-white border-b border-slate-700",children:"Better in fullscreen!"}),u?r.jsxs("p",{className:"text-slate-300",children:["For fullscreen on iOS, open Safari's share menu and pick ",r.jsx("strong",{children:"Add to Home Screen"}),". Launching from the home screen then makes it fullscreen."]}):r.jsx("p",{className:"text-slate-300",children:"Enable fullscreen to free up more space for the video feed and controls. You can exit fullscreen at any time via the system back or home gesture."}),r.jsx("p",{className:"text-xs border-t border-b border-slate-700 p-0.5 text-blue-300 text-center",children:"This will only show once just to let you know. There is a fullscreen button in the bottom right for later use."}),r.jsxs("div",{className:"flex justify-end gap-0.5 pt-1 text-sm",children:[r.jsx("button",{type:"button",className:"rounded border border-slate-600 px-3 py-1 text-slate-200",onClick:i,children:u?"Got it":"Not now"}),!u&&r.jsx("button",{type:"button",className:"rounded bg-cyan-500 px-3 py-1 font-semibold text-black hover:bg-cyan-400",onClick:n,children:"Enter fullscreen"})]})]})})})}function Q11({side:t="right",onClick:a}){const n=t==="left"?"left-2":"right-2";return r.jsx("button",{type:"button",onClick:a,className:`fixed bottom-2 ${n} z-30 flex h-10 w-10 items-center justify-center rounded-full border border-slate-700 bg-black text-slate-200 transition hover:bg-zinc-900 active:scale-95`,"aria-label":"Enter fullscreen",title:"Enter fullscreen",children:r.jsx("svg",{viewBox:"0 0 24 24",width:"18",height:"18","aria-hidden":"true",className:"pointer-events-none",children:r.jsx("path",{d:"M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}const X11=new Set(["mobile-portrait","mobile-landscape"]),W11=()=>{if(typeof navigator>"u")return!1;const t=navigator.userAgent||navigator.platform||"";return/iphone|ipad|ipod/i.test(t)},Oo=()=>{if(typeof document>"u")return!1;const t=document;return!!(t.fullscreenEnabled||t.webkitFullscreenEnabled||t.mozFullScreenEnabled||t.msFullscreenEnabled)};function J11(t){const{value:a,save:n,status:i}=I1("page",{fullscreenPromptShown:!1}),u=X11.has(t),[h,d]=m.useState(!1),[v,p]=m.useState("native"),[x,g]=m.useState(!1),b=!!a?.fullscreenPromptShown,y=m.useMemo(()=>W11(),[]),M=m.useMemo(()=>Oo(),[]),L=m.useCallback(()=>{i==="ready"&&n(H=>H?.fullscreenPromptShown?H:{...H||{},fullscreenPromptShown:!0})},[n,i]),S=m.useCallback(()=>{if(i!=="ready"){d(!1);return}if(!u){d(!1),g(!1);return}if(!x&&b){d(!1);return}if(y){p("pwa-hint"),d(!0);return}if(!Oo()){d(!1);return}if(typeof document<"u"&&document.fullscreenElement){d(!1);return}p("native"),d(!0)},[x,b,y,u,i]);m.useEffect(()=>{S()},[S]),m.useEffect(()=>{if(typeof document>"u")return;const H=()=>{if(document.fullscreenElement){g(!1),d(!1);return}S()};return document.addEventListener("fullscreenchange",H),document.addEventListener("webkitfullscreenchange",H),()=>{document.removeEventListener("fullscreenchange",H),document.removeEventListener("webkitfullscreenchange",H)}},[S]);const C=m.useCallback(()=>{L(),g(!1),d(!1)},[L]),B=m.useCallback(async()=>{if(!u||y||typeof document>"u")return!1;if(document.fullscreenElement)return!0;const H=document.documentElement;if(!H)return!1;const j=H.requestFullscreen||H.webkitRequestFullscreen||H.mozRequestFullScreen||H.msRequestFullscreen;if(!j)return!1;try{const _=j.call(H);return _&&typeof _.then=="function"&&await _,L(),g(!1),d(!1),!0}catch(_){return console.warn("Failed to enter fullscreen",_),!1}},[y,u,L]),A=m.useCallback(()=>{u&&(g(!0),p(y?"pwa-hint":"native"),d(!0))},[y,u]);return m.useEffect(()=>{u||(g(!1),d(!1))},[u]),{visible:h,mode:v,isIOS:y,nativeSupported:M,enterFullscreen:B,dismiss:C,showPrompt:A}}function t21({visible:t,layout:a,onClose:n,showOnLoad:i,onToggleShowOnLoad:u}){const h=_1(v=>v.state.keymap);if(!t)return null;const d=v=>{const p=!v.target.checked;u?.(p)};return r.jsx("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/80 px-0.5 py-0.5",children:r.jsxs("div",{className:"pointer-events-auto surface w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-2xl",children:[r.jsxs("div",{className:"flex items-center justify-between border-b border-slate-700 px-0.5 py-0.25 text-sm text-slate-200",children:[r.jsx("span",{className:"font-semibold",children:"Help & controls"}),r.jsxs("div",{className:"flex items-center gap-0.5 text-[0.8rem] text-slate-300",children:[r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!i,onChange:d,className:"accent-cyan-500"}),r.jsx("span",{children:"Don't show again"})]}),r.jsx("button",{type:"button",onClick:n,className:"button-dark px-2 py-0.25 text-[0.8rem]",children:"Close"})]})]}),r.jsx("div",{className:"max-h-[85vh] overflow-y-auto p-0.5",children:r.jsx(id,{layout:a,keymap:h||{}})})]})})}function p0({label:t,keyLabel:a}){return r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.35 text-[0.8rem] text-slate-200",children:[r.jsx("span",{children:t}),r.jsx(fe,{label:a})]})}function e21({keymap:t}){return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200",children:'1. Press "Start Driving" put your rover into driving mode.'}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200",children:"2. Use the drive controls to move your rover:"}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(p0,{label:"Forward",keyLabel:_2(t?.driveForward?.[0])}),r.jsx(p0,{label:"Backward",keyLabel:_2(t?.driveBackward?.[0])}),r.jsx(p0,{label:"Turn Left",keyLabel:_2(t?.driveLeft?.[0])}),r.jsx(p0,{label:"Turn Right",keyLabel:_2(t?.driveRight?.[0])}),r.jsx(p0,{label:"Move faster",keyLabel:_2(t?.boostModifier?.[0])}),r.jsx(p0,{label:"Move slower",keyLabel:_2(t?.slowModifier?.[0])})]})]}),r.jsx("p",{className:"text-sm text-slate-200",children:'3. When done, enter "Docking Assist" and line up the front sensor with the dock sensor.'})]})}function c21(){return r.jsxs("div",{className:"space-y-0.5 text-sm text-slate-200",children:[r.jsx("p",{children:'1. Press "Start Driving" put your rover into driving mode.'}),r.jsx("p",{children:"2. Touch and hold in Joystick area to move."}),r.jsx("p",{children:"3. Use the other column for motor, horn, and camera controls."}),r.jsx("p",{children:'4. When done, enter "Docking Assist" and line up the front sensor with the dock sensor.'})]})}function a21({visible:t,layout:a,showOnLoad:n,onToggleShowOnLoad:i,onOpenHelp:u,onClose:h}){const d=_1(g=>g.state.keymap),v=a==="desktop",p=m.useMemo(()=>d||{},[d]);if(!t)return null;const x=g=>{const b=!g.target.checked;i?.(b)};return r.jsx("div",{className:"fixed inset-0 z-40 flex items-end justify-center bg-black/75 p-0.5 items-center",children:r.jsxs("div",{className:"pointer-events-auto surface w-full max-w-3xl overflow-hidden shadow-2xl",children:[r.jsx("div",{className:"flex items-center justify-between border-b border-slate-700 px-0.5 py-0.35 text-sm text-slate-200",children:r.jsx("span",{className:"font-semibold text-xl",children:"Welcome! To get started:"})}),r.jsxs("div",{className:`grid gap-0.5 p-0.5 ${v?"md:grid-cols-[minmax(0,1.5fr)_minmax(0,1fr)]":"grid-cols-1"}`,children:[r.jsx("section",{className:"space-y-0.5 border-b border-slate-700",children:v?r.jsx(e21,{keymap:p}):r.jsx(c21,{})}),r.jsxs("section",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-left",children:"Next..."}),r.jsxs("div",{className:"surface space-y-0.5 p-0.5 border-b border-slate-700",children:[r.jsx("p",{className:"text-xl font-semibold text-slate-200",children:"Set your nickname"}),r.jsx("p",{className:"text-sm font-semibold text-slate-200",children:"Nicknames are assigned randomly by default, you can change yours here."}),r.jsx(je,{compact:!0})]}),r.jsxs("div",{className:"surface p-0.5",children:[r.jsx("p",{className:"text-xl font-semibold text-slate-200",children:"Join our Discord server!"}),r.jsx("p",{className:"text-sm font-semibold text-slate-200",children:"We have an active and welcoming community :3"}),r.jsx(He,{id:"discord",label:"Join Discord"})]})]})]}),r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-0.5 border-t border-slate-700 px-0.5 py-0.35 text-[0.8rem]",children:[r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:!n,onChange:x,className:"accent-cyan-500"}),r.jsx("span",{children:"Don't show again"})]}),r.jsx("div",{className:"flex items-center gap-0.5",children:r.jsx("button",{type:"button",onClick:h,className:"button-dark px-1 py-0.25 text-2xl bg-green-600 hover:bg-green-400 hover:border-green-100 border-green-400",children:"Got it! Let me in!"})})]})]})})}const n21=`aroma +`):""};return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Overseer Control"}),r.jsx("div",{className:"flex gap-0.5 text-xs",children:r.jsx("button",{type:"button",onClick:a,disabled:!!n,className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:n?"Clearing...":"Clear Overseer History"})}),r.jsxs("div",{className:"surface flex flex-wrap gap-0.5 text-xs",children:[r.jsxs("span",{className:"surface-muted",children:["running: ",h.running?"yes":"no"]}),r.jsxs("span",{className:"surface-muted",children:["phase: ",h.phase||"--"]}),r.jsxs("span",{className:"surface-muted",children:["tick: ",h.tickCount??0]}),r.jsxs("span",{className:"surface-muted",children:["trigger: ",h.lastTriggerReason||"--"]}),r.jsxs("span",{className:"surface-muted",children:["name: ",d.name||"--"]}),r.jsxs("span",{className:"surface-muted",children:["model: ",d.model||"--"]}),r.jsxs("span",{className:"surface-muted",children:["observeOnly: ",d.observeOnly?"yes":"no"]}),r.jsxs("span",{className:"surface-muted",children:["decision: ",v.normalized||"--"]}),r.jsxs("span",{className:"surface-muted",children:["outcome: ",v.outcome||"--"]}),r.jsxs("span",{className:"surface-muted",children:["reason: ",v.reason||"--"]}),r.jsxs("span",{className:"surface-muted",children:["last gen: ",p.lastGenerationMs!=null?`${p.lastGenerationMs}ms`:"--"]})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Latest Context"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:x.stateUpdate||""})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact Model Input (messages[])"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:b()})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact System Prompt"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:x.systemPrompt||""})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact Transcript Rows"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(x.transcript||[],null,2)})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Tool Availability"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify({available:x.availableTools,blocked:x.blockedTools},null,2)})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Exact Model Output"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:v.raw||""})]}),r.jsxs("details",{className:"surface text-xs text-slate-200",open:!0,children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Live Tool Calls"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(v.liveToolCalls||[],null,2)})]}),r.jsxs("div",{className:"surface text-xs text-slate-200",children:[r.jsxs("div",{children:["Normalized decision: ",v.normalized||"--"]}),r.jsxs("div",{children:["Model input at: ",x.modelInputAt?new Date(x.modelInputAt).toLocaleString():"n/a"]}),r.jsxs("div",{children:["Model output at: ",v.outputAt?new Date(v.outputAt).toLocaleString():"n/a"]})]}),g.message?r.jsxs("div",{className:"surface text-xs text-red-300",children:["Error: ",g.message]}):null,r.jsxs("details",{className:"surface text-xs text-slate-200",children:[r.jsx("summary",{className:"cursor-pointer select-none text-slate-300",children:"Recent Runs"}),r.jsx("pre",{className:"mt-0.5 whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(t.history||[],null,2)})]}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>u(y=>!y),children:i?"Hide Full Payload":"Show Full Payload"}),i?r.jsx("pre",{className:"surface whitespace-pre-wrap break-words text-[0.72rem] text-slate-200",children:JSON.stringify(t,null,2)}):null]})}function vW({health:t,roster:a=[]}){if(!t)return null;const n=t.replay||{sources:[],readyCount:0,totalCount:0},i=t.snapshots||{rovers:[],rooms:[]},u=p=>a.find(x=>String(x.id)===String(p))?.color||null,h=`${n.readyCount}/${n.totalCount} sources ready`,d=i.rovers.filter(p=>p.stale).length,v=i.rooms.filter(p=>p.stale).length;return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"panel-muted text-xs uppercase",children:"Health"}),r.jsxs("div",{className:"surface space-y-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:"Replay segments"}),r.jsx("span",{className:"text-slate-400",children:h})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:"Rover snapshots"}),r.jsxs("span",{className:d?"text-amber-300":"text-emerald-300",children:[i.rovers.length-d,"/",i.rovers.length," ok"]})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:"Room cameras"}),r.jsxs("span",{className:v?"text-amber-300":"text-emerald-300",children:[i.rooms.length-v,"/",i.rooms.length," ok"]})]})]}),r.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:n.sources.map(p=>r.jsxs("div",{className:"flex items-center justify-between",children:[p.type==="rover"?r.jsx(j4,{name:p.label,color:u(p.id),fallback:p.id}):r.jsx("span",{children:p.label}),r.jsxs("span",{className:p.ready?"text-emerald-300":"text-amber-300",children:[p.recentCount,"/",p.neededCount]})]},`${p.type}:${p.id}`))}),r.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:i.rovers.map(p=>r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx(j4,{name:p.name,color:u(p.id),fallback:p.id}),r.jsx("span",{className:p.stale?"text-amber-300":"text-emerald-300",children:p.stale?"stale":"ok"})]},`rover:${p.id}`))}),r.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:i.rooms.map(p=>r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx("span",{children:p.name}),r.jsx("span",{className:p.stale?"text-amber-300":"text-emerald-300",children:p.error?"error":p.stale?"stale":"ok"})]},`room:${p.id}`))})]})}function pW({entries:t}){const a=t||[];return r.jsxs(N1,{title:"Admin IP log",meta:a.length,bodyClassName:"space-y-0.5 text-base",children:[r.jsx("div",{className:"h-64 overflow-y-auto font-mono text-xs",children:a.length===0?r.jsx("p",{children:"No admin log entries yet."}):a.slice().reverse().map(n=>r.jsxs("div",{children:[r.jsx("span",{className:"text-amber-400",children:n.ts?new Date(n.ts).toLocaleTimeString():"--"})," ",n.label&&r.jsxs("span",{className:"text-teal-400",children:["[",n.label,"]"]})," ",r.jsx("span",{className:"text-slate-200",children:n.message})," ",n.ip&&r.jsx("span",{className:"text-cyan-300",children:n.ip})," ",n.meta&&r.jsx("span",{className:"text-slate-500",children:JSON.stringify(n.meta)})]},n.id))}),r.jsx("p",{className:"text-xs text-slate-500",children:"Admin-only log stream; IPs never appear in user data."})]})}const gW=[{key:"open",label:"Open"},{key:"turns",label:"Turns"},{key:"admin",label:"Admin"},{key:"lockdown",label:"Lockdown"}];function xW(){const{session:t,lockRover:a,setMode:n,requestControl:i,setGlobalObjective:u,setAdminReason:h,rebootRover:d,updateRover:v,rebootServer:p,setAudioLevels:x,setPrivateSafety:g,llmControl:b,overseerControl:y,adminLogs:M,llmCommentaryState:L,overseerControlState:S}=N0(),C=m.useMemo(()=>t?.roster??[],[t?.roster]),[B,A]=m.useState({}),[H,j]=m.useState({}),[_,F]=m.useState({}),[N,V]=m.useState(!1),[R,q]=m.useState(!1),[$,D]=m.useState(!1),W=t?.health||null,n1=t?.globalObjective?.text||"",Y=t?.globalObjective?.updatedAt||null,[E,I]=m.useState(n1),Z=t?.adminReason?.text||"",t1=t?.adminReason?.updatedAt||null,[h1,T]=m.useState(Z),O=t?.audioLevels||{},[K,l1]=m.useState({hornGain:Number.isFinite(O.hornGain)?O.hornGain:1,ttsGain:Number.isFinite(O.ttsGain)?O.ttsGain:1,forwardGain:Number.isFinite(O.forwardGain)?O.forwardGain:1}),[m1,v1]=m.useState({}),A1=t?.role==="admin"||t?.role==="lockdown",k1=t?.role==="lockdown",R1=t?.mode??"open",O1=async(d1,p1)=>{try{await a(d1,p1),A(J1=>({...J1,[d1]:p1}))}catch(J1){alert(J1.message)}},Q1=async d1=>{const p1=d1.target.value;u1("admin_mode_change",{mode:p1,status:"started"});try{await n(p1),u1("admin_mode_change",{mode:p1,status:"accepted"})}catch(J1){u1("admin_mode_change",{mode:p1,status:"failed",reason:J1?.message||"unknown"}),alert(J1.message)}},P1=async d1=>{u1("admin_force_control",{roverId:d1,status:"started"});try{await i(d1,{force:!0}),u1("admin_force_control",{roverId:d1,status:"accepted"})}catch(p1){u1("admin_force_control",{roverId:d1,status:"failed",reason:p1?.message||"unknown"}),alert(p1.message)}},h2=async d1=>{if(!(!d1?.id||!window.confirm(`Reboot rover "${d1.name||d1.id}" now?`))){j(J1=>({...J1,[d1.id]:!0})),u1("rover_reboot_click",{roverId:d1.id,scope:"admin"});try{await d(d1.id),u1("rover_reboot_result",{roverId:d1.id,scope:"admin",status:"accepted"})}catch(J1){u1("rover_reboot_result",{roverId:d1.id,scope:"admin",status:"failed",reason:J1?.message||"unknown"}),alert(J1.message)}finally{j(J1=>({...J1,[d1.id]:!1}))}}},r1=async d1=>{if(!(!d1?.id||!window.confirm(`Update rover "${d1.name||d1.id}" now? The rover will git pull the repo, run the roverd installer, and may disconnect while services restart.`))){F(J1=>({...J1,[d1.id]:!0})),u1("rover_update_click",{roverId:d1.id});try{await v(d1.id),u1("rover_update_result",{roverId:d1.id,status:"accepted"})}catch(J1){u1("rover_update_result",{roverId:d1.id,status:"failed",reason:J1?.message||"unknown"}),alert(J1.message)}finally{F(J1=>({...J1,[d1.id]:!1}))}}},V1=async()=>{if(window.confirm("Reboot the server host now? This will disconnect all users.")){V(!0),u1("server_reboot_click",{status:"started"});try{await p(),u1("server_reboot_click",{status:"accepted"})}catch(p1){u1("server_reboot_click",{status:"failed",reason:p1?.message||"unknown"}),alert(p1.message),V(!1)}}},Z1=async()=>{if(window.confirm("Clear LLM commentary history now? This resets chat context, bot memory, and rover activity metrics for narration.")){q(!0);try{await b("clearHistory")}catch(p1){alert(p1.message)}finally{q(!1)}}},D1=async()=>{if(window.confirm("Clear Overseer Control history now?")){D(!0);try{await y("clearHistory")}catch(p1){alert(p1.message)}finally{D(!1)}}},b1=async()=>{try{await u(E)}catch(d1){alert(d1.message)}},L1=async()=>{try{await u(null)}catch(d1){alert(d1.message)}},x1=async()=>{try{await h(h1)}catch(d1){alert(d1.message)}},C1=async()=>{try{await h(null)}catch(d1){alert(d1.message)}},g1=d1=>p1=>{const J1=Number(p1.target.value);l1(f1=>({...f1||{},[d1]:Number.isFinite(J1)?J1:1}))},T1=async()=>{try{await x(K)}catch(d1){alert(d1.message)}},c1=async()=>{window.dispatchEvent(new CustomEvent("buttonBox:rewardRunLocalTest",{detail:{rewardName:"Admin Mode",count:1e3,goal:1e3}}))};m.useEffect(()=>{I(n1)},[n1]),m.useEffect(()=>{T(Z)},[Z]),m.useEffect(()=>{l1({hornGain:Number.isFinite(O.hornGain)?O.hornGain:1,ttsGain:Number.isFinite(O.ttsGain)?O.ttsGain:1,forwardGain:Number.isFinite(O.forwardGain)?O.forwardGain:1})},[O.forwardGain,O.hornGain,O.ttsGain]),m.useEffect(()=>{const d1={};(C||[]).forEach(p1=>{p1?.private?.enabled&&(d1[p1.id]={speedLimitEnabled:!!p1?.private?.safety?.speedLimitEnabled,speedLimitMaxWheelSpeed:Number.isFinite(p1?.private?.safety?.speedLimitMaxWheelSpeed)?p1.private.safety.speedLimitMaxWheelSpeed:250,hardOvercurrentEnabled:!!p1?.private?.safety?.hardOvercurrentEnabled,overcurrentStopMs:Number.isFinite(p1?.private?.safety?.overcurrentStopMs)?p1.private.safety.overcurrentStopMs:300,hardBumpEnabled:!!p1?.private?.safety?.hardBumpEnabled,bumpBackoffSpeed:Number.isFinite(p1?.private?.safety?.bumpBackoffSpeed)?p1.private.safety.bumpBackoffSpeed:250,bumpBackoffMs:Number.isFinite(p1?.private?.safety?.bumpBackoffMs)?p1.private.safety.bumpBackoffMs:350,cliffEnabled:!!p1?.private?.safety?.cliffEnabled,cliffBackoffSpeed:Number.isFinite(p1?.private?.safety?.cliffBackoffSpeed)?p1.private.safety.cliffBackoffSpeed:250,cliffBackoffMs:Number.isFinite(p1?.private?.safety?.cliffBackoffMs)?p1.private.safety.cliffBackoffMs:500,triggerCooldownMs:Number.isFinite(p1?.private?.safety?.triggerCooldownMs)?p1.private.safety.triggerCooldownMs:800})}),v1(d1)},[C]);const M1=m.useMemo(()=>{const d1={};return C.forEach(p1=>{d1[p1.id]=B[p1.id]??p1.locked}),d1},[C,B]),y1=(d1,p1={})=>{v1(J1=>({...J1||{},[d1]:{...J1?.[d1]||{},...p1||{}}}))},j1=async d1=>{try{const p1=m1?.[d1];if(!p1)return;await g(d1,p1)}catch(p1){alert(p1.message)}};if(!A1)return null;const r2=r.jsx("select",{value:R1,onChange:Q1,className:"field-input text-sm",children:gW.map(d1=>r.jsx("option",{value:d1.key,children:d1.label},d1.key))});return r.jsxs(N1,{title:"Admin controls",actions:r2,bodyClassName:"space-y-0.5 text-base",children:[r.jsxs("div",{className:"flex gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:V1,disabled:N,className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:N?"Server rebooting...":"Reboot Server"}),r.jsx("button",{type:"button",onClick:c1,className:"button-dark",children:"Test Reward Popup"})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[r.jsx("span",{children:"Global audio levels"}),t?.audioLevels?.updatedAt?r.jsxs("span",{children:["Updated ",new Date(t.audioLevels.updatedAt).toLocaleString()]}):null]}),r.jsxs("label",{className:"grid gap-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{children:"Horn gain"}),r.jsxs("span",{children:[K.hornGain.toFixed(2),"x"]})]}),r.jsx("input",{type:"range",min:"0",max:"4",step:"0.01",value:K.hornGain,onChange:g1("hornGain"),className:"w-full accent-emerald-500"})]}),r.jsxs("label",{className:"grid gap-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{children:"TTS gain"}),r.jsxs("span",{children:[K.ttsGain.toFixed(2),"x"]})]}),r.jsx("input",{type:"range",min:"0",max:"4",step:"0.01",value:K.ttsGain,onChange:g1("ttsGain"),className:"w-full accent-emerald-500"})]}),r.jsxs("label",{className:"grid gap-0.5 text-xs text-slate-200",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsx("span",{children:"Forward gain"}),r.jsxs("span",{children:[K.forwardGain.toFixed(2),"x"]})]}),r.jsx("input",{type:"range",min:"0",max:"4",step:"0.01",value:K.forwardGain,onChange:g1("forwardGain"),className:"w-full accent-emerald-500"})]}),r.jsx("div",{className:"flex gap-0.5 text-xs",children:r.jsx("button",{type:"button",onClick:T1,className:"button-dark",children:"Apply audio levels"})})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[r.jsx("span",{children:"Global objective"}),Y?r.jsxs("span",{children:["Updated ",new Date(Y).toLocaleString()]}):null]}),r.jsx("input",{type:"text",value:E,onChange:d1=>I(d1.target.value),placeholder:"Set a global objective",className:"field-input text-sm"}),r.jsxs("div",{className:"flex gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:b1,className:"button-dark",children:"Set objective"}),r.jsx("button",{type:"button",onClick:L1,className:"button-danger",children:"Clear"})]})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[r.jsx("span",{children:"Admin mode reason"}),t1?r.jsxs("span",{children:["Updated ",new Date(t1).toLocaleString()]}):null]}),r.jsx("textarea",{value:h1,onChange:d1=>T(d1.target.value),placeholder:"Set an admin mode reason",className:"field-input text-sm min-h-[3.5rem]"}),r.jsxs("div",{className:"flex gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:x1,className:"button-dark",children:"Set reason"}),r.jsx("button",{type:"button",onClick:C1,className:"button-danger",children:"Clear"})]})]}),r.jsx(uW,{roster:C,renderActions:d1=>r.jsxs("div",{className:"flex flex-wrap items-center gap-0.5 text-xs",children:[r.jsx("button",{type:"button",onClick:()=>O1(d1.id,!M1[d1.id]),className:"button-dark",children:M1[d1.id]?"Unlock":"Lock"}),r.jsx("button",{type:"button",onClick:()=>P1(d1.id),className:"button-dark",children:"Force"}),r.jsx("button",{type:"button",onClick:()=>h2(d1),disabled:!!H[d1.id],className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:H[d1.id]?"Rebooting...":"Reboot"}),r.jsx("button",{type:"button",onClick:()=>r1(d1),disabled:!!_[d1.id],className:"button-danger disabled:cursor-not-allowed disabled:opacity-60",children:_[d1.id]?"Updating...":"Update"}),d1?.private?.enabled?r.jsxs("div",{className:"w-full rounded border border-slate-700/70 p-0.5 space-y-0.5 text-[0.7rem]",children:[r.jsx("div",{className:"text-slate-300",children:"Private safety"}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.speedLimitEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{speedLimitEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Speed limit"})]}),r.jsx("input",{type:"number",min:"1",max:"500",className:"field-input text-xs w-20",disabled:!k1,value:m1?.[d1.id]?.speedLimitMaxWheelSpeed??250,onChange:p1=>y1(d1.id,{speedLimitMaxWheelSpeed:Number(p1.target.value)||250})}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.hardOvercurrentEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{hardOvercurrentEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Hard overcurrent"})]}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.hardBumpEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{hardBumpEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Hard bump"})]}),r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!!m1?.[d1.id]?.cliffEnabled,disabled:!k1,onChange:p1=>y1(d1.id,{cliffEnabled:!!p1.target.checked})}),r.jsx("span",{children:"Cliff safety"})]}),r.jsx("button",{type:"button",disabled:!k1,onClick:()=>j1(d1.id),className:"button-dark disabled:opacity-50",children:"Apply Safety"})]}):null]})}),r.jsx(vW,{health:W,roster:C}),r.jsx(fW,{state:L,onClearHistory:Z1,clearingHistory:R}),r.jsx(mW,{state:S,onClearHistory:D1,clearingHistory:$}),r.jsx(pW,{entries:M})]})}const zW=[{id:"driveForward",label:"Drive Forward",group:"Driving"},{id:"driveBackward",label:"Drive Backward",group:"Driving"},{id:"driveLeft",label:"Turn Left",group:"Driving"},{id:"driveRight",label:"Turn Right",group:"Driving"},{id:"boostModifier",label:"Boost Modifier",group:"Driving"},{id:"slowModifier",label:"Slow Modifier",group:"Driving"},{id:"auxMainForward",label:"Main Brush Forward",group:"Aux Motors"},{id:"auxMainReverse",label:"Main Brush Reverse",group:"Aux Motors"},{id:"auxSideForward",label:"Side Brush Forward",group:"Aux Motors"},{id:"auxSideReverse",label:"Side Brush Reverse",group:"Aux Motors"},{id:"auxVacuumFast",label:"Vacuum Max",group:"Aux Motors"},{id:"auxVacuumSlow",label:"Vacuum Low",group:"Aux Motors"},{id:"auxAllForward",label:"All Aux Forward",group:"Aux Motors"},{id:"cameraUp",label:"Camera Up",group:"Camera"},{id:"cameraDown",label:"Camera Down",group:"Camera"},{id:"headlightToggle",label:"Toggle Headlight",group:"Camera"},{id:"laserToggle",label:"Toggle Laser",group:"Camera"},{id:"videoFilterCycle",label:"Cycle Video Filter",group:"Camera"},{id:"hornHonk",label:"Horn (Hold)",group:"Audio"},{id:"micPtt",label:"Mic Push To Talk",group:"Audio"},{id:"driveMacro",label:"Drive Macro",group:"Macros"},{id:"dockMacro",label:"Dock Macro",group:"Macros"},{id:"chatFocus",label:"Toggle Chat",group:"Chat"},{id:"songNoteUp",label:"Song Note Up",group:"Audio"},{id:"songNoteDown",label:"Song Note Down",group:"Audio"},{id:"homeAssistantOn",label:"Room Controls On (Cycle)",group:"Room Controls"},{id:"homeAssistantOff",label:"Room Controls Off (Cycle)",group:"Room Controls"}];function bW(t){return t.reduce((a,n)=>((a[n.group]||(a[n.group]=[])).push(n),a),{})}function yW(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(0,Math.min(500,n)):a}const Ga=5,K8=500,Q8=1,Ya=100;function MW(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Ga,Math.min(K8,n)):a}function ee(t,a){const n=Number(t);return Number.isFinite(n)?Math.max(Q8,Math.min(Ya,n)):a}function wW(t){const n=(ee(t,t)-Q8)/(Ya-Q8),i=K8-n*(K8-Ga);return Math.round(i)}function CW(t){const a=MW(t,t),n=(K8-a)/(K8-Ga),i=Q8+n*(Ya-Q8);return Math.round(i)}function SW(t){const[a,n]=m.useState(null),i=m.useCallback(d=>{uc(!0),n(d)},[]),u=m.useCallback(()=>{uc(!1),n(null)},[]),h=m.useCallback((d,v)=>{if(v.preventDefault(),v.stopPropagation(),v.key==="Escape"){u();return}const p=c5(v.key??"");p&&(t(d,p,v),u())},[u,t]);return m.useEffect(()=>()=>uc(!1),[]),{active:a,startCapture:i,cancel:u,captureFromEvent:h}}function Sc({children:t}){return r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm font-semibold text-white",children:t})}function Ht({label:t,description:a,value:n,onChange:i,min:u=0,max:h=500,step:d=5}){return r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_4.75rem] items-start gap-1.5 text-sm text-white",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:t}),r.jsx("input",{type:"number",min:u,max:h,value:n,onChange:v=>i(v.target.value),className:"w-full rounded border border-neutral-600 bg-neutral-900 px-1 py-0.5 text-right text-xs font-mono text-white"})]}),a&&r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:a}),r.jsxs("div",{className:"mt-1 flex items-center gap-1.5",children:[r.jsx("input",{type:"range",min:u,max:h,step:d,value:n,onChange:v=>i(v.target.value),className:"h-2 min-w-0 flex-1 accent-emerald-400"}),r.jsx("span",{className:"w-10 text-right text-xs font-mono text-white",children:n})]})]})}function HW({action:t,value:a,isActive:n,onCaptureStart:i,onCancel:u,onCaptureKeyDown:h}){return r.jsxs("div",{className:"mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm max-[420px]:grid-cols-1",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"font-semibold leading-snug text-white",children:t.label}),r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:_2(a)})]}),r.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-1 max-[420px]:justify-start",children:[n&&r.jsx("button",{type:"button",onClick:u,className:"button-danger px-1 py-0.5 text-xs",children:"Cancel"}),r.jsx("button",{type:"button",onClick:i,onKeyDown:n?h:void 0,autoFocus:n,className:`${n?"rounded-md bg-emerald-500 px-1 py-0.5 text-emerald-950 hover:bg-emerald-400":"button-dark px-1 py-0.5"} text-xs font-medium transition-colors`,children:n?"Press a key...":"Change"})]})]})}function AW(){const t=_1(S=>S.state.keymap),{updateKeyBinding:a,resetKeyBindings:n}=K4(),{value:i,save:u}=I1("inputs",D4),h={...D4.keyboard,...i.keyboard??{}},d=m.useMemo(()=>typeof h.tiltSpeed=="number"?ee(h.tiltSpeed,D4.keyboard.tiltSpeed):typeof h.tiltIntervalMs=="number"?ee(CW(h.tiltIntervalMs),D4.keyboard.tiltSpeed):D4.keyboard.tiltSpeed,[h.tiltIntervalMs,h.tiltSpeed]),v=m.useMemo(()=>bW(zW),[]),{active:p,startCapture:x,cancel:g,captureFromEvent:b}=SW((S,C)=>{a(S,C)}),y=m.useCallback(S=>t?.[S]?.[0]||q8[S]?.[0]||"",[t]),M=m.useCallback((S,C)=>{const B=D4.keyboard,A=yW(C,B[S]);u(H=>({...H??{},keyboard:{...H?.keyboard??B,[S]:A}}))},[u]),L=m.useCallback(S=>{const C=D4.keyboard,B=ee(S,C.tiltSpeed),A=wW(B);u(H=>({...H??{},keyboard:{...H?.keyboard??C,tiltSpeed:B,tiltIntervalMs:A}}))},[u]);return r.jsxs(N1,{title:"Keyboard layout",meta:"Per-browser · click to change a binding",actions:r.jsx("button",{type:"button",onClick:()=>n(),className:"button-dark px-1 py-0.5 text-xs",children:"Reset defaults"}),bodyClassName:"space-y-2 p-1 text-sm",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx(Sc,{children:"Keyboard speeds"}),r.jsxs("div",{className:"grid gap-1",children:[r.jsx(Ht,{label:"Base speed",description:"Normal driving speed",value:h.baseSpeed,onChange:S=>M("baseSpeed",S)}),r.jsx(Ht,{label:"Turbo speed",description:"Used when holding the boost modifier",value:h.turboSpeed,onChange:S=>M("turboSpeed",S)}),r.jsx(Ht,{label:"Precision speed",description:"Used when holding the precision modifier",value:h.precisionSpeed,onChange:S=>M("precisionSpeed",S)})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(Sc,{children:"Camera tilt"}),r.jsx(Ht,{label:"Tilt speed",description:"Higher = faster when holding tilt keys",value:d,onChange:L,min:1,max:100,step:1})]}),r.jsx("div",{className:"space-y-2",children:Object.entries(v).map(([S,C])=>r.jsxs("div",{className:"space-y-1",children:[r.jsx(Sc,{children:S}),r.jsx("div",{className:"grid gap-1",children:C.map(B=>{const A=y(B.id),H=p===B.id;return r.jsx(HW,{action:B,value:A,isActive:H,onCancel:()=>g(),onCaptureStart:()=>x(B.id),onCaptureKeyDown:j=>b(B.id,j)},B.id)})})]},S))})]})}const m3=new Intl.NumberFormat(void 0,{maximumFractionDigits:2}),LW=[{id:"drive",label:"Drive stick",kind:"axisPair",section:"Driving",invertDefaults:{invertX:!1,invertY:!0}},{id:"cameraTilt",label:"Camera tilt",kind:"axis",section:"Camera",invertDefaults:{invert:!0}},{id:"mainBrush",label:"Main brush",kind:"axis",section:"Brushes",invertDefaults:{invert:!1}},{id:"sideBrush",label:"Side brush",kind:"axis",section:"Brushes",invertDefaults:{invert:!1}},{id:"vacuum",label:"Vacuum",kind:"button",section:"Aux buttons"},{id:"allAux",label:"All aux",kind:"button",section:"Aux buttons"},{id:"mainReverse",label:"Main reverse toggle",kind:"button",section:"Brush toggles"},{id:"sideReverse",label:"Side reverse toggle",kind:"button",section:"Brush toggles"},{id:"driveMacro",label:"Drive macro",kind:"button",section:"Mode macros"},{id:"dockMacro",label:"Dock macro",kind:"button",section:"Mode macros"},{id:"headlightToggle",label:"Headlight toggle",kind:"button",section:"Camera"},{id:"laserToggle",label:"Laser toggle",kind:"button",section:"Camera"}],ho=.45,VW=.6;function N8({label:t,description:a,min:n,max:i,step:u,value:h,onChange:d}){return r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-1.5 text-sm text-white",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:t}),r.jsx("span",{className:"rounded bg-neutral-900 px-1 py-0.5 font-mono text-xs text-white",children:m3.format(h)})]}),a&&r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:a}),r.jsx("input",{type:"range",min:n,max:i,step:u,value:h,onChange:v=>d(Number(v.target.value)),className:"mt-1 w-full accent-emerald-400"})]})}function BW(t){if(!t)return"Unassigned";if(t.kind==="axisPair"){const a=`${t.invertX?"X inv ":""}${t.invertY?"Y inv":""}`.trim();return`Axes ${t.x}/${t.y}${a?` (${a})`:""}`}if(t.kind==="axis")return`Axis ${t.index}${t.invert?" (inv)":""}`;if(t.kind==="button")return`Button ${t.index}`;if(t.kind==="buttonAxis")return`Button ${t.index} (analog)`;if(t.kind==="axisButton"){const a=t.direction<0?"<":">";return`Axis ${t.index} ${a} ${m3.format(t.threshold??.6)}`}return"Unassigned"}function NW(t){return t.reduce((a,n)=>((a[n.section]||(a[n.section]=[])).push(n),a),{})}function jW(t,a){if(!t||t.length===0)return null;if(a){const n=t.find(i=>i.signature===a);if(n)return n}return t[0]}function kW(t){return{axes:Array.from(t.axes??[]),buttons:(t.buttons??[]).map(a=>({pressed:!!a?.pressed,value:typeof a?.value=="number"?a.value:a?.pressed?1:0}))}}function FW(t,a,n){const i=(t.axes??[]).map((h,d)=>({index:d,delta:Math.abs((h??0)-(a.axes?.[d]??0)),value:h}));if(i.sort((h,d)=>d.delta-h.delta),n.kind==="axisPair"){const h=i.filter(d=>d.delta>ho).slice(0,2);return h.length<2?null:{kind:"axisPair",x:h[0].index,y:h[1].index,...n.invertDefaults??{}}}const u=i.find(h=>h.delta>ho);return u?{kind:"axis",index:u.index,...n.invertDefaults??{}}:null}function RW(t,a,n){const i=t.buttons??[];for(let h=0;hVW)return n.kind==="axis"?{kind:"buttonAxis",index:h}:{kind:"button",index:h}}const u=t.axes??[];for(let h=0;h.7&&v>.5)return n.kind==="axis"?{kind:"axis",index:h,...n.invertDefaults??{}}:{kind:"axisButton",index:h,direction:d>=0?1:-1,threshold:.6}}return null}function EW(t,a,n){if(!t)return null;if(n.kind==="axis"||n.kind==="axisPair"){const i=FW(t,a,n);if(i)return i}return RW(t,a,n)}function At({children:t}){return r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm font-semibold text-white",children:t})}function TW({action:t,source:a,isCapturing:n,onClear:i,onCapture:u,onInvert:h}){return r.jsxs("div",{className:"mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm max-[520px]:grid-cols-1",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"font-semibold leading-snug text-white",children:t.label}),r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:BW(a)})]}),r.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-1 max-[520px]:justify-start",children:[t.kind==="axisPair"&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",disabled:!a,onClick:()=>h(t,"invertX"),className:"button-dark px-1 py-0.5 text-xs font-medium disabled:opacity-50",children:"Invert X"}),r.jsx("button",{type:"button",disabled:!a,onClick:()=>h(t,"invertY"),className:"button-dark px-1 py-0.5 text-xs font-medium disabled:opacity-50",children:"Invert Y"})]}),t.kind==="axis"&&r.jsx("button",{type:"button",disabled:!a,onClick:()=>h(t),className:"button-dark px-1 py-0.5 text-xs font-medium disabled:opacity-50",children:"Invert"}),r.jsx("button",{type:"button",onClick:()=>i(t),className:"button-dark px-1 py-0.5 text-xs",children:"Clear"}),r.jsx("button",{type:"button",onClick:()=>u(t),className:`${n?"rounded-md bg-emerald-500 px-1 py-0.5 text-emerald-950 hover:bg-emerald-400":"button-dark px-1 py-0.5"} text-xs font-medium`,children:n?"Waiting...":"Capture"})]})]})}function _W(){const t=KK(),{value:a,save:n}=I1("gamepad",Z3),[i,u]=m.useState(null),h=m.useRef(null),d=m.useMemo(()=>NW(LW),[]),v=m.useMemo(()=>jW(t.pads,a.activeSignature),[t.pads,a.activeSignature]),p=v?.signature??null,x=m.useMemo(()=>p?a?.profiles?.[p]??a?.defaults?.profile??v3:a?.defaults?.profile??v3,[p,a?.defaults?.profile,a?.profiles]);m.useEffect(()=>{!v||!p||a?.profiles?.[p]||n(C=>{const B=C??Z3;if(B.profiles?.[p])return B;const A=B?.defaults?.profile??v3,H=Bh(v,A);return{...B,profiles:{...B.profiles??{},[p]:H}}})},[v,p,a?.profiles,n]),m.useEffect(()=>{h.current=null},[i,p]),m.useEffect(()=>{if(!i||!v)return;if(!h.current){h.current=kW(v);return}const C=EW(v,h.current,i);C&&(n(B=>{const A=B??Z3,H=A.profiles?.[p]??A?.defaults?.profile??v3,j={...H,bindings:{...H.bindings??{},[i.id]:{...H.bindings?.[i.id]??{},kind:i.kind,sources:[C]}}};return{...A,profiles:{...A.profiles??{},[p]:j}}}),u(null))},[v,p,i,n]);const g=m.useCallback(C=>{n(B=>({...B??Z3,activeSignature:C||null}))},[n]),b=m.useCallback(C=>{n(B=>{const A=B??Z3,H=(p&&A.profiles?.[p])??A?.defaults?.profile??v3,j={...H,calibration:{...H.calibration??{},...C}};return p?{...A,profiles:{...A.profiles??{},[p]:j}}:{...A,defaults:{...A.defaults??{},profile:j}}})},[p,n]),y=m.useCallback((C,B)=>{n(A=>{const H=A??Z3,j=(p&&H.profiles?.[p])??H?.defaults?.profile??v3,_=B(j.bindings?.[C]??{}),F={...j,bindings:{...j.bindings??{},[C]:_}};return p?{...H,profiles:{...H.profiles??{},[p]:F}}:{...H,defaults:{...H.defaults??{},profile:F}}})},[p,n]),M=m.useCallback(C=>{y(C.id,B=>({...B,sources:[]}))},[y]),L=m.useCallback((C,B)=>{y(C.id,A=>{const H=Array.isArray(A.sources)?[...A.sources]:[];if(!H[0])return A;const j={...H[0]};return B==="invertX"?j.invertX=!j.invertX:B==="invertY"?j.invertY=!j.invertY:j.invert=!j.invert,H[0]=j,{...A,sources:H}})},[y]),S=m.useMemo(()=>v?{outputs:Nh(v,x)}:null,[v,x]);return r.jsxs(N1,{title:"Controller",meta:v?"Move sticks or press buttons to bind":"Connect a controller to configure.",bodyClassName:"space-y-2 p-1 text-sm",children:[i&&r.jsxs("p",{className:"mx-auto w-full max-w-lg rounded bg-emerald-950/50 px-1.5 py-1 text-sm text-white",children:["Capturing ",i.label,"..."]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:"Connected controller"}),t.pads.length===0?r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm text-white",children:"No controller detected."}):r.jsxs("div",{className:"mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm max-[420px]:grid-cols-1",children:[r.jsx("select",{value:p??"",onChange:C=>g(C.target.value),className:"min-w-0 rounded border border-neutral-600 bg-neutral-900 px-1 py-0.5 text-sm text-white",children:t.pads.map(C=>r.jsx("option",{value:C.signature,children:C.id||"Unknown controller"},C.signature))}),r.jsx("span",{className:"rounded bg-neutral-900 px-1 py-0.5 text-xs text-white",children:v?.mapping??"unknown"})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:"Calibration"}),r.jsxs("div",{className:"grid gap-1",children:[r.jsx(N8,{label:"Drive deadzone",description:"Ignore small drive stick drift",min:0,max:.6,step:.01,value:x.calibration?.driveDeadzone??.18,onChange:C=>b({driveDeadzone:C})}),r.jsx(N8,{label:"Camera deadzone",description:"Ignore small camera tilt drift",min:0,max:.4,step:.01,value:x.calibration?.cameraDeadzone??.08,onChange:C=>b({cameraDeadzone:C})}),r.jsx(N8,{label:"Aux deadzone",description:"Ignore small trigger noise",min:0,max:.4,step:.01,value:x.calibration?.auxDeadzone??.05,onChange:C=>b({auxDeadzone:C})}),r.jsx(N8,{label:"Side brush scale",description:"Scale side brush output",min:.3,max:1,step:.05,value:x.calibration?.auxSideScale??.55,onChange:C=>b({auxSideScale:C})}),r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-1.5 text-sm text-white",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:"Camera mode"}),r.jsxs("select",{value:x.calibration?.cameraMode??"absolute",onChange:C=>b({cameraMode:C.target.value}),className:"rounded border border-neutral-600 bg-neutral-900 px-1 py-0.5 text-sm text-white",children:[r.jsx("option",{value:"absolute",children:"Absolute"}),r.jsx("option",{value:"velocity",children:"Velocity"})]})]}),r.jsx("p",{className:"mt-0.5 text-xs leading-snug text-white",children:"Absolute maps stick to angle; velocity moves over time."})]}),r.jsx(N8,{label:"Camera sensitivity",description:"Velocity mode degrees per second",min:10,max:180,step:5,value:x.calibration?.cameraSensitivity??60,onChange:C=>b({cameraSensitivity:C})})]})]}),r.jsx("div",{className:"space-y-2",children:Object.entries(d).map(([C,B])=>r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:C}),r.jsx("div",{className:"grid gap-1",children:B.map(A=>{const j=x.bindings?.[A.id]?.sources?.[0]??null;return r.jsx(TW,{action:A,source:j,isCapturing:i?.id===A.id,onClear:M,onCapture:u,onInvert:L},A.id)})})]},C))}),r.jsxs("div",{className:"space-y-1",children:[r.jsx(At,{children:"Diagnostics"}),v?r.jsxs("div",{className:"mx-auto w-full max-w-lg space-y-1 rounded bg-neutral-900/70 px-1.5 py-1 text-xs text-white",children:[r.jsx("p",{className:"text-white",children:"Raw axes"}),r.jsx("div",{className:"grid grid-cols-2 gap-1",children:v.axes.map((C,B)=>r.jsxs("span",{className:"font-mono text-white",children:["A",B,": ",m3.format(C)]},`axis-${B}`))}),r.jsx("p",{className:"text-white",children:"Raw buttons"}),r.jsx("div",{className:"grid grid-cols-2 gap-1",children:v.buttons.map((C,B)=>r.jsxs("span",{className:"font-mono text-white",children:["B",B,": ",m3.format(C.value)," ",C.pressed?"●":""]},`btn-${B}`))}),S?.outputs&&r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-white",children:"Mapped outputs"}),r.jsxs("div",{className:"grid grid-cols-2 gap-1",children:[r.jsxs("span",{className:"font-mono text-white",children:["Drive: ",m3.format(S.outputs.driveVector.x),","," ",m3.format(S.outputs.driveVector.y)]}),r.jsxs("span",{className:"font-mono text-white",children:["Camera: ",m3.format(S.outputs.cameraAxis)]}),r.jsxs("span",{className:"font-mono text-white",children:["Main: ",m3.format(S.outputs.auxAxis.main)]}),r.jsxs("span",{className:"font-mono text-white",children:["Side: ",m3.format(S.outputs.auxAxis.side)]})]})]})]}):r.jsx("p",{className:"mx-auto w-full max-w-lg text-sm text-white",children:"No controller detected."})]})]})}const qW={drive:"Drive wheels",aux:"Aux motors"};function fo(t){return Number.isFinite(t)?`${Math.round(t*100)}%`:"--"}function DW({value:t,color:a="bg-emerald-500"}){const n=`${Math.round(Math.max(0,Math.min(1,t))*100)}%`;return r.jsx("div",{className:"h-2 w-full overflow-hidden rounded bg-slate-800",children:r.jsx("div",{className:`h-full ${a}`,style:{width:n}})})}function OW(){const t=_1(i=>i.state.roverId),a=_1(i=>i.overcurrentLimiter),n=m.useMemo(()=>b6.map(i=>i.key),[]);return r.jsx(N1,{title:"Overcurrent limiter",meta:a?.adminImmune?"Admin immune":"Active",bodyClassName:"space-y-0.5 text-sm",children:t?r.jsxs("div",{className:"space-y-0.5",children:[n.map(i=>{const u=a?.caps?.[i]?.cap??0,h=a?.overcurrent?.groups?.[i]??!1,d=a?.scales?.perGroup?.[i]??1;return r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs",children:[r.jsx("span",{className:"text-slate-200",children:qW[i]||i}),r.jsx("span",{className:h?"text-red-300":"text-slate-400",children:h?"overcurrent":"ok"})]}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-[0.7rem] text-slate-400",children:[r.jsx("span",{children:"Cap"}),r.jsx("span",{children:fo(u)})]}),r.jsx(DW,{value:u,color:"bg-amber-500"}),r.jsxs("div",{className:"flex items-center justify-between text-[0.7rem] text-slate-400",children:[r.jsx("span",{children:"Scale"}),r.jsx("span",{children:fo(d)})]})]})]},i)}),r.jsxs("div",{className:"text-[0.7rem] text-slate-400",children:[r.jsx("div",{children:`Down rate ${a?.config?.downRatePerSec}/s · Up rate ${a?.config?.upRatePerSec}/s`}),r.jsx("div",{children:`Release delay ${a?.config?.releaseDelaySec}s`}),r.jsx("div",{children:`Output rate ${a?.config?.outputRateMs}ms`})]})]}):r.jsx("p",{className:"text-xs text-slate-500",children:"Assign a rover to view limiter status."})})}const td="pride-page-bg",A2="gap-0.5",w6="space-y-0.5",ed=m.createContext(null);function cd(){const t=m.useContext(ed);if(!t)throw new Error("Tabs components must be used within a provider.");return t}const mo={primary:{base:"flex-1 px-0.5 py-0.5 text-sm font-medium focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-slate-500 rounded-md border border-slate-800",active:"bg-sky-600 text-white border-white",inactive:"bg-zinc-900 text-slate-300 hover:bg-sky-500 hover:text-white"}},vo={none:"",pink:"bg-pink-500 text-white border-pink-200 hover:bg-pink-400",green:"bg-emerald-500 text-white border-emerald-200 hover:bg-emerald-400",pinkblue:"bg-gradient-to-r from-lime-800 to-teal-800"},ad="primary";function Ka(...t){return t.filter(Boolean).join(" ")}function Le({children:t,defaultTab:a,currentTab:n,onTabChange:i,variant:u=ad}){const[h,d]=m.useState(a??null),[v,p]=m.useState([]),x=m.useCallback(M=>M?(p(L=>L.includes(M)?L:[...L,M]),()=>p(L=>L.includes(M)?L.filter(S=>S!==M):L)):()=>{},[]),g=n??h??v[0]??null;m.useEffect(()=>{a&&n===void 0&&d(a)},[a,n]);const b=m.useCallback(M=>{M&&(n===void 0&&d(M),i&&i(M))},[n,i]),y=m.useMemo(()=>({activeTab:g,setActiveTab:b,registerTab:x,variant:u}),[g,b,x,u]);return r.jsx(ed.Provider,{value:y,children:t})}function Ve({children:t,className:a=""}){return r.jsx("div",{className:Ka("panel-section overflow-hidden border border-neutral-500/60 bg-neutral-900/95 p-0.5",a),children:r.jsx("div",{className:`flex ${A2}`,children:t})})}function q2({id:t,children:a,className:n="",disabled:i=!1,highlight:u="none"}){const{activeTab:h,setActiveTab:d,registerTab:v,variant:p}=cd();m.useEffect(()=>v(t),[t,v]);const x=mo[p]??mo[ad],g=h===t,b=vo[u]||vo.none,y=Ka(x.base,b||(g?x.active:x.inactive),i?"cursor-not-allowed opacity-50":"",n);return r.jsx("button",{type:"button",className:y,onClick:()=>!i&&d(t),"aria-pressed":g,"aria-disabled":i,children:a})}function Be({children:t,className:a=""}){return r.jsx("div",{className:Ka("mt-0",w6,a),children:t})}function D2({id:t,children:a,keepMounted:n=!1}){const{activeTab:i}=cd(),u=i===t;return!u&&!n?null:!u&&n?r.jsx("div",{hidden:!0,"aria-hidden":"true",children:a}):r.jsx(r.Fragment,{children:a})}function UW(){const{session:t}=N0(),a=m.useMemo(()=>JSON.stringify(t??{},null,2),[t]);return r.jsx(N1,{title:"Session snapshot",className:"min-h-0",bodyClassName:"flex min-h-0 flex-col gap-0.5 text-xs",children:r.jsx("pre",{className:"min-h-0 flex-1 overflow-y-auto font-mono text-[0.7rem] text-lime-300",children:a})})}const po=300,go=240;function IW(t,a){if(t===void 0)return"undefined";if(t===null)return"null";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);if(typeof t=="function")return"[Function]";if(t instanceof Error)return`${t.name}: ${t.message}`;if(t instanceof Date)return t.toISOString();if(a||(a=new WeakSet),typeof t=="object"){if(a.has(t))return"[Circular]";a.add(t)}try{return JSON.stringify(t,(n,i)=>typeof i=="function"?"[Function]":i instanceof Error?`${i.name}: ${i.message}`:i,0)}catch{return String(t)}}function PW(t){const n=t.map(i=>IW(i)).join(" ");return n.length>go?`${n.slice(0,go)}…`:n}function $W(){const t=N2(),[a,n]=m.useState([]),i=m.useMemo(()=>a.reduce((h,d)=>(d.direction==="in"&&(h.in+=1),d.direction==="out"&&(h.out+=1),h),{in:0,out:0}),[a]);m.useEffect(()=>{const h=(x,g,b)=>{n(y=>{const M=[...y,{id:`${Date.now()}-${Math.random().toString(16).slice(2)}`,direction:x,event:g,payload:PW(b),timestamp:new Date().toLocaleTimeString()}];return M.length>po?M.slice(-po):M})},d=(x,...g)=>h("in",x,g),v=(x,...g)=>h("out",x,g);t.onAny(d);let p=null;if(typeof t.onAnyOutgoing=="function")t.onAnyOutgoing(v),p=()=>t.offAnyOutgoing(v);else{const x=t.emit.bind(t);t.emit=(g,...b)=>(v(g,...b),x(g,...b)),p=()=>{t.emit=x}}return()=>{t.offAny(d),p&&p()}},[t]);const u=r.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-slate-400",children:[r.jsxs("span",{children:["in ",i.in]}),r.jsxs("span",{children:["out ",i.out]}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>n([]),children:"Clear"})]});return r.jsxs(N1,{title:"Socket activity",actions:u,bodyClassName:"space-y-0.5 text-base",children:[r.jsx("div",{className:"h-64 overflow-y-auto font-mono text-xs",children:a.length===0?r.jsx("p",{children:"No socket activity yet."}):a.slice().reverse().map(h=>r.jsxs("div",{children:[r.jsx("span",{className:"text-slate-400",children:h.timestamp})," ",r.jsxs("span",{className:h.direction==="in"?"text-emerald-400":"text-amber-400",children:["[",h.direction.toUpperCase(),"]"]})," ",r.jsx("span",{className:"text-cyan-300",children:h.event})," ",r.jsx("span",{className:"text-slate-200",children:h.payload})]},h.id))}),r.jsx("p",{className:"text-xs text-slate-500",children:"Logs are collected only while this panel is open."})]})}function fe({label:t}){return t?r.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:t}):null}const ZW=[{key:"start",label:"Start OI"},{key:"safe",label:"Safe"},{key:"full",label:"Full"},{key:"passive",label:"Passive"},{key:"dock",label:"Dock"}],nd=[{key:"none",label:"Color"},{key:"grayscale",label:"Gray"},{key:"greenscale",label:"Green"}];function xo(t){return nd.some(a=>a.key===t)?t:j0.colorFilter}function m0({children:t,className:a=""}){return r.jsx("label",{className:`mx-auto grid w-full max-w-lg grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 rounded bg-neutral-800/80 px-1.5 py-1 text-sm text-white max-[420px]:grid-cols-1 ${a}`,children:t})}function Lt({children:t}){return r.jsx("p",{className:"mx-auto w-full max-w-lg text-xs leading-snug text-white",children:t})}function Vt({label:t,value:a,disabled:n=!1,onChange:i}){return r.jsxs("label",{className:"mx-auto block w-full max-w-lg rounded bg-neutral-800/80 px-1.5 py-1 text-sm text-white",children:[r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5",children:[r.jsx("span",{className:"min-w-0 font-semibold text-white",children:t}),r.jsxs("span",{className:"rounded bg-neutral-900 px-1 py-0.5 text-xs text-white",children:[Math.round(a*100),"%"]})]}),r.jsx("input",{type:"range",min:"0",max:"1",step:"0.01",value:a,onChange:i,className:"mt-1 w-full accent-emerald-500 disabled:opacity-50",disabled:n})]})}function rd(){const t=_1(E=>E.state.keymap),a=_1(E=>E.state.roverId),{sendOiCommand:n,setSensorStream:i}=K4(),u=!!a,[h,d]=Ph(),v=N2(),{value:p,save:x}=I1("page",{hudMapDesktop:!1,connectionTransport:"websocket",swapMobileControlColumns:!1,driveMacroBackoffEnabled:!0}),{value:g,save:b}=I1("audio",y2),{value:y,save:M}=I1("video",j0),L=p?.connectionTransport||"websocket",S=!!p?.swapMobileControlColumns,C=typeof p?.driveMacroBackoffEnabled=="boolean"?p.driveMacroBackoffEnabled:!0,B=Number.isFinite(g?.masterVolume)?g.masterVolume:y2.masterVolume,A=Number.isFinite(g?.alertVolume)?g.alertVolume:y2.alertVolume,H=Number.isFinite(g?.roverVolume)?g.roverVolume:y2.roverVolume,j=typeof g?.mainBrushDuckEnabled=="boolean"?g.mainBrushDuckEnabled:typeof g?.autoLevelEnabled=="boolean"?g.autoLevelEnabled:y2.mainBrushDuckEnabled,_=Number.isFinite(g?.mainBrushDuckAmount)?Math.max(0,Math.min(1,g.mainBrushDuckAmount)):y2.mainBrushDuckAmount,F=xo(y?.colorFilter),N=_2(t?.videoFilterCycle?.[0]),V=m.useMemo(()=>[{key:"start",label:"Enable stream",enable:!0},{key:"stop",label:"Disable stream",enable:!1}],[]),R=E=>{a&&i(E)},q=E=>{const I=E.target.value;x(Z=>({...Z??{},connectionTransport:I})),u1("settings_change",{setting:"connection_transport",value:I}),v?.io?.opts&&(v.io.opts.transports=I==="polling"?["polling"]:["websocket","polling"],v.disconnect(),v.connect())},$=E=>I=>{const Z=Number(I.target.value),t1=Number.isFinite(Z)?Math.max(0,Math.min(1,Z)):0;b(h1=>({...h1??{},[E]:t1})),x3("settings_change",{setting:E,value:t1},{key:`audio:${E}`,throttleMs:3*1e3})},D=E=>{const I=!!E.target.checked;b(Z=>({...Z??{},mainBrushDuckEnabled:I})),u1("settings_change",{setting:"mainBrushDuckEnabled",value:I})},W=E=>{const I=!!E.target.checked;x(Z=>({...Z??{},swapMobileControlColumns:I})),u1("mobile_controls_swap",{enabled:I}),u1("settings_change",{setting:"swapMobileControlColumns",value:I})},n1=E=>{const I=!!E.target.checked;x(Z=>({...Z??{},driveMacroBackoffEnabled:I})),u1("settings_change",{setting:"driveMacroBackoffEnabled",value:I})},Y=E=>{const I=xo(E.target.value);M(Z=>({...Z??{},colorFilter:I})),u1("settings_change",{setting:"videoColorFilter",value:I})};return r.jsxs(Le,{defaultTab:"keybindings",children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"keybindings",children:"Keybindings"}),r.jsx(q2,{id:"controller",children:"Controller"}),r.jsx(q2,{id:"page",children:"Page settings"}),r.jsx(q2,{id:"admin",children:"Admin"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"keybindings",children:r.jsx("div",{className:"space-y-0.5",children:r.jsx(AW,{})})}),r.jsx(D2,{id:"controller",children:r.jsx("div",{className:"space-y-0.5",children:r.jsx(_W,{})})}),r.jsx(D2,{id:"page",children:r.jsxs("div",{className:"grid gap-1.5 lg:grid-cols-2",children:[r.jsxs(N1,{title:"HUD",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsxs(m0,{className:"grid-cols-[auto_minmax(0,1fr)] max-[420px]:grid-cols-[auto_minmax(0,1fr)]",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:h,onChange:E=>d(E.target.checked)}),r.jsx("span",{className:"font-semibold text-white",children:"Show top-down map in HUD (desktop)"})]}),r.jsx(Lt,{children:"Mobile HUD keeps the map on by default."})]}),r.jsxs(N1,{title:"Video",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsxs(m0,{children:[r.jsx("span",{className:"font-semibold text-white",children:"Rover video filter"}),r.jsx("select",{value:F,onChange:Y,className:"field-input min-w-28 px-1 py-0.5 text-sm",children:nd.map(E=>r.jsx("option",{value:E.key,children:E.label},E.key))})]}),r.jsx(Lt,{children:r.jsxs("span",{className:"inline-flex flex-wrap items-center gap-1",children:[r.jsx("span",{children:"Use"}),N?r.jsx(fe,{label:N}):null,r.jsx("span",{children:"to cycle filters. Applies only to rover camera pixels; HUD overlays stay full color."})]})})]}),r.jsx(N1,{title:"Mobile controls",bodyClassName:"space-y-1 p-1 text-sm",children:r.jsxs(m0,{className:"grid-cols-[auto_minmax(0,1fr)] max-[420px]:grid-cols-[auto_minmax(0,1fr)]",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:S,onChange:W}),r.jsx("span",{className:"font-semibold text-white",children:"Swap control columns (put joystick on the left)"})]})}),r.jsx(N1,{title:"Macros",bodyClassName:"space-y-1 p-1 text-sm",children:r.jsxs(m0,{className:"grid-cols-[auto_minmax(0,1fr)] max-[420px]:grid-cols-[auto_minmax(0,1fr)]",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:C,onChange:n1}),r.jsx("span",{className:"font-semibold text-white",children:"Enable backward bump in drive macro"})]})}),r.jsxs(N1,{title:"Audio",className:"lg:col-span-2",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsx(Vt,{label:"Master volume",value:B,onChange:$("masterVolume")}),r.jsx(Vt,{label:"Alert/page sounds",value:A,onChange:$("alertVolume")}),r.jsx(Vt,{label:"Rover audio",value:H,onChange:$("roverVolume")}),r.jsxs(m0,{children:[r.jsx("span",{className:"font-semibold text-white",children:"Main brush ducking"}),r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:j,onChange:D})]}),r.jsx(Vt,{label:"Main brush duck amount",value:_,onChange:$("mainBrushDuckAmount"),disabled:!j}),r.jsx(Lt,{children:"Lowers rover audio only while the main brush is running."})]}),r.jsxs(N1,{title:"Connection",bodyClassName:"space-y-1 p-1 text-sm",children:[r.jsxs(m0,{children:[r.jsx("span",{className:"font-semibold text-white",children:"Transport"}),r.jsxs("select",{value:L,onChange:q,className:"field-input min-w-28 px-1 py-0.5 text-sm",children:[r.jsx("option",{value:"websocket",children:"WebSocket"}),r.jsx("option",{value:"polling",children:"Polling"})]})]}),r.jsx(Lt,{children:"Switching reconnects your session."})]})]})}),r.jsx(D2,{id:"admin",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(N1,{title:"Manual OI commands",bodyClassName:"space-y-0.5 text-sm",children:r.jsx("div",{className:"flex flex-wrap gap-0.5",children:ZW.map(E=>r.jsx("button",{type:"button",onClick:()=>n(E.key),disabled:!u,className:"button-dark text-xs disabled:opacity-30",children:E.label},E.key))})}),r.jsxs(N1,{title:"Sensor stream",bodyClassName:"space-y-0.5 text-sm",children:[r.jsx("div",{className:"flex gap-0.5",children:V.map(E=>r.jsx("button",{type:"button",onClick:()=>R(E.enable),disabled:!u,className:"flex-1 button-dark text-xs disabled:opacity-30",children:E.label},E.key))}),!u&&r.jsx("p",{className:"text-xs text-slate-500",children:"Assign a rover to toggle streams."})]}),r.jsx(Za,{}),r.jsx(OW,{}),r.jsx(xW,{}),r.jsx(UW,{}),r.jsx($W,{})]})})]})]})}const zo={desktop:{main:[{type:"list",title:"Chat and nicknames",items:["Set a nickname in the user list panel, on the bottom left of the page below the rover video.",{segments:["Toggle chat focus with ",{action:"chatFocus"},". Press ",{action:"chatFocus"}," again to send."]}]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button onscreen, or press ',{action:"driveMacro"}," on your keyboard to put the rover into driving mode."]},"Refer to the controls for the controls for the rover."]},{type:"list",title:"Docking the rover",items:['If the rover shows "Docking in Progress", it is already auto-seeking the dock.',"To dock manually, enter Docking Assist from the drive panel.",{segments:['Press "Enter Docking Assist", or press ',{action:"dockMacro"},"."]},"In assist mode, camera tilts down and driving speed is limited for precise alignment."]}],aside:[{type:"keyboard",title:"Keyboard controls",footnote:"Per-browser; adjust bindings and speeds in Settings → Keybindings.",groups:[{id:"movement",title:"Movement",items:[{action:"driveForward",label:"Forward"},{action:"driveBackward",label:"Backward"},{action:"driveLeft",label:"Turn left"},{action:"driveRight",label:"Turn right"},{action:"boostModifier",label:"Boost speed"},{action:"slowModifier",label:"Precision speed"}]},{id:"macros",title:"Rover modes & chat",items:[{action:"driveMacro",label:"Drive macro"},{action:"dockMacro",label:"Docking assist toggle"},{action:"chatFocus",label:"Chat focus"}]},{id:"camera",title:"Camera",items:[{action:"cameraUp",label:"Tilt up"},{action:"cameraDown",label:"Tilt down"},{action:"headlightToggle",label:"Toggle headlight"},{action:"laserToggle",label:"Toggle laser"}]},{id:"motors",title:"Rover Aux Motors",items:[{action:"auxMainForward",label:"Main brush forward"},{action:"auxMainReverse",label:"Main brush reverse"},{action:"auxSideForward",label:"Side brush forward"},{action:"auxSideReverse",label:"Side brush reverse"},{action:"auxVacuumFast",label:"Vacuum max"},{action:"auxVacuumSlow",label:"Vacuum low"},{action:"auxAllForward",label:"All motors forward"}]},{id:"audio",title:"Audio / Song",items:[{action:"songNoteUp",label:"Song note up"},{action:"songNoteDown",label:"Song note down"}]},{id:"room-controls",title:"Room Controls",items:[{action:"homeAssistantOn",label:"Next room control on"},{action:"homeAssistantOff",label:"Next room control off (reverse)"}]}]},{type:"gamepad",title:"Gamepad / joystick",items:["Gamepad controls are fully configurable to handle inconsistent browser mappings.","Use Settings → Controller to bind inputs, calibrate deadzones, and view diagnostics.","If inputs behave oddly, the diagnostics panel will show raw axis/button values."]}]},"mobile-portrait":{main:[{type:"list",title:"Chat and nicknames",items:["Set a nickname in the user list panel below.","Tap in the chat box to send messages in the chat."]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button onscreen to put the rover into driving mode.']},"Look below the rover video. Use the joystick column to move the rover, and hold the aux buttons in the other control column."]},{type:"list",title:"Docking the rover",items:['If you see "Docking in Progress", the rover is currently auto-seeking the dock.',{segments:['For manual docking, press "Enter Docking Assist".']},"Assist mode tilts camera down and limits speed for precise alignment."]}]},"mobile-landscape":{main:[{type:"list",title:"Chat and nicknames",items:["Scroll down to see more of the page.","Set a nickname in the user list panel below.","Tap in the chat box to send messages in the chat."]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button, or the "Drive" button to put the rover into driving mode.']},"Use the joystick column beside the video feed to move the rover, and hold the aux buttons in the other control column."]},{type:"list",title:"Docking the rover",items:['If you see "Docking in Progress", the rover is currently auto-seeking the dock.',{segments:['For manual docking, press "Enter Docking Assist" (or "Dock" button).']},"Assist mode tilts camera down and limits speed for precise alignment."]}]}};function GW(t){return zo[t]||zo.desktop}function ld({actionId:t,keymap:a}){const n=a?.[t]?.[0]??"";return r.jsx("span",{className:"rounded border border-slate-600 bg-slate-900/40 px-1 text-[0.7rem] text-slate-200",children:_2(n)})}function bo(t,a){return t.map((n,i)=>typeof n=="string"?r.jsx("span",{children:n},`text-${i}`):n?.action?r.jsx(ld,{actionId:n.action,keymap:a},`pill-${n.action}-${i}`):n?.text?r.jsx("span",{children:n.text},`span-${i}`):null)}function Ne(t,a,n){if(typeof t=="string")return t;if(Array.isArray(t?.segments))return bo(t.segments,a);if(t&&typeof t=="object"){if(typeof t.text=="string")return t.text;if(Array.isArray(t))return bo(t,a)}return String(t??"")}function YW({hero:t,keymap:a}){return t?r.jsxs("div",{className:"surface space-y-0.5 px-0.5 py-0.5",children:[r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-0.5",children:[r.jsxs("div",{children:[r.jsx("p",{className:"text-sm font-semibold text-white",children:t.title}),t.subtitle&&r.jsx("p",{className:"text-xs text-slate-300",children:t.subtitle})]}),t.chips&&r.jsx("div",{className:"flex flex-wrap gap-0.5 text-[0.7rem] text-slate-200",children:t.chips.map(n=>r.jsx("span",{className:"rounded border border-slate-700 px-1 py-[2px]",children:n},n))})]}),t.bullets&&r.jsx("ul",{className:"space-y-0.5 text-[0.85rem] text-slate-200",children:t.bullets.map((n,i)=>{const u=Array.isArray(n?.segments)?`hero-${i}`:`hero-${i}`;return r.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:Ne(n,a)},u)})})]}):null}function KW({block:t,keymap:a}){return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs font-semibold text-slate-200",children:t.title}),r.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:t.items.map((n,i)=>{const u=`item-${i}`;return r.jsx("li",{className:"surface-muted flex flex-wrap items-center gap-0.5 px-0.5 py-0.25",children:Ne(n,a)},u)})})]})}function QW({block:t}){const a=t.tone==="info"?"border-cyan-500/40":"border-slate-700";return r.jsxs("div",{className:`surface space-y-0.5 border ${a} px-0.5 py-0.5`,children:[r.jsx("p",{className:"text-xs font-semibold text-slate-100",children:t.title}),t.body&&r.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:t.body.map((n,i)=>r.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:Ne(n,{})},`callout-${i}`))})]})}function XW({group:t,keymap:a}){return r.jsxs("div",{className:"space-y-0.5 surface",children:[r.jsx("p",{className:"px-0.5 py-0.25 text-[0.75rem] font-semibold text-slate-200",children:t.title}),r.jsx("div",{className:"space-y-0.5 px-0.5 pb-0.25",children:t.items.map(n=>r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.25 text-[0.8rem]",children:[r.jsx("span",{className:"text-slate-200",children:n.label}),r.jsx(ld,{actionId:n.action,keymap:a})]},n.action))})]})}function WW({block:t,keymap:a}){return t?r.jsxs("div",{className:"space-y-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-200",children:[r.jsx("span",{className:"font-semibold",children:t.title}),t.footnote&&r.jsx("span",{className:"text-[0.7rem] text-slate-400",children:t.footnote})]}),r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-0.5",children:t.groups?.map(n=>r.jsx(XW,{group:n,keymap:a},n.id))})]}):null}function JW({block:t}){return t?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs font-semibold text-slate-200",children:t.title}),r.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:t.items?.map((a,n)=>r.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:Ne(a,{})},`gamepad-${n}`))})]}):null}function yo({block:t,keymap:a}){if(!t)return null;switch(t.type){case"list":return r.jsx(KW,{block:t,keymap:a});case"callout":return r.jsx(QW,{block:t});case"keyboard":return r.jsx(WW,{block:t,keymap:a});case"gamepad":return r.jsx(JW,{block:t});default:return null}}function id({layout:t,keymap:a}){const n=m.useMemo(()=>GW(t),[t]),i=a||{},u=n.main||[],h=n.aside||[];return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(YW,{hero:n.hero,keymap:i}),r.jsxs("div",{className:"grid gap-0.5",style:{gridTemplateColumns:"repeat(auto-fit, minmax(360px, 1fr))"},children:[r.jsx("div",{className:"space-y-0.5",children:u.map((d,v)=>r.jsx(yo,{block:d,keymap:i},d.title||v))}),r.jsx("div",{className:"space-y-0.5",children:h.map((d,v)=>r.jsx(yo,{block:d,keymap:i},d.title||v))})]})]})}function sd({layout:t,onOpenOverlay:a}){const n=_1(u=>u.state.keymap),i=r.jsx("button",{type:"button",onClick:a,className:"button-dark px-1 py-0.25 text-[0.75rem]",children:"Open full help"});return r.jsx(N1,{title:"Help",actions:i,bodyClassName:"space-y-0.5 text-sm",children:r.jsx(id,{layout:t,keymap:n||{}})})}function je({compact:t=!1}){const{setNickname:a}=O2(),{value:n,save:i}=I1("profile",{nickname:""}),[u,h]=m.useState(n.nickname||""),[d,v]=m.useState(!1);m.useEffect(()=>{h(n.nickname||"")},[n.nickname]);async function p(x){x.preventDefault();const g=(u||"").trim().slice(0,32);if(g){v(!0);try{await a(g),i({nickname:g}),u1("nickname_set",{length:g.length})}catch(b){alert(b.message)}finally{v(!1)}}}return r.jsxs("div",{className:"grid w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-stretch gap-0.5",children:[r.jsx("input",{className:"field-input flex-1 min-w-0",value:u,onChange:x=>h(x.target.value),onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),p(x))},maxLength:32,placeholder:"Enter a nickname"}),r.jsx("button",{type:"button",onClick:p,disabled:d,className:"button-dark h-full shrink-0 whitespace-nowrap px-0.5 py-0 disabled:opacity-50",children:d?"Saving…":t?"Set":"Save"})]})}const Mo=["kal","rms","slt","ksp","bdl"],wo=["sfg","iob","iog","iol","iom","tpc","tpd","tpf"],tJ=Array.from({length:10},(t,a)=>a*10),Co=[.5,.75,1,1.25,1.5,1.75,2],So=1,od="tpf",g0={engine:"chromegtts",voice:od,pitch:50,googlePitch:So,googleSpeed:So};function eJ(t){return(1/t).toFixed(2)}function cJ(t){return{engine:t?.engine||g0.engine,voice:t?.voice||g0.voice,pitch:Number.isFinite(t?.pitch)?t.pitch:g0.pitch,googlePitch:Number.isFinite(t?.googlePitch)?t.googlePitch:g0.googlePitch,googleSpeed:Number.isFinite(t?.googleSpeed)?t.googleSpeed:g0.googleSpeed}}function aJ(t){const a=o1(h=>h.session?.role||null),n=o1(h=>h.session?.assignment?.roverId||null),i=o1(h=>h.session?.roster??[]),u=m.useMemo(()=>i.find(h=>String(h.id)===String(n))||null,[n,i]);return{canChat:a!=="spectator"||t,ttsSupported:!!u?.audio?.ttsEnabled}}function nJ({fillHeight:t=!1}){const{messages:a,typing:n}=jK(),i=m.useRef(null),u=m.useMemo(()=>a.slice(-200),[a]),h=m.useMemo(()=>n||[],[n]),d=t?"flex-1 min-h-0 overflow-y-auto":"h-48 overflow-y-auto";return m.useEffect(()=>{i.current&&(i.current.scrollTop=i.current.scrollHeight)},[u,h]),r.jsxs("div",{className:`overflow-y-auto space-y-0.5 px-0 ${d}`,ref:i,children:[u.length===0&&h.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:"No messages yet."}):u.map(v=>r.jsx(P8,{message:v},v.id)),h.map(v=>r.jsx(P8,{message:v,variant:"typing"},`typing-${v.typingId||v.id}`))]})}const rJ=m.memo(je);function lJ({ttsSupported:t,speak:a,onSpeakChange:n,engine:i,voice:u,pitch:h,googlePitch:d,googleSpeed:v,saveTtsSettings:p}){if(!t)return null;const x="field-input min-w-0 max-w-full px-0 text-xs";return r.jsxs("div",{className:"chat-composer-tts",children:[r.jsxs("label",{className:"flex shrink-0 items-center gap-0.5 whitespace-nowrap text-xs text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:a,onChange:g=>n(g.target.checked),className:"accent-cyan-500"}),r.jsx("span",{children:"Speak"})]}),r.jsxs("select",{value:i,onChange:g=>{const b=g.target.value,y=b==="chromegtts"&&!wo.includes(u)?od:b==="flite"&&!Mo.includes(u)?"rms":u;p(M=>({...M||{},engine:b,voice:y}))},className:`${x} w-[5.5rem] shrink`,children:[r.jsx("option",{value:"flite",children:"flite"}),r.jsx("option",{value:"espeak",children:"espeak"}),r.jsx("option",{value:"chromegtts",children:"Google speech"})]}),i==="flite"||i==="chromegtts"?r.jsxs(r.Fragment,{children:[r.jsx("select",{value:u,onChange:g=>{const b=g.target.value;p(y=>({...y||{},voice:b}))},className:`${x} w-[3.25rem] shrink`,children:(i==="chromegtts"?wo:Mo).map(g=>r.jsx("option",{value:g,children:g},g))}),i==="chromegtts"&&r.jsxs(r.Fragment,{children:[r.jsx("select",{value:d,onChange:g=>{const b=Number(g.target.value);p(y=>({...y||{},googlePitch:b}))},className:`${x} w-[5rem] shrink`,children:Co.map(g=>r.jsxs("option",{value:g,children:["pitch ",g.toFixed(2)]},`pitch-${g}`))}),r.jsx("select",{value:v,onChange:g=>{const b=Number(g.target.value);p(y=>({...y||{},googleSpeed:b}))},className:`${x} w-[5rem] shrink`,children:Co.map(g=>r.jsxs("option",{value:g,children:["speed ",eJ(g)]},`speed-${g}`))})]})]}):r.jsx("select",{value:h,onChange:g=>{const b=Number(g.target.value);p(y=>({...y||{},pitch:b}))},className:`${x} w-[4.5rem] shrink`,children:tJ.map(g=>r.jsxs("option",{value:g,children:["pitch ",g]},g))})]})}function iJ({allowSpectatorInput:t=!1,hideSpectatorNotice:a=!1}){const{sendMessage:n,registerInputRef:i,onInputFocus:u,onInputBlur:h,blurChat:d,setTypingActive:v}=qa(),{canChat:p,ttsSupported:x}=aJ(t),{value:g,save:b}=I1("tts",g0),{engine:y,voice:M,pitch:L,googlePitch:S,googleSpeed:C}=cJ(g),[B,A]=m.useState(""),[H,j]=m.useState(!1),[_,F]=m.useState(!0),N=x&&_,V=m.useMemo(()=>N?y==="espeak"?{speak:!0,engine:y,pitch:L}:y==="chromegtts"?{speak:!0,engine:y,voice:M,pitch:S,speed:C}:{speak:!0,engine:y,voice:M}:null,[N,y,S,C,L,M]);async function R(q){if(q.preventDefault(),!p)return;const D=B.replace(/\\n/g,` +`).trim();if(D){j(!0);try{await n(D,V),A(""),d(),v(!1)}catch(W){alert(W.message)}finally{j(!1)}}}return r.jsxs("form",{className:"chat-composer",onSubmit:R,children:[r.jsx("div",{className:"chat-composer-nickname",children:r.jsx(rJ,{compact:!0})}),r.jsx("input",{className:"field-input chat-composer-input",value:B,onChange:q=>{const $=q.target.value;A($),v(!!$.trim())},onFocus:q=>{u(q),v(!!B.trim())},onBlur:q=>{h(q),v(!1)},onKeyDown:q=>{q.key==="Enter"&&!B.trim()&&(q.preventDefault(),d(),v(!1))},ref:q=>i(q,{target:"panel"}),placeholder:p?"Type a message…":a?"":"Spectators cannot chat",disabled:!p}),r.jsx("button",{type:"submit",disabled:!p||H,className:"button-dark chat-composer-send disabled:opacity-50",children:H?"...":"Send"}),r.jsx(lJ,{ttsSupported:x,speak:N,onSpeakChange:F,engine:y,voice:M,pitch:L,googlePitch:S,googleSpeed:C,saveTtsSettings:b})]})}const sJ=m.memo(nJ),oJ=m.memo(iJ);function n5({hideInput:t=!1,hideSpectatorNotice:a=!1,fillHeight:n=!1,allowSpectatorInput:i=!1,title:u="Chat and speech",minimal:h=!1}){const d=h||t,v=h?"":u;return r.jsxs(N1,{title:v,hideHeader:h||!v,fillHeight:n,bodyClassName:"space-y-0.5 text-base",children:[r.jsx(sJ,{fillHeight:n}),!d&&r.jsx(oJ,{allowSpectatorInput:i,hideSpectatorNotice:a})]})}function Qa({className:t=""}){const a=o1(n=>n.session?.socials??[]).slice(0,4);return a.length?r.jsx("div",{className:`grid grid-cols-2 grid-rows-2 gap-0.5 ${t}`,children:a.map(n=>r.jsx(He,{id:n?.id||n?.key||n?.service||null},`${n?.id||n?.label||"social"}-${n?.url||""}`))}):null}function uJ(){return r.jsx(N1,{title:"Links!",fillHeight:!0,bodyClassName:"flex flex-1 min-h-0 flex-col gap-0.5 text-base",children:r.jsx(Qa,{className:"flex-1 min-h-0"})})}function Hc(...t){return t.filter(Boolean).join(" ")}function hJ(t){const a=t?.batteryState?.percentDisplay;return a==null?"--":`${a}%`}function dJ(t){return t?.batteryState?t.batteryState.urgentActive?"text-red-400":t.batteryState.warnActive?"text-amber-300":"text-emerald-300":"text-slate-400"}function fJ(t){switch(t){case"admin":case"lockdown":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function mJ(t,a){if(!t)return"";const n=t.nickname||t.socketId?.slice(0,6)||"unknown";return t.socketId&&t.socketId===a?`${n} (you)`:n}function ke({title:t="Rovers"}){const a=o1(N=>N.session?.role||null),n=o1(N=>N.session?.roster??[]),i=o1(N=>N.session?.turnQueues??{}),u=o1(N=>N.session?.users??[]),h=o1(N=>N.session?.socketId||null),d=o1(N=>String(N.session?.assignment?.roverId||"").trim()),v=o1(N=>{const V=String(N.session?.assignment?.roverId||"").trim();return V?(N.session?.roster||[]).find(q=>String(q?.id)===V)?.name||V:""}),{requestControl:p,rebootOwnRover:x}=O2(),[g,b]=m.useState({}),[y,M]=m.useState(!1),L=m.useMemo(()=>a&&a!=="spectator",[a]),S=m.useMemo(()=>a==="admin"||a==="lockdown",[a]),C=m.useMemo(()=>Object.values(i||{}).some(N=>N?.deadline||N?.idleDeadline),[i]),B=e5(1e3,C),A=m.useMemo(()=>{const N=new Set(n.map(R=>String(R.id))),V=Object.keys(i||{}).filter(R=>!N.has(String(R))).map(R=>({id:R,name:R,locked:!1,batteryState:null}));return[...n,...V]},[n,i]);async function H(N){if(N){b(V=>({...V,[N]:!0})),u1("rover_queue_join",{roverId:N,alreadyAssigned:d===String(N)});try{await p(N),u1("rover_queue_join_result",{roverId:N,status:"accepted"})}catch(V){u1("rover_queue_join_result",{roverId:N,status:"failed",reason:V?.message||"unknown"}),alert(V.message)}finally{b(V=>({...V,[N]:!1}))}}}const j=N=>u.find(V=>V.socketId===N)||{socketId:N,nickname:null,role:null};async function _(){if(!(y||!window.confirm(`Reboot your rover "${v}" now?`))){M(!0),u1("rover_reboot_click",{roverId:d,scope:"own_rover"});try{await x(),u1("rover_reboot_result",{roverId:d,scope:"own_rover",status:"accepted"}),alert("Reboot command sent.")}catch(V){u1("rover_reboot_result",{roverId:d,scope:"own_rover",status:"failed",reason:V?.message||"unknown"}),alert(V.message)}finally{M(!1)}}}const F=a!=="spectator"&&d?r.jsx("button",{type:"button",onClick:_,disabled:y,className:"button-dark bg-amber-700/80 text-amber-50 hover:bg-amber-600 disabled:opacity-40",title:"Reboot your assigned rover",children:y?"Rebooting...":"Reboot My Rover"}):null;return r.jsx(N1,{title:t,actions:F,bodyClassName:"space-y-0.5 text-sm",children:A.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:"No rovers registered."}):r.jsx("ul",{className:"space-y-0.5 text-sm",children:A.map(N=>{const V=String(N.id),R=i?.[V]||null,q=R?.queue||[],$=R?.idleDeadline||R?.deadline||null,D=$&&$>B?Math.ceil(($-B)/1e3):$?0:null,W=R?.current||null,n1=W?q.findIndex(v1=>v1===W):-1,Y=q.length>1?n1>=0?q[(n1+1)%q.length]:q[0]:null,E=!!(h&&W&&W===h),I=!!(h&&Y&&Y===h),Z=D!=null&&(E||I),t1=!!(N?.private?.enabled&&N?.private?.open),h1=!!(N?.private?.enabled&&!N?.private?.open),T=!!N.locked,O=T&&!S&&!h1,K=N.lockReason?`locked: ${N.lockReason}`:"locked",l1=g[V]?"...":T&&!h1?K:"request",m1=L&&!O&&!g[V];return r.jsxs("li",{className:Hc("surface flex flex-wrap items-start justify-between gap-0.5",m1&&"cursor-pointer",T?"bg-red-900/40":t1?"bg-amber-700/35 border border-amber-200/30":null),onClick:()=>{m1&&H(N.id)},children:[r.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[r.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-0.5",children:[r.jsxs("p",{className:"min-w-0 flex items-center gap-0.5 whitespace-nowrap text-slate-200",children:[r.jsx(j4,{rover:N,fallback:V}),N.description?r.jsx("span",{className:"min-w-0 flex-1 truncate text-[0.7rem] text-slate-400",children:N.description}):null]}),Z?r.jsx("span",{className:"rounded bg-slate-800 px-1 text-[0.7rem] text-slate-200",children:E?`${D}s left`:`Your turn in ${D}s`}):null]}),r.jsx("span",{className:Hc("text-[0.75rem] font-semibold",dJ(N)),children:hJ(N)})]}),q.length===0?r.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"No queue."}):r.jsx("div",{className:"flex flex-wrap items-center gap-0.5",children:q.map((v1,A1)=>{const k1=j(v1),R1=v1===W,O1=!!(Y&&v1===Y&&!R1),Q1=R1?"bg-sky-600 text-white ring-2 ring-amber-300":O1?"bg-emerald-700/60 text-emerald-100 ring-1 ring-emerald-300/70":"bg-slate-800 text-slate-200";return r.jsxs("span",{className:`flex items-center gap-0.5 rounded px-1 text-[0.7rem] ${Q1}`,children:[r.jsx("span",{className:`${fJ(k1.role)} font-semibold`,children:mJ(k1,h)}),R1&&r.jsx("span",{className:"text-[0.65rem] text-slate-200",children:"now"}),O1&&r.jsx("span",{className:"text-[0.65rem] text-emerald-100",children:"next"})]},`${V}-${v1}-${A1}`)})})]}),L?r.jsx("button",{type:"button",onClick:v1=>{v1.stopPropagation(),H(N.id)},disabled:g[V]||O,className:Hc("button-dark disabled:opacity-40",T&&"bg-red-600/70 text-white hover:bg-red-600"),children:l1}):null]},N.id)})})})}function vJ(t){switch(t){case"admin":case"lockdown":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function pJ(t,a){if(!t)return"";const n=t.nickname||t.socketId?.slice(0,6)||"unknown";return t.socketId&&t.socketId===a?`${n} (you)`:n}function me({hideNicknameForm:t=!1,hideHeader:a=!1,className:n="",fillHeight:i=!1,compact:u=!1}){const h=o1(x=>x.session?.users??[]),d=o1(x=>x.session?.socketId||null),v=m.useMemo(()=>[...h].sort((x,g)=>x.socketId===d?-1:g.socketId===d?1:(x.nickname||"").localeCompare(g.nickname||"")),[d,h]),p=i?"flex-1 min-h-0 overflow-y-auto":u?"h-28 overflow-y-auto":"h-48 overflow-y-auto";return r.jsxs(N1,{title:a?"":"Users",hideHeader:a,fillHeight:i,className:n,bodyClassName:"space-y-0.5 text-base",children:[!t&&r.jsx("div",{className:"space-y-0.5",children:r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]",children:[r.jsx("div",{className:"min-w-0",children:r.jsx("div",{className:"flex w-full items-center px-0 py-0",children:r.jsx(je,{compact:u})})}),r.jsx(Qa,{})]})}),r.jsx("div",{className:`space-y-0.5 ${i?"flex flex-1 min-h-0 flex-col":""}`,children:r.jsx("div",{className:`flex flex-wrap content-start items-start gap-0.5 px-0 pb-0 ${p} ${u?"text-[0.8rem]":""}`,children:v.length===0?r.jsx("p",{className:"text-sm text-slate-500",children:"Waiting for users…"}):v.map(x=>r.jsx("span",{className:`rounded px-1 py-0.25 text-[0.7rem] ${vJ(x.role)}`,children:pJ(x,d)},x.socketId))})})]})}function Bt(t){return typeof t!="number"||Number.isNaN(t)?"—":`${t>0?"+":""}${t.toFixed(1)}°`}function Ho({label:t}){return t?r.jsx("span",{className:"rounded bg-slate-800 px-1 py-0.5 text-[0.6rem] font-semibold text-slate-200",children:t}):null}function gJ({value:t,min:a,max:n,step:i=.5,label:u="Camera Tilt",orientation:h="horizontal",onChange:d,onCommit:v,throttleMs:p=0,disabled:x=!1,keyDownLabel:g,keyUpLabel:b,className:y="",labelRowClass:M="",labelClass:L="",valueClass:S="",sliderClass:C="",endpointClass:B="",endpointLabelClass:A="",accentClass:H="",showValue:j=!0,showEndpoints:_}){const F=h==="vertical",V=typeof _=="boolean"?_:!F,[R,q]=m.useState(t),$=m.useRef(!1),D=m.useRef(null);m.useEffect(()=>{$.current||q(t)},[t]),m.useEffect(()=>()=>{D.current&&clearTimeout(D.current)},[]);const W=Z=>{if(d){if(p>0){D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{d(Z)},p);return}d(Z)}},n1=Z=>{const t1=Number.parseFloat(Z.target.value);Number.isNaN(t1)||($.current=!0,q(t1),W(t1))},Y=()=>{$.current=!1,D.current&&(clearTimeout(D.current),D.current=null),v?v(R):p>0&&d?.(R)};if(typeof a!="number"||typeof n!="number")return null;const E=[F?"h-28 w-5":"w-full",H,C].filter(Boolean).join(" "),I=r.jsx("input",{type:"range",orient:F?"vertical":void 0,min:a,max:n,step:i,value:Number.isFinite(R)?R:a,onChange:n1,onMouseUp:Y,onTouchEnd:Y,onPointerUp:Y,disabled:x,className:E,style:F?{writingMode:"bt-lr",WebkitAppearance:"slider-vertical"}:void 0});return F?r.jsxs("div",{className:`flex h-full flex-col items-center gap-0.5 ${y}`.trim(),children:[j?r.jsx("div",{className:`flex flex-col items-center ${M}`.trim(),children:r.jsx("span",{className:S,children:Bt(t)})}):null,r.jsxs("div",{className:"flex min-h-0 flex-1 items-center gap-0.5",children:[r.jsx("span",{className:L,children:u}),I]})]}):r.jsxs("div",{className:`space-y-0.5 ${x?"opacity-50":""} ${y}`.trim(),children:[r.jsxs("div",{className:`flex items-center justify-between ${M}`.trim(),children:[r.jsx("span",{className:L,children:u}),j?r.jsx("span",{className:`rounded bg-slate-800 px-1 py-0.5 text-[0.7rem] font-semibold ${S}`.trim(),children:Bt(t)}):null]}),r.jsxs("div",{children:[I,V?r.jsxs("div",{className:`mt-0 flex items-center justify-between ${B}`.trim(),children:[r.jsxs("span",{className:`flex items-center gap-0.5 ${A}`.trim(),children:[g?r.jsx(Ho,{label:g}):null,Bt(a)]}),r.jsxs("span",{className:`flex items-center gap-0.5 ${A}`.trim(),children:[Bt(n),b?r.jsx(Ho,{label:b}):null]})]}):null]})]})}const xJ=/^cu_[a-f0-9]{32}$/,o4="field-input w-full max-w-sm text-left focus:ring-emerald-500",r5="mx-auto w-full max-w-xl flex justify-center",w0="mx-auto flex w-full max-w-md flex-col items-center space-y-0.5 text-center";function zJ(t){const a=String(t||"").trim();return a?a.length<=10?`${a.slice(0,2)}***${a.slice(-2)}`:`${a.slice(0,6)}...${a.slice(-6)}`:""}const Ao=8*1024*1024,g6=16e3,bJ={iceServers:[{urls:"stun:stun.l.google.com:19302"}],bundlePolicy:"max-bundle",rtcpMuxPolicy:"require"};function Lo(t){let a="";for(let i=0;i{if(!t||t.iceGatheringState==="complete"){n();return}const i=setTimeout(()=>{t.removeEventListener("icegatheringstatechange",u),n()},a);function u(){t.iceGatheringState==="complete"&&(clearTimeout(i),t.removeEventListener("icegatheringstatechange",u),n())}t.addEventListener("icegatheringstatechange",u)})}function Vo(t){if(!t)return!1;const a=t.connectionState,n=t.iceConnectionState;return a==="connected"||n==="connected"||n==="completed"}function CJ(t,a=1e4){return new Promise((n,i)=>{if(!t){i(new Error("Peer connection missing"));return}if(Vo(t)){n();return}const u=setTimeout(()=>{d(),i(new Error("Peer connection timeout"))},a),h=()=>{Vo(t)?(d(),n()):(t.connectionState==="failed"||t.connectionState==="closed"||t.iceConnectionState==="failed")&&(d(),i(new Error(`Peer connection ${t.connectionState||t.iceConnectionState}`)))};function d(){clearTimeout(u),t.removeEventListener("connectionstatechange",h),t.removeEventListener("iceconnectionstatechange",h)}t.addEventListener("connectionstatechange",h),t.addEventListener("iceconnectionstatechange",h)})}async function SJ(t){if(!t?.getParameters||!t?.setParameters)return;const a=t.getParameters()||{},n=a.encodings&&a.encodings[0]||{};a.encodings=[{...n,maxBitrate:64e3,dtx:"disabled"}];try{await t.setParameters(a)}catch{}}function HJ(t,a=6e3){return new Promise((n,i)=>{if(!t){i(new Error("Peer connection missing"));return}const u=Date.now();let h=-1;const d=setInterval(async()=>{if(Date.now()-u>a){clearInterval(d),i(new Error("WHIP connected but no outbound audio flow"));return}try{const v=t.getSenders().filter(p=>p.track?.kind==="audio");for(const p of v){const x=await p.getStats();for(const g of x.values()){if(g.type!=="outbound-rtp"||g.kind!=="audio")continue;const b=Number(g.bytesSent||0),y=Number(g.packetsSent||0);if(h<0)h=b;else if(b>h+200||y>5){clearInterval(d),n();return}}}}catch{}},250)})}function AJ(t){const a=t.reduce((u,h)=>u+h.length,0),n=new Float32Array(a);let i=0;for(const u of t)n.set(u,i),i+=u.length;return n}function LJ(t){const a=new Int16Array(t.length);for(let n=0;n{for(let g=0;gx1.state.keymap),p=_1(x1=>!!x1.state.mic?.pttActive),{value:x,save:g}=I1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),b=String(t||"").trim(),[y,M]=m.useState(null),[L,S]=m.useState(!1),C=!!x?.openMicEnabled,A=(x?.pttMode==="clip"?"clip":"live")==="clip",[H,j]=m.useState("idle"),[_,F]=m.useState("idle"),[N,V]=m.useState(""),R=m.useRef(null),q=m.useRef(null),$=m.useRef(null),D=m.useRef(!1),W=m.useRef(""),n1=m.useRef(null),Y=m.useRef(null),E=m.useRef(null),I=m.useRef(null),Z=m.useRef(null),t1=m.useRef([]),h1=m.useRef(!1),T=m.useRef(g6),O=m.useMemo(()=>b&&a?.[b]||null,[a,b]),K=!!(O&&O.state!=="offline"&&!O.error),l1=O?.source==="upload"&&O?.state==="playing",m1=O?.source==="mic-whip"&&(O?.state==="starting"||O?.state==="playing"),v1=!!(!A&&q.current&&(C||p)),A1=!A&&(H==="live"||H==="starting"),k1=A&&_==="recording",R1=A&&_==="sending",O1=_2(v?.micPtt?.[0])||"M",Q1=m.useCallback(x1=>{const C1=x1==="clip"?"clip":"live";g(g1=>({...g1||{},pttMode:C1})),u1("vip_ptt_mode_change",{mode:C1,roverId:b})},[b,g]),P1=async()=>{if(!b){V("Take control of your rover first.");return}if(!y){V("Select an audio file first.");return}if(y.size>Ao){V(`File too large (max ${Ao} bytes).`);return}S(!0),V(""),u1("vip_upload_play",{roverId:b,size:y.size,mime:y.type||""});try{const x1=await y.arrayBuffer(),C1=Lo(new Uint8Array(x1));await n?.({roverId:b,name:y.name,mime:y.type||"",dataBase64:C1}),V("Upload playback started."),u1("vip_upload_play_result",{roverId:b,status:"accepted"})}catch(x1){u1("vip_upload_play_result",{roverId:b,status:"failed",reason:x1?.message||"unknown"}),V(x1?.message||"Failed to play upload.")}finally{S(!1)}},h2=async()=>{if(!b){V("Take control of your rover first.");return}S(!0),V(""),u1("vip_upload_stop",{roverId:b});try{await i?.(b),V("Upload playback stopped."),u1("vip_upload_stop_result",{roverId:b,status:"accepted"})}catch(x1){u1("vip_upload_stop_result",{roverId:b,status:"failed",reason:x1?.message||"unknown"}),V(x1?.message||"Failed to stop upload.")}finally{S(!1)}},r1=m.useCallback(async x1=>{const C1=String(x1||W.current||"").trim();if(D.current=!1,j("idle"),$.current){try{$.current.getSenders().forEach(g1=>g1.track?.stop())}catch{}try{$.current.close()}catch{}}if($.current=null,R.current)try{R.current.getTracks().forEach(g1=>g1.stop())}catch{}if(R.current=null,q.current=null,C1)try{await d?.(C1)}catch{}W.current=""},[d]),V1=m.useCallback(async x1=>{const C1=await u?.(x1),g1=String(C1?.whipUrl||"").trim(),T1=String(C1?.token||"").trim();if(!g1||!T1)throw new Error("WHIP endpoint unavailable");const c1=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:g6,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}});R.current=c1;const M1=c1.getAudioTracks()?.[0];if(q.current=M1||null,M1&&(M1.enabled=!!(C||p)),M1?.applyConstraints)try{await M1.applyConstraints({channelCount:1,sampleRate:g6,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1})}catch{}const y1=new RTCPeerConnection(bJ);$.current=y1,y1.onconnectionstatechange=()=>{if(!D.current)return;const p1=y1.connectionState;if(p1==="connected"){j("live");return}(p1==="failed"||p1==="disconnected"||p1==="closed")&&(j("error"),V(`WHIP transport ${p1}.`))},c1.getAudioTracks().forEach(p1=>{const J1=y1.addTrack(p1,c1);SJ(J1)});const j1=await y1.createOffer({offerToReceiveAudio:!1,offerToReceiveVideo:!1});await y1.setLocalDescription(j1),await wJ(y1,1800);const r2=await fetch(g1,{method:"POST",headers:{"Content-Type":"application/sdp",...MJ(T1)},body:y1.localDescription?.sdp||j1.sdp});if(!r2.ok)throw new Error(`WHIP request failed: ${r2.status}`);const d1=await r2.text();await y1.setRemoteDescription({type:"answer",sdp:d1}),await CJ(y1,1e4),await HJ(y1,6e3),await h?.(x1)},[C,p,h,u]),Z1=m.useCallback(async()=>{if(h1.current=!1,I.current){try{I.current.disconnect()}catch{}I.current.onaudioprocess=null}if(E.current)try{E.current.disconnect()}catch{}if(Z.current)try{Z.current.disconnect()}catch{}if(n1.current)try{n1.current.getTracks().forEach(x1=>x1.stop())}catch{}if(Y.current)try{await Y.current.close()}catch{}t1.current=[],I.current=null,E.current=null,Z.current=null,n1.current=null,Y.current=null,T.current=g6},[]),D1=m.useCallback(async()=>{if(n1.current&&Y.current&&I.current)return;F(M1=>M1==="recording"?M1:"arming");const x1=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:g6,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}}),C1=new AudioContext({latencyHint:"interactive"}),g1=C1.createMediaStreamSource(x1),T1=C1.createScriptProcessor(1024,1,1),c1=C1.createGain();c1.gain.value=0,T1.onaudioprocess=M1=>{if(!h1.current)return;const y1=M1.inputBuffer.getChannelData(0);t1.current.push(new Float32Array(y1))},g1.connect(T1),T1.connect(c1),c1.connect(C1.destination),n1.current=x1,Y.current=C1,E.current=g1,I.current=T1,Z.current=c1,T.current=C1.sampleRate||g6},[]),b1=m.useCallback(async({send:x1})=>{const C1=h1.current;if(h1.current=!1,!C1){x1||F("idle");return}const g1=t1.current;if(t1.current=[],!x1){F("idle"),u1("vip_clip_record_cancel",{roverId:b});return}if(!b){F("idle"),u1("vip_clip_send",{roverId:b,status:"skipped_no_rover"});return}if(!g1.length){F("idle"),u1("vip_clip_send",{roverId:b,status:"skipped_empty"});return}F("sending"),u1("vip_clip_send",{roverId:b,status:"started"});try{const T1=AJ(g1),c1=VJ(T1,T.current||g6),M1=Lo(c1);await n?.({roverId:b,name:`ptt-${Date.now()}.wav`,mime:"audio/wav",dataBase64:M1}),F("idle"),u1("vip_clip_send",{roverId:b,status:"accepted"})}catch(T1){F("error"),u1("vip_clip_send",{roverId:b,status:"failed",reason:T1?.message||"unknown"}),V(T1?.message||"Failed to send PTT clip.")}},[n,b]),L1=m.useCallback(async()=>{if(!b){V("Take control of your rover first.");return}await D1(),t1.current=[],h1.current=!0,F("recording"),u1("vip_clip_record_start",{roverId:b})},[D1,b]);return m.useEffect(()=>{let x1=!1;async function C1(){if(A){await r1(W.current||b);return}if(!b){await r1(W.current);return}if(!(D.current&&W.current===b)&&!(!C&&!p))try{j("starting"),V(""),D.current=!0,W.current=b,await V1(b),x1||(j("live"),u1("vip_live_mic_start",{roverId:b}))}catch(g1){x1||(j("error"),V(g1?.message||"Failed to start mic forwarding."),x3("vip_live_mic_error",{roverId:b,reason:g1?.message||"unknown"},{key:`${b}:${g1?.message||"unknown"}`,throttleMs:60*1e3})),await r1(b)}}return C1(),()=>{x1=!0}},[A,C,p,b,V1,r1]),m.useEffect(()=>{const x1=q.current;x1&&(x1.enabled=!!(!A&&(C||p)))},[A,C,p]),m.useEffect(()=>{let x1=!1;async function C1(){if(!A||!b){h1.current&&await b1({send:!1}),F("idle");return}try{await D1(),!x1&&!h1.current&&F("idle")}catch(g1){x1||(F("error"),V(g1?.message||"Microphone access failed for clip mode."))}}return C1(),()=>{x1=!0}},[A,D1,b1,b]),m.useEffect(()=>{let x1=!1;async function C1(){if(A){if(!b){h1.current&&await b1({send:!1});return}if(p){if(!h1.current)try{V(""),await L1()}catch(g1){x1||(F("error"),V(g1?.message||"Failed to start clip recording."))}}else h1.current&&await b1({send:!0})}}return C1(),()=>{x1=!0}},[A,b1,p,b,L1]),m.useEffect(()=>()=>{r1(W.current||b),Z1()},[b,r1,Z1]),r.jsx(N1,{title:"Audio Controls",children:r.jsxs("div",{className:"grid gap-1",children:[r.jsx("section",{className:"surface",children:r.jsxs("div",{className:"flex items-center justify-center gap-0.5 py-0.25 text-xs text-slate-300",children:[r.jsx("span",{children:"Push-to-Talk Key"}),r.jsx(fe,{label:O1})]})}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 lg:grid-cols-2",children:[r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"PTT Mode"}),r.jsx("p",{className:"text-xs text-slate-400 text-center",children:"Choose how holding your PTT key behaves: live mic stream, or record-and-send clip. If the live stream doesn't work, switch to clip mode."}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5",children:[r.jsx("button",{type:"button",className:`button-dark w-full text-sm ${A?"":"bg-emerald-500 text-white hover:bg-emerald-500"}`,onClick:()=>Q1("live"),children:"Live Mic (WHIP)"}),r.jsx("button",{type:"button",className:`button-dark w-full text-sm ${A?"bg-emerald-500 text-white hover:bg-emerald-500":""}`,onClick:()=>Q1("clip"),children:"Record Clip"})]})]})}),r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"PTT Clip Status"}),r.jsxs("div",{className:"grid gap-0.5 content-start",children:[r.jsx(L4,{label:"Mode",active:A,detail:A?"record clip":"live mic"}),r.jsx(L4,{label:"PTT hold",active:p,detail:p?"held":"released"}),r.jsx(L4,{label:"Recording",active:k1,detail:k1?"capturing":"idle"}),r.jsx(L4,{label:"Playback",active:A&&l1,detail:A&&l1?"playing":"idle"})]})]})})]}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 lg:grid-cols-2",children:[r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_1fr_auto]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Audio Upload"}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Audio file (mp3 / wav / ogg)"}),r.jsx("input",{className:`${o4} text-center`,type:"file",accept:".mp3,.wav,.ogg,audio/mpeg,audio/wav,audio/ogg",disabled:L||!b,onChange:x1=>M(x1.target.files?.[0]||null)})]}),r.jsx("div",{className:"mx-auto w-full max-w-sm text-center",children:y?r.jsxs("div",{className:"surface-muted text-xs text-slate-300",children:[y.name," (",y.size," bytes)"]}):r.jsx("div",{className:"surface-muted text-xs text-slate-500",children:"No file selected"})}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:L||!b,onClick:P1,children:L?"Working...":"Play Upload"}),r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:L||!b,onClick:h2,children:"Stop"})]})]})}),r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Live Microphone"}),r.jsxs("label",{className:"surface-muted mx-auto flex w-full max-w-sm items-center justify-center gap-0.5 px-0.5 py-0.5 text-xs text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:C,disabled:!b||A,onChange:x1=>{const C1=!!x1.target.checked;g(g1=>({...g1||{},openMicEnabled:C1})),u1("vip_open_mic_change",{roverId:b,enabled:C1})}}),r.jsx("span",{children:A?"Open mic (live mode only)":"Open mic"})]}),r.jsxs("div",{className:"grid gap-0.5 content-start",children:[r.jsx(L4,{label:"WHIP link",active:A1,detail:H}),r.jsx(L4,{label:"Mic hot",active:v1,detail:v1?"transmitting":"muted"}),r.jsxs("div",{className:"surface-muted text-center text-xs text-slate-400",children:["Hold ",r.jsx(fe,{label:O1})," to talk"]})]})]})})]}),r.jsx("section",{className:"surface",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Audio Status"}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-6",children:[r.jsx(L4,{label:"Forward pipe",active:K,detail:K?"connected":"offline"}),r.jsx(L4,{label:"Upload playback",active:l1,detail:l1?"playing":"idle"}),r.jsx(L4,{label:"Mic relay",active:m1,detail:m1?"active":"idle"}),r.jsx(L4,{label:"WHIP transport",active:A1,detail:H}),r.jsx(L4,{label:"Clip recording",active:k1,detail:k1?"recording":"idle"}),r.jsx(L4,{label:"Clip sending",active:R1,detail:R1?"sending":"idle"})]}),N?r.jsx("div",{className:"text-xs text-slate-400 text-center",children:N}):null]})})]})})}const NJ=31,jJ=127,Xa=1e3/64,Ac=24,kJ=16,Bo=8,ud=10,la=4,ia=6,sa=3,T8=4,ve=48,FJ=45,RJ=[{id:"arranged",label:"Arranged"},{id:"mono",label:"Lead line"},{id:"arpeggio",label:"Arpeggio"}],Lc="";var Nt={},Vc,No;function EJ(){if(No)return Vc;No=1;function t(u){var h=new i(u),d=h.readChunk();if(d.id!="MThd")throw"Bad MIDI file. Expected 'MHdr', got: '"+d.id+"'";for(var v=a(d.data),p=[],x=0;!h.eof()&&x>8),p.ticksPerFrame=x&255):p.ticksPerBeat=x,p}function n(u){for(var h=new i(u),d=[];!h.eof();){var v=x();d.push(v)}return d;var p;function x(){var g={};g.deltaTime=h.readVarInt();var b=h.readUInt8();if((b&240)===240)if(b===255){g.meta=!0;var y=h.readUInt8(),M=h.readVarInt();switch(y){case 0:if(g.type="sequenceNumber",M!==2)throw"Expected length for sequenceNumber event is 2, got "+M;return g.number=h.readUInt16(),g;case 1:return g.type="text",g.text=h.readString(M),g;case 2:return g.type="copyrightNotice",g.text=h.readString(M),g;case 3:return g.type="trackName",g.text=h.readString(M),g;case 4:return g.type="instrumentName",g.text=h.readString(M),g;case 5:return g.type="lyrics",g.text=h.readString(M),g;case 6:return g.type="marker",g.text=h.readString(M),g;case 7:return g.type="cuePoint",g.text=h.readString(M),g;case 32:if(g.type="channelPrefix",M!=1)throw"Expected length for channelPrefix event is 1, got "+M;return g.channel=h.readUInt8(),g;case 33:if(g.type="portPrefix",M!=1)throw"Expected length for portPrefix event is 1, got "+M;return g.port=h.readUInt8(),g;case 47:if(g.type="endOfTrack",M!=0)throw"Expected length for endOfTrack event is 0, got "+M;return g;case 81:if(g.type="setTempo",M!=3)throw"Expected length for setTempo event is 3, got "+M;return g.microsecondsPerBeat=h.readUInt24(),g;case 84:if(g.type="smpteOffset",M!=5)throw"Expected length for smpteOffset event is 5, got "+M;var L=h.readUInt8(),S={0:24,32:25,64:29,96:30};return g.frameRate=S[L&96],g.hour=L&31,g.min=h.readUInt8(),g.sec=h.readUInt8(),g.frame=h.readUInt8(),g.subFrame=h.readUInt8(),g;case 88:if(g.type="timeSignature",M!=2&&M!=4)throw"Expected length for timeSignature event is 4 or 2, got "+M;return g.numerator=h.readUInt8(),g.denominator=1<>4;switch(g.channel=b&15,B){case 8:return g.type="noteOff",g.noteNumber=C,g.velocity=h.readUInt8(),g;case 9:var A=h.readUInt8();return g.type=A===0?"noteOff":"noteOn",g.noteNumber=C,g.velocity=A,A===0&&(g.byte9=!0),g;case 10:return g.type="noteAftertouch",g.noteNumber=C,g.amount=h.readUInt8(),g;case 11:return g.type="controller",g.controllerType=C,g.value=h.readUInt8(),g;case 12:return g.type="programChange",g.programNumber=C,g;case 13:return g.type="channelAftertouch",g.amount=C,g;case 14:return g.type="pitchBend",g.value=C+(h.readUInt8()<<7)-8192,g;default:throw"Unrecognised MIDI event type: "+B}}}}function i(u){this.buffer=u,this.bufferLen=this.buffer.length,this.pos=0}return i.prototype.eof=function(){return this.pos>=this.bufferLen},i.prototype.readUInt8=function(){var u=this.buffer[this.pos];return this.pos+=1,u},i.prototype.readInt8=function(){var u=this.readUInt8();return u&128?u-256:u},i.prototype.readUInt16=function(){var u=this.readUInt8(),h=this.readUInt8();return(u<<8)+h},i.prototype.readInt16=function(){var u=this.readUInt16();return u&32768?u-65536:u},i.prototype.readUInt24=function(){var u=this.readUInt8(),h=this.readUInt8(),d=this.readUInt8();return(u<<16)+(h<<8)+d},i.prototype.readInt24=function(){var u=this.readUInt24();return u&8388608?u-16777216:u},i.prototype.readUInt32=function(){var u=this.readUInt8(),h=this.readUInt8(),d=this.readUInt8(),v=this.readUInt8();return(u<<24)+(h<<16)+(d<<8)+v},i.prototype.readBytes=function(u){var h=this.buffer.slice(this.pos,this.pos+u);return this.pos+=u,h},i.prototype.readString=function(u){var h=this.readBytes(u);return String.fromCharCode.apply(null,h)},i.prototype.readVarInt=function(){for(var u=0;!this.eof();){var h=this.readUInt8();if(h&128)u+=h&127,u<<=7;else return u+h}return u},i.prototype.readChunk=function(){var u=this.readString(4),h=this.readUInt32(),d=this.readBytes(h);return{id:u,length:h,data:d}},Vc=t,Vc}var Bc,jo;function TJ(){if(jo)return Bc;jo=1;function t(h,d){if(typeof h!="object")throw"Invalid MIDI data";d=d||{};var v=h.header||{},p=h.tracks||[],x,g=p.length,b=new u;for(a(b,v,g),x=0;x>7&127;h.writeUInt8(H),h.writeUInt8(j);break;default:throw"Unrecognized event type: "+x}return M}function u(){this.buffer=[]}return u.prototype.writeUInt8=function(h){this.buffer.push(h&255)},u.prototype.writeInt8=u.prototype.writeUInt8,u.prototype.writeUInt16=function(h){var d=h>>8&255,v=h&255;this.writeUInt8(d),this.writeUInt8(v)},u.prototype.writeInt16=u.prototype.writeUInt16,u.prototype.writeUInt24=function(h){var d=h>>16&255,v=h>>8&255,p=h&255;this.writeUInt8(d),this.writeUInt8(v),this.writeUInt8(p)},u.prototype.writeInt24=u.prototype.writeUInt24,u.prototype.writeUInt32=function(h){var d=h>>24&255,v=h>>16&255,p=h>>8&255,x=h&255;this.writeUInt8(d),this.writeUInt8(v),this.writeUInt8(p),this.writeUInt8(x)},u.prototype.writeInt32=u.prototype.writeUInt32,u.prototype.writeBytes=function(h){this.buffer=this.buffer.concat(Array.prototype.slice.call(h,0))},u.prototype.writeString=function(h){var d,v=h.length,p=[];for(d=0;d>=7;d;){var p=d&127|128;v.push(p),d>>=7}this.writeBytes(v.reverse())}},u.prototype.writeChunk=function(h,d){this.writeString(h),this.writeUInt32(d.length),this.writeBytes(d)},Bc=t,Bc}var ko;function _J(){return ko||(ko=1,Nt.parseMidi=EJ(),Nt.writeMidi=TJ()),Nt}var qJ=_J();function X8(t,a,n){const i=Number(t);return Number.isFinite(i)?Math.max(a,Math.min(n,i)):a}function Wa(t){return X8(Math.round(t),NJ,jJ)}function b0(t){return X8(Math.round(t),1,255)}function C0(t){return X8(Math.round(t),T8,255)}function O8(t){return b0(t)*Xa}function DJ(t,a,n,i=[]){const h=String(a||"").trim()||`Track ${t+1}`,d=i.length>1?`, ${i.length} channels`:i.length===1?", 1 channel":"";return`${h} (${n} notes${d})`}function hd(t=[]){let a=0;return t.map(n=>(a+=Number(n?.deltaTime)||0,{...n,absoluteTick:a}))}function OJ(t){const a=[];return(t?.tracks||[]).forEach(n=>{hd(n).forEach(i=>{i.type==="setTempo"&&a.push({tick:i.absoluteTick,microsecondsPerBeat:Number(i.microsecondsPerBeat)||5e5})})}),a.sort((n,i)=>n.tick-i.tick),(!a.length||a[0].tick!==0)&&a.unshift({tick:0,microsecondsPerBeat:5e5}),a}function Fo(t,a,n){let i=0,u=0,h=5e5;for(const v of a){if(v.tick>t)break;const p=Math.max(0,v.tick-u);i+=p/n*(h/1e3),u=v.tick,h=v.microsecondsPerBeat}const d=Math.max(0,t-u);return i+d/n*(h/1e3)}function UJ(t=[],a,n){const i=hd(t),u=new Map,h=[];let d="";return i.forEach(v=>{if(v.type==="trackName"&&v.text){d=String(v.text);return}if(v.type!=="noteOn"&&v.type!=="noteOff")return;const p=Number(v.channel)||0,x=Number(v.noteNumber);if(!Number.isFinite(x))return;const g=`${p}:${x}`,b=Number(v.velocity)||0;if(v.type==="noteOn"&&b>0){u.set(g,{channel:p,noteNumber:x,startTick:v.absoluteTick,velocity:b});return}const M=u.get(g);if(!M)return;u.delete(g);const L=Fo(M.startTick,a,n),S=Fo(v.absoluteTick,a,n);h.push({channel:M.channel,noteNumber:M.noteNumber,velocity:M.velocity,startMs:L,durationMs:Math.max(Xa,S-L)})}),h.sort((v,p)=>v.startMs-p.startMs||p.noteNumber-v.noteNumber),{trackName:d,notes:h}}function IJ(t=[]){const a=new Map;return t.forEach(n=>{const i=Number(n?.channel);if(!Number.isInteger(i))return;const u=a.get(i)||{noteCount:0,minNote:127,maxNote:0,noteTotal:0};u.noteCount+=1,u.minNote=Math.min(u.minNote,Number(n.noteNumber)||u.minNote),u.maxNote=Math.max(u.maxNote,Number(n.noteNumber)||u.maxNote),u.noteTotal+=Number(n.noteNumber)||0,a.set(i,u)}),Array.from(a.entries()).sort((n,i)=>n[0]-i[0]).map(([n,i])=>({channel:n,noteCount:i.noteCount,minNote:i.minNote,maxNote:i.maxNote,averageNote:i.noteCount>0?i.noteTotal/i.noteCount:0,label:`Ch ${n+1}`,isPercussion:n===9}))}function PJ(t,a){const i=String(t?.name||"").trim()||`Track ${Number(t?.index||0)+1}`,u=a?.label||`Ch ${Number(a?.channel||0)+1}`;return`${i} - ${u}`}function $J(t=[]){const a=[];return t.forEach(n=>{(n.channels||[]).forEach(i=>{const u=(n.notes||[]).filter(p=>Number(p.channel)===Number(i.channel));if(!u.length)return;const h=String(n?.name||"").trim(),d=a.length+1,v=h?`Part ${d}: ${h}`:`Part ${d}`;a.push({id:`${n.index}:${i.channel}`,trackIndex:n.index,channel:i.channel,label:v,sourceLabel:PJ(n,i),shortLabel:`${Number(n.index)+1}.${Number(i.channel)+1}`,noteCount:u.length,minNote:i.minNote,maxNote:i.maxNote,averageNote:i.averageNote,isPercussion:!!i.isPercussion,role:ZJ(i),notes:u.map(p=>({...p,partId:`${n.index}:${i.channel}`}))})})}),a.sort((n,i)=>n.isPercussion!==i.isPercussion?n.isPercussion?1:-1:i.noteCount-n.noteCount||n.trackIndex-i.trackIndex||n.channel-i.channel)}function ZJ(t){if(t?.isPercussion)return"drums";const a=Number(t?.averageNote)||0,n=Number(t?.maxNote)||0;return a>0&&a<52?"bass":n>=72||a>=64?"melody":"harmony"}function dd(t=[]){const a=Array.isArray(t)?t:[],n=a.filter(u=>!u.isPercussion);return(n.length?n:a).slice(0,6).map(u=>u.id)}function GJ(t=[],a="default"){const n=Array.isArray(t)?t:[],i=n.filter(h=>!h.isPercussion),u=i.length?i:n;switch(a){case"none":return[];case"all-pitched":return u.map(h=>h.id);case"bass":return[...u].sort((d,v)=>d.averageNote-v.averageNote||v.noteCount-d.noteCount).slice(0,2).map(d=>d.id);case"melody":return[...u].sort((d,v)=>v.averageNote-d.averageNote||v.noteCount-d.noteCount).slice(0,3).map(d=>d.id);default:return dd(n)}}function YJ(t=[],a=24){const n=[];let i=null;return t.forEach(u=>{(!i||Math.abs(u.startMs-i.startMs)>a)&&(i={startMs:u.startMs,notes:[]},n.push(i)),i.notes.push(u)}),n}function KJ(t,a,n){const i=t.durationMs/Xa,u=C0(n||ve);return C0(Math.min(u,i||a))}function QJ(t,a){return a.velocity-t.velocity||a.noteNumber-t.noteNumber}function XJ(t,a){return a.velocity-t.velocity||t.noteNumber-a.noteNumber}function jt(t=[],a="melody"){return t.length&&[...t].sort(a==="bass"?XJ:QJ)[0]||null}function Ro(t=[],a=[]){const n=new Set((a||[]).map(i=>String(i)));return(t||[]).filter(i=>n.has(String(i.id)))}function kt(t,a,n){return{atMs:a,note:Wa(t.noteNumber),duration:C0(n),partId:t.partId||""}}function WJ(t=[],a){const n=new Map;return t.filter(i=>{const u=i.note,h=n.get(u);return typeof h=="number"&&i.atMs-h!A.isPercussion),h=u.length?u:Ro(t,a),d=h.flatMap(A=>A.notes||[]).sort((A,H)=>A.startMs-H.startMs||H.velocity-A.velocity||H.noteNumber-A.noteNumber);if(!d.length)return[];const v=X8(Math.round(i.density||sa),1,5),p=C0(i.monoFallbackTicks||ud),x=C0(i.monoMaxTicks||ve),g=C0(i.arpeggioTicks||la),b=X8(Math.round(i.arpeggioLimit||ia),1,16),y=YJ(d,v>=4?36:24),M=Math.max(1,Math.min(b,h.length||b)),L=[];let S=-1/0,C=0;y.forEach(A=>{const H=new Map;if(A.notes.forEach(V=>{const R=String(V.partId||"");R&&(H.has(R)||H.set(R,[]),H.get(R).push(V))}),n==="arpeggio"){Array.from(H.entries()).map(([R,q])=>{const $=h.find(D=>String(D.id)===R);return{part:$,note:jt(q,$?.role==="bass"?"bass":"melody")}}).filter(R=>R.note).sort((R,q)=>{const $={bass:0,harmony:1,melody:2,drums:3};return($[R.part?.role]??2)-($[q.part?.role]??2)||q.note.velocity-R.note.velocity}).slice(0,M).forEach((R,q)=>{L.push(kt(R.note,A.startMs+q*O8(g),g))});return}const j=[],_=[],F=[];A.notes.forEach(V=>{const R=h.find(q=>String(q.id)===String(V.partId||""));R?.role==="bass"?j.push(V):R?.role==="harmony"?F.push(V):_.push(V)});const N=jt(_.length?_:A.notes,"melody");if(N&&L.push(kt(N,A.startMs,KJ(N,p,x))),n==="arranged"){const V=v>=4?320:v>=3?460:700;if(j.length&&A.startMs-S>=V){const $=jt(j,"bass");$&&(L.push(kt($,A.startMs+O8(g),Math.max(g,6))),S=A.startMs)}if((v>=4||v>=3&&C%2===0)&&F.length){const $=jt(F,"melody");$&&L.push(kt($,A.startMs+O8(g)*2,g))}}C+=1});const B=v>=4?55:v>=3?80:120;return WJ(L,B).sort((A,H)=>A.atMs-H.atMs||H.note-A.note)}function JJ(t){return{startMs:t,notes:[],durationMs:0,sourceEndMs:t}}function To(t=[]){const a=[],n=[...t].sort((h,d)=>h.atMs-d.atMs||d.note-h.note);let i=null,u=0;return n.forEach(h=>{const d=O8(h.duration),v=!!(i&&i.notes.length>0),p=v?h.atMs-u:0;if(!v||i.notes.length>=kJ||p>FJ){const b=Math.max(h.atMs,u);i=JJ(b),a.push(i),u=b}const g={note:Wa(h.note),duration:b0(h.duration)};i.notes.push(g),i.durationMs+=d,i.sourceEndMs=i.startMs+i.durationMs,u+=d}),a}async function t11(t){const a=new Uint8Array(await t.arrayBuffer()),n=qJ.parseMidi(a),i=Number(n?.header?.ticksPerBeat||n?.header?.timeDivision||0);if(!i||i<0)throw new Error("Only beat-based MIDI timing is supported.");const u=OJ(n),h=(n.tracks||[]).map((v,p)=>{const x=UJ(v,u,i),g=IJ(x.notes);return{index:p,name:x.trackName,label:DJ(p,x.trackName,x.notes.length,g),notes:x.notes,noteCount:x.notes.length,channels:g}}),d=$J(h);return{fileName:t.name,format:n.header?.format,ticksPerBeat:i,tracks:h,parts:d}}function v0({label:t,value:a,active:n=!1}){return r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 text-xs",children:[r.jsx("span",{className:"text-slate-400",children:t}),r.jsx("span",{className:n?"font-semibold text-emerald-200":"font-semibold text-slate-200",children:a})]})}function Ft(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}function e11(){const{sendSong:t}=K4(),a=o1(c1=>String(c1.session?.assignment?.roverId||"").trim()),[n,i]=m.useState(""),[u,h]=m.useState(null),[d,v]=m.useState([]),[p,x]=m.useState("arranged"),[g,b]=m.useState(ve),[y,M]=m.useState(la),[L,S]=m.useState(ia),[C,B]=m.useState(sa),[A,H]=m.useState(Bo),[j,_]=m.useState(""),[F,N]=m.useState("idle"),[V,R]=m.useState({sent:0,dropped:0}),[q,$]=m.useState("idle"),[D,W]=m.useState([]),[n1,Y]=m.useState(Lc),[E,I]=m.useState(!1),Z=m.useRef(null),t1=m.useRef(null),h1=m.useRef(0),T=m.useRef([]),O=m.useRef(0),K=m.useRef(0),l1=m.useRef(0),m1=m.useRef(null),v1=m.useMemo(()=>u?.parts||[],[u]),A1=m.useMemo(()=>({monoFallbackTicks:ud,monoMaxTicks:g,arpeggioTicks:y,arpeggioLimit:L,density:C}),[L,y,C,g]),k1=m.useMemo(()=>!v1.length||!d.length?[]:Eo(v1,d,p,A1),[A1,v1,p,d]),R1=m.useMemo(()=>To(k1),[k1]),O1=typeof navigator<"u"&&typeof navigator.requestMIDIAccess=="function",Q1=m.useMemo(()=>D.find(c1=>c1.id===n1)||null,[D,n1]),P1=m.useMemo(()=>new Set(d.map(c1=>String(c1))),[d]);m.useEffect(()=>{m1.current={playableParts:v1,selectedPartIds:d,playbackMode:p,beeperOptions:A1}},[A1,v1,p,d]);const h2=m.useCallback(()=>{T.current.forEach(c1=>clearTimeout(c1)),T.current=[]},[]),r1=m.useCallback(c1=>{v(GJ(v1,c1))},[v1]),V1=m.useCallback(c1=>{const M1=String(c1||"");M1&&v(y1=>{const j1=new Set(y1.map(r2=>String(r2)));return j1.has(M1)?j1.delete(M1):j1.add(M1),Array.from(j1).sort()})},[]),Z1=m.useCallback(()=>{h1.current+=1,h2(),N("idle")},[h2]),D1=m.useCallback(({note:c1,duration:M1,source:y1})=>{const j1=Ft(),r2=b0(M1);return a?j1({...p1,dropped:p1.dropped+1})),!1):t?.([{note:Wa(c1),duration:r2}],{slot:0})?(O.current=j1+O8(r2)+Ac,R(p1=>({...p1,sent:p1.sent+1})),y1==="live"&&_("Live note sent."),!0):(R(p1=>({...p1,dropped:p1.dropped+1})),!1):(_("Take control of your rover first."),R(p1=>({...p1,dropped:p1.dropped+1})),!1)},[a,t]),b1=m.useCallback(c1=>{const M1=Array.isArray(c1?.notes)?c1.notes:[];return M1.length?a?t?.(M1,{slot:0})?(O.current=Ft()+(Number(c1.durationMs)||0)+Ac,R(j1=>({...j1,sent:j1.sent+M1.length})),!0):(R(j1=>({...j1,dropped:j1.dropped+M1.length})),!1):(_("Take control of your rover first."),R(j1=>({...j1,dropped:j1.dropped+M1.length})),!1):!1},[a,t]),L1=m.useCallback(()=>{const c1=m1.current||{},M1=Array.isArray(c1.playableParts)?c1.playableParts:[],y1=Array.isArray(c1.selectedPartIds)?c1.selectedPartIds:[];if(!M1.length||y1.length===0)return null;const j1=Eo(M1,y1,c1.playbackMode,c1.beeperOptions).filter(d1=>d1.atMs>=K.current-.5);return To(j1)[0]||null},[]),x1=async c1=>{const M1=c1.target.files?.[0]||null;if(Z1(),_(""),h(null),i(M1?.name||""),v([]),!!M1)try{const y1=await t11(M1);h(y1);const j1=dd(y1.parts);v(j1),_(y1.parts?.length?"Midi file loaded.":"Midi file loaded, but no playable parts were found.")}catch(y1){_(y1?.message||"Failed to parse Midi file."),i("")}},C1=()=>{if(!R1.length){_("Choose at least one playable part first.");return}if(!a){_("Take control of your rover first.");return}Z1(),I(!1),R({sent:0,dropped:0}),_(""),N("playing");const c1=h1.current+1;h1.current=c1,l1.current=Ft(),K.current=R1[0]?.startMs||0;const M1=(y1=0)=>{if(h1.current!==c1)return;const j1=setTimeout(()=>{if(h1.current!==c1)return;const r2=L1();if(!r2){N("idle"),_(`Playback finished in ${Math.round((Ft()-l1.current)/1e3)}s.`);return}const d1=Math.max(0,r2.startMs-K.current);if(d1>0){K.current=r2.startMs,M1(d1);return}b1(r2),K.current=Math.max(K.current+.5,Number(r2.sourceEndMs)||K.current),M1((Number(r2.durationMs)||0)+Ac)},Math.max(0,y1));T.current.push(j1)};M1(0)},g1=m.useCallback(c1=>{const M1=Array.from(c1?.inputs?.values?.()||[]).map(y1=>({id:y1.id,name:y1.name||y1.manufacturer||"Midi input",state:y1.state||"connected"}));W(M1),Y(y1=>y1&&M1.some(j1=>j1.id===y1)?y1:M1[0]?.id||Lc)},[]),T1=m.useCallback(async()=>{if(!O1){$("unsupported"),_("This browser does not support live Midi input.");return}try{$("requesting");const c1=await navigator.requestMIDIAccess({sysex:!1});Z.current=c1,g1(c1),c1.onstatechange=()=>g1(c1),$("ready"),_("Live Midi input ready.")}catch(c1){$("error"),_(c1?.message||"Midi access was denied.")}},[O1,g1]);return m.useEffect(()=>{if(!E||!Q1||!Z.current){t1.current&&(t1.current.onmidimessage=null,t1.current=null);return}const c1=Z.current.inputs.get(Q1.id);if(!c1)return;const M1=y1=>{const[j1,r2,d1]=Array.from(y1.data||[]);(j1&240)===144&&d1>0&&D1({note:r2,duration:A,source:"live"})};return t1.current&&t1.current!==c1&&(t1.current.onmidimessage=null),c1.onmidimessage=M1,t1.current=c1,()=>{c1.onmidimessage===M1&&(c1.onmidimessage=null)}},[E,A,Q1,D1]),m.useEffect(()=>()=>{h1.current+=1,h2(),t1.current&&(t1.current.onmidimessage=null),Z.current&&(Z.current.onstatechange=null)},[h2]),r.jsx(N1,{title:"Midi Beeper",children:r.jsxs("div",{className:"grid gap-1",children:[r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 lg:grid-cols-2",children:[r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 content-start",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"File playback"}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Midi file"}),r.jsx("input",{className:`${o4} text-center`,type:"file",accept:".mid,.midi,audio/midi,audio/x-midi",disabled:F==="playing",onChange:x1})]}),r.jsxs("div",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Parts"}),r.jsxs("div",{className:"grid grid-cols-4 gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("default"),children:"Default"}),r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("melody"),children:"Melody"}),r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("bass"),children:"Bass"}),r.jsx("button",{type:"button",className:"button-dark text-xs",disabled:!v1.length,onClick:()=>r1("all-pitched"),children:"Pitched"})]}),v1.length?r.jsx("div",{className:"max-h-36 overflow-y-auto rounded-md border border-neutral-700/70 bg-neutral-900/60 p-0.5",children:r.jsx("div",{className:"grid gap-0.5",children:v1.map(c1=>{const M1=P1.has(String(c1.id));return r.jsxs("label",{className:`surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.5 ${M1?"text-emerald-200":"text-slate-400"}`,title:c1.sourceLabel||c1.label,children:[r.jsxs("span",{className:"flex min-w-0 items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:M1,onChange:()=>V1(c1.id)}),r.jsx("span",{className:"truncate text-left",children:c1.label})]}),r.jsx("span",{className:"shrink-0 text-[0.65rem] text-slate-400",children:c1.isPercussion?"drums":`${c1.noteCount} notes`})]},c1.id)})})}):r.jsx("div",{className:"surface-muted text-xs text-slate-500",children:"No playable parts"}),r.jsx("button",{type:"button",className:"button-dark mx-auto text-xs",disabled:!v1.length,onClick:()=>r1("none"),children:"Clear parts"})]}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Playback mode"}),r.jsx("select",{className:o4,value:p,onChange:c1=>x(c1.target.value==="arpeggio"?"arpeggio":"mono"),children:RJ.map(c1=>r.jsx("option",{value:c1.id,children:c1.label},c1.id))})]}),r.jsxs("div",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Playback shape"}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5 sm:grid-cols-4",children:[r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Max note"}),r.jsx("input",{className:o4,type:"number",min:T8,max:"96",value:g,onChange:c1=>{const M1=Math.max(T8,b0(Number(c1.target.value)||ve));b(M1)}})]}),r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Arp note"}),r.jsx("input",{className:o4,type:"number",min:T8,max:"32",value:y,onChange:c1=>{const M1=Math.max(T8,b0(Number(c1.target.value)||la));M(M1)}})]}),r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Arp parts"}),r.jsx("input",{className:o4,type:"number",min:"1",max:"16",value:L,onChange:c1=>{const M1=Math.max(1,Math.min(16,Math.round(Number(c1.target.value)||ia)));S(M1)}})]}),r.jsxs("label",{className:"grid gap-0.5",children:[r.jsx("span",{children:"Density"}),r.jsx("input",{className:o4,type:"number",min:"1",max:"5",value:C,onChange:c1=>{const M1=Math.max(1,Math.min(5,Math.round(Number(c1.target.value)||sa)));B(M1)}})]})]})]}),r.jsx("div",{className:"mx-auto w-full max-w-sm text-center",children:n?r.jsx("div",{className:"surface-muted text-xs text-slate-300",children:n}):r.jsx("div",{className:"surface-muted text-xs text-slate-500",children:"No Midi file selected"})}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!a||!k1.length||F==="playing",onClick:C1,children:"Play file"}),r.jsx("button",{type:"button",className:"button-danger text-sm",disabled:F!=="playing",onClick:Z1,children:"Stop"})]})]})}),r.jsx("section",{className:"surface h-full",children:r.jsxs("div",{className:"grid h-full gap-0.5 grid-rows-[auto_auto_auto_1fr]",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Live input"}),r.jsx("div",{className:"flex justify-center",children:r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!O1||q==="requesting",onClick:T1,children:q==="ready"?"Refresh devices":"Enable Midi"})}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Input device"}),r.jsxs("select",{className:o4,value:n1,disabled:q!=="ready"||E,onChange:c1=>Y(c1.target.value),children:[D.length?null:r.jsx("option",{value:Lc,children:"No devices"}),D.map(c1=>r.jsx("option",{value:c1.id,children:c1.name},c1.id))]})]}),r.jsxs("label",{className:"mx-auto grid w-full max-w-sm gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("span",{children:"Live note length"}),r.jsx("input",{className:o4,type:"number",min:"1",max:"32",value:A,onChange:c1=>H(b0(Number(c1.target.value)||Bo))})]}),r.jsxs("label",{className:"surface-muted mx-auto flex w-full max-w-sm items-center justify-center gap-0.5 px-0.5 py-0.5 text-xs text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:E,disabled:!a||q!=="ready"||!Q1,onChange:c1=>{I(!!c1.target.checked),R({sent:0,dropped:0}),_(c1.target.checked?"Live Midi input enabled.":"Live Midi input disabled.")}}),r.jsx("span",{children:"Live beeper input"})]})]})})]}),r.jsx("section",{className:"surface",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200 text-center",children:"Beeper status"}),r.jsxs("div",{className:"grid gap-0.5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-6",children:[r.jsx(v0,{label:"Rover",value:a||"none",active:!!a}),r.jsx(v0,{label:"File state",value:F,active:F==="playing"}),r.jsx(v0,{label:"Parts",value:d.length||"none",active:d.length>0}),r.jsx(v0,{label:"Live input",value:E?"enabled":q,active:E}),r.jsx(v0,{label:"Notes sent",value:V.sent,active:V.sent>0}),r.jsx(v0,{label:"Notes skipped",value:V.dropped,active:V.dropped===0})]}),j?r.jsx("div",{className:"text-xs text-slate-400 text-center",children:j}):null]})})]})})}function c11({pendingRequestId:t,currentStoredKey:a,nickname:n,requestVerification:i,applyIdentityKey:u,onMessage:h,fullWidth:d=!1}){const[v,p]=m.useState(0),[x,g]=m.useState(""),[b,y]=m.useState(!1),[M,L]=m.useState(!1),S=()=>{p(1),g(a),y(!1),h?.(""),u1("vip_verify_flow_start",{hasNickname:!!n})},C=()=>{p(0),y(!1)},B=async H=>{if(H.preventDefault(),!b){h?.("Please confirm your nickname agreement before sending.");return}if(v<3){h?.("Complete all request steps before sending.");return}L(!0),h?.(""),u1("vip_verify_attempt",{hasNickname:!!n,hasIdentityKey:!!x});try{const j=await u(x);await i?.(),g(j),p(0),y(!1),h?.("Verification request sent to lockdown admins."),u1("vip_verify_result",{status:"accepted"})}catch(j){u1("vip_verify_result",{status:"failed",reason:j?.message||"unknown"}),h?.(j.message||"Failed to submit request.")}finally{L(!1)}},A=d?"w-full":r5;return t?r.jsx(N1,{title:"Verification",className:A,bodyClassName:"text-sm text-slate-300",children:r.jsxs("div",{className:w0,children:["Verification request pending: ",t]})}):v===0?r.jsx(N1,{title:"Verification",className:A,children:r.jsx("div",{className:w0,children:r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:S,disabled:M,children:"Request Verification"})})}):r.jsx(N1,{title:"Request verification",className:A,children:r.jsx("form",{onSubmit:B,children:r.jsxs("div",{className:w0,children:[r.jsxs("p",{className:"text-xs text-slate-500",children:["Step ",v," of 3"]}),v===1?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Confirm your nickname, which is used as part of the verification process. You can edit it here before requesting."}),r.jsx("div",{className:"mx-auto w-full max-w-sm",children:r.jsx(je,{compact:!0})}),r.jsxs("div",{className:"surface-muted mx-auto w-full max-w-sm text-xs text-slate-300 text-center",children:["Current nickname: ",r.jsx("span",{className:"font-semibold",children:n||"(not set)"})]}),r.jsxs("label",{className:"flex items-center justify-center gap-0.5 text-xs text-slate-300 text-center",children:[r.jsx("input",{type:"checkbox",className:"accent-emerald-500",checked:b,onChange:H=>y(H.target.checked)}),r.jsx("span",{children:"I understand this nickname is tied to my verification."})]}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!n||!b,onClick:()=>p(2),children:"Continue"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:C,children:"Cancel"})]})]}):null,v===2?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Save your identity key in a safe place. You can use it to restore your identity in another browser."}),r.jsx("input",{className:o4,type:"password",name:"identity_key_request",autoComplete:"current-password",maxLength:35,value:x,onChange:H=>g(H.target.value.toLowerCase()),placeholder:"Identity key for this request"}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!x,onClick:()=>navigator.clipboard?.writeText(x),children:"Copy Key"}),r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!x,onClick:()=>p(3),children:"Continue"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>p(1),children:"Back"})]})]}):null,v===3?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Final step: confirm and send your verification request."}),r.jsx("input",{className:o4,type:"password",name:"identity_key_request_final",autoComplete:"current-password",maxLength:35,value:x,onChange:H=>g(H.target.value.toLowerCase()),placeholder:"Identity key for this request"}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"submit",className:"button-dark text-sm",disabled:M||!x,children:"Confirm Request"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>p(2),children:"Back"})]})]}):null]})})})}function a11({currentStoredKey:t,applyIdentityKey:a,onMessage:n,fullWidth:i=!1}){const[u,h]=m.useState(0),[d,v]=m.useState(""),[p,x]=m.useState(!1),g=()=>{h(1),v(""),n?.("")},b=()=>{h(0),v("")},y=async L=>{if(L.preventDefault(),!(u<2)){x(!0),n?.("");try{await a(d),h(0),v(""),n?.("Identity key restored.")}catch(S){n?.(S.message||"Failed to restore key.")}finally{x(!1)}}},M=i?"w-full":r5;return r.jsx(N1,{title:"Identity key",className:M,children:r.jsxs("div",{className:w0,children:[r.jsxs("p",{className:"text-xs text-slate-500",children:["Current: ",zJ(t)||"not set yet"]}),r.jsx("input",{className:o4,type:"password",name:"identity_key_current",autoComplete:"current-password",maxLength:35,value:t,readOnly:!0,placeholder:"Identity key"}),u===0?r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",disabled:!t,onClick:()=>navigator.clipboard?.writeText(t),children:"Copy Key"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:g,disabled:p,children:"Restore Key"})]}):null,u===1?r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Restoring your key should only be done when needed. Use this to move your identity to another browser."}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>h(2),children:"Continue"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:b,children:"Cancel"})]})]}):null,u===2?r.jsxs("form",{className:"space-y-0.5",onSubmit:y,children:[r.jsx("input",{className:o4,type:"password",name:"identity_key_restore",autoComplete:"current-password",maxLength:35,value:d,onChange:L=>v(L.target.value.toLowerCase()),placeholder:"Paste key to restore"}),r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"submit",className:"button-dark text-sm",disabled:p||!d,children:"Confirm Restore"}),r.jsx("button",{type:"button",className:"button-dark text-sm",onClick:()=>h(1),children:"Back"})]})]}):null]})})}function n11({requestableRovers:t=[],pendingRequests:a=[],requestPrivateRoverAccess:n,onMessage:i,fullWidth:u=!1}){const[h,d]=m.useState({}),v=m.useMemo(()=>{const g=new Map;return(a||[]).forEach(b=>{b?.roverId&&g.set(String(b.roverId),b)}),g},[a]),p=u?"w-full":r5,x=async g=>{if(g){d(b=>({...b,[g]:!0})),i?.(""),u1("vip_private_rover_request",{roverId:g,status:"started"});try{const b=await n?.(g);u1("vip_private_rover_request",{roverId:g,status:b?.existing?"existing":"accepted"}),b?.existing?i?.("You already have a pending request for that rover."):i?.("Private rover access request sent to lockdown admins.")}catch(b){u1("vip_private_rover_request",{roverId:g,status:"failed",reason:b?.message||"unknown"}),i?.(b.message||"Failed to send request.")}finally{d(b=>({...b,[g]:!1}))}}};return r.jsx(N1,{title:"Private rover access requests",className:p,bodyClassName:"text-sm text-slate-300",children:r.jsx("div",{className:w0,children:t.length===0?r.jsx("p",{className:"text-xs text-slate-500",children:"No closed private rovers are available to request right now."}):r.jsx("div",{className:"w-full space-y-0.5",children:t.map(g=>{const b=String(g.id),y=!!h[b],M=v.get(b);return r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-1 py-0.5",children:[r.jsxs("div",{className:"min-w-0 text-left",children:[r.jsx("p",{className:"truncate text-xs",children:r.jsx(j4,{rover:g,fallback:b,className:"max-w-full truncate align-middle"})}),r.jsx("p",{className:"truncate text-[0.7rem] text-slate-500",children:b})]}),M?r.jsx("span",{className:"rounded bg-amber-700/30 px-1 py-0.5 text-[0.7rem] text-amber-200",children:"Pending"}):r.jsx("button",{type:"button",onClick:()=>x(b),disabled:y,className:"button-dark text-xs disabled:opacity-50",children:y?"Sending...":"Request"})]},b)})})})})}function r11(t){const a=String(t||"").trim();if(!a)return"";try{const n=new URL(a),i=String(n.protocol||"").toLowerCase();return i!=="http:"&&i!=="https:"?"":n.toString()}catch{return""}}function l11({isVerified:t=!1,fullWidth:a=!1,onMessage:n}){const{value:i,save:u}=I1("profile",{nickname:"",profileImageUrl:""}),h=String(i?.profileImageUrl||"").trim(),[d,v]=m.useState(h),[p,x]=m.useState(!1);m.useEffect(()=>{v(h)},[h]);const g=m.useMemo(()=>r11(d),[d]),b=String(d||"").trim()!==h,y=!!(t&&b&&(g||!String(d||"").trim())),M=a?"w-full":r5,L=async S=>{if(S.preventDefault(),!t){n?.("Verify your account before setting a profile image URL.");return}x(!0),n?.("");try{const C=g||"";u(B=>({...B||{},profileImageUrl:C})),n?.(C?"Profile image URL saved.":"Profile image URL cleared.")}finally{x(!1)}};return r.jsx(N1,{title:"Chat profile image URL",className:M,bodyClassName:"text-sm text-slate-300",children:r.jsxs("form",{className:w0,onSubmit:L,children:[r.jsx("p",{className:"text-xs text-slate-500",children:"Verified users can set a custom avatar for chat and Discord bridge messages."}),r.jsx("input",{className:o4,type:"url",name:"vip_profile_image_url",placeholder:"https://example.com/avatar.png",value:d,onChange:S=>v(S.target.value),disabled:!t||p}),!g&&String(d||"").trim()?r.jsx("p",{className:"text-xs text-amber-300",children:"Enter a valid http/https image URL."}):null,r.jsxs("div",{className:"flex justify-center gap-0.5",children:[r.jsx("button",{type:"submit",className:"button-dark text-sm disabled:opacity-50",disabled:!y||p,children:p?"Saving...":"Save URL"}),r.jsx("button",{type:"button",className:"button-dark text-sm disabled:opacity-50",disabled:!t||p||!h,onClick:()=>v(""),children:"Clear"})]})]})})}function fd(){const t=o1(F=>F.session),{identifySession:a,requestVerification:n,requestPrivateRoverAccess:i,playUploadedAudio:u,stopUploadedAudio:h,startMicWhip:d,readyMicWhip:v,stopMicWhip:p}=O2(),{value:x,save:g}=I1("identity",{cookieUserId:""}),{value:b}=I1("profile",{nickname:""}),y=m.useMemo(()=>(x?.cookieUserId||"").trim(),[x?.cookieUserId]),M=(b?.nickname||"").trim(),L=!!t?.isVerified,S=t?.verification?.pendingRequestId||null,C=t?.privateRoverAccess?.requestableRovers||[],B=t?.privateRoverAccess?.pendingRequests||[],A=String(t?.assignment?.roverId||"").trim(),[H,j]=m.useState(""),_=async F=>{const N=String(F||"").trim().toLowerCase();if(!N)throw new Error("Identity key required.");if(!xJ.test(N))throw new Error("Identity key must match format: cu_ + 32 lowercase hex chars.");return g(V=>({...V||{},cookieUserId:N})),await a({cookieUserId:N,nickname:M}),N};return r.jsxs("section",{className:"space-y-2 text-base",children:[r.jsxs("div",{className:"grid gap-2 grid-cols-1 lg:grid-cols-[minmax(0,1.25fr)_minmax(0,0.9fr)]",children:[L?null:r.jsx("div",{className:"lg:col-span-2",children:r.jsx(c11,{pendingRequestId:S,currentStoredKey:y,nickname:M,requestVerification:n,applyIdentityKey:_,onMessage:j,fullWidth:!0})}),r.jsx("div",{className:"lg:col-span-2",children:L?r.jsxs("div",{className:"space-y-2",children:[r.jsx(e11,{}),r.jsx(BJ,{ownRoverId:A,audioForwardByRover:t?.audioForward||{},playUploadedAudio:u,stopUploadedAudio:h,startMicWhip:d,readyMicWhip:v,stopMicWhip:p})]}):r.jsx("section",{className:"surface h-full",children:r.jsx("div",{className:"flex h-full flex-col items-center justify-center text-center text-xs text-slate-400",children:"Verify your account to unlock VIP features."})})}),r.jsx("div",{className:"lg:col-span-2",children:r.jsx(n11,{requestableRovers:C,pendingRequests:B,requestPrivateRoverAccess:i,onMessage:j,fullWidth:!0})}),r.jsx("div",{className:"lg:col-span-2",children:r.jsx(a11,{currentStoredKey:y,applyIdentityKey:_,onMessage:j,fullWidth:!0})}),r.jsx("div",{className:"lg:col-span-2",children:r.jsx(l11,{isVerified:L,onMessage:j,fullWidth:!0})})]}),H?r.jsx("div",{className:r5,children:r.jsx("p",{className:"text-xs text-slate-400 text-center",children:H})}):null]})}const i11=420,s11=1200,o11=800,u11={1:262,2:330,3:392,4:523};function pe(){const t=o1(A=>A.session?.buttonBox?.buttons??[]),a=N2(),{value:n}=I1("audio",y2),i=Number.isFinite(n?.masterVolume)?n.masterVolume:y2.masterVolume,u=Number.isFinite(n?.alertVolume)?n.alertVolume:y2.alertVolume,h=Math.max(0,Math.min(1,i*u)),d=m.useMemo(()=>{const A=Array.isArray(t)?t:[];return A.length===4?A:[1,2,3,4].map(H=>A.find(j=>Number(j?.id)===H)||{id:H,count:0,goal:0,rewardName:null,rewardDescription:null,rewardId:null,rewardNumber:null,dailyCount:0,dailyLimit:null,lastRewardAt:null})},[t]),[v,p]=m.useState({}),[x,g]=m.useState({}),[b,y]=m.useState({}),M=m.useRef(new Map),L=m.useRef(new Map),S=m.useRef(new Map),C=m.useRef({}),B=m.useRef(null);return m.useEffect(()=>{const A={};d.forEach(j=>{A[j.id]=Number(j.lastRewardAt||0)});const H=C.current||{};d.forEach(j=>{const _=Number(j.id),F=A[_]||0,N=Number(H[_]||0);if(F>0&&F!==N){y(q=>({...q,[_]:!0}));const V=S.current.get(_);V&&clearTimeout(V);const R=setTimeout(()=>{y(q=>({...q,[_]:!1})),S.current.delete(_)},s11);S.current.set(_,R)}}),C.current=A},[d]),m.useEffect(()=>{function A(j){const _=u11[j];if(!_||h<=0)return;let F=B.current;if(!F){const q=window.AudioContext||window.webkitAudioContext;if(!q)return;F=new q,B.current=F}const N=F.createOscillator(),V=F.createGain();N.type="square",N.frequency.value=_;const R=.14*h;V.gain.setValueAtTime(1e-4,F.currentTime),V.gain.exponentialRampToValueAtTime(Math.max(1e-4,R),F.currentTime+.01),V.gain.exponentialRampToValueAtTime(1e-4,F.currentTime+.2),N.connect(V),V.connect(F.destination),N.start(),N.stop(F.currentTime+.21)}function H(j={}){const _=Number(j.buttonId);if(!Number.isFinite(_)||_<1||_>4)return;if(j.limited){g(q=>({...q,[_]:!0}));const V=L.current.get(_);V&&clearTimeout(V);const R=setTimeout(()=>{g(q=>({...q,[_]:!1})),L.current.delete(_)},o11);L.current.set(_,R);return}p(V=>({...V,[_]:!0}));const F=M.current.get(_);F&&clearTimeout(F);const N=setTimeout(()=>{p(V=>({...V,[_]:!1})),M.current.delete(_)},i11);M.current.set(_,N),A(_)}return a.on("buttonBox:increment",H),()=>{a.off("buttonBox:increment",H)}},[h,a]),m.useEffect(()=>()=>{M.current.forEach(A=>clearTimeout(A)),M.current.clear(),L.current.forEach(A=>clearTimeout(A)),L.current.clear(),S.current.forEach(A=>clearTimeout(A)),S.current.clear()},[]),r.jsx(N1,{title:"Button Box",bodyClassName:"space-y-0.5 text-base",children:r.jsx("div",{className:"grid grid-cols-4 gap-0.5",children:d.map(A=>{const H=Number(A.id),j=Number.isFinite(A.count)?A.count:0,_=Number.isFinite(A.goal)?A.goal:0,F=Number.isFinite(A.dailyCount)?A.dailyCount:0,N=Number.isFinite(A.dailyLimit)?A.dailyLimit:null,V=typeof A.rewardName=="string"&&A.rewardName.trim()?A.rewardName.trim():"Unassigned",R=typeof A.rewardDescription=="string"&&A.rewardDescription.trim()?A.rewardDescription.trim():null,q=Number.isFinite(A.rewardNumber)?A.rewardNumber:"?",$=!!v[H],D=!!x[H],W=!!b[H];return r.jsx(rh,{buttonId:H,count:j,goal:_,dailyCount:F,dailyLimit:N,rewardNumber:q,rewardName:V,rewardDescription:R,limited:D,className:[$?"bg-cyan-900/45":"",D?"bg-red-950/70 ring-1 ring-red-500/70":"",W?"bg-fuchsia-900/45":""].filter(Boolean).join(" ")},H)})})})}const _o=10*1e3,h11=5*1e3,oa={activeGameId:null,games:[],activeGame:null,participants:[],counters:{objects:[],rovers:[],codes:[]},recentEvents:[],ownPlayer:null};function qo(t={}){return{...oa,...t&&typeof t=="object"?t:{},games:Array.isArray(t?.games)?t.games:[],participants:Array.isArray(t?.participants)?t.participants:[],counters:{...oa.counters,...t?.counters&&typeof t.counters=="object"?t.counters:{}},recentEvents:Array.isArray(t?.recentEvents)?t.recentEvents:[]}}function md(){const t=N2(),[a,n]=m.useState(oa),[i,u]=m.useState({connected:!!t.connected,stale:!0,lastReceivedAt:null});m.useEffect(()=>{let d=!1,v=null,p=null,x=0;function g(L={}){d||(x=Date.now(),n(qo(L)),u({connected:!!t.connected,stale:!1,lastReceivedAt:x}))}function b(){t.emit("barcodeGame:subscribe",{},(L={})=>{if(L.state){g(L.state);return}u(S=>({...S,connected:!!t.connected,stale:!x}))})}function y(){u(L=>({...L,connected:!0,stale:!x})),b()}function M(){u(L=>({...L,connected:!1,stale:!0}))}return t.on("barcodeGame:state",g),t.on("connect",y),t.on("disconnect",M),b(),v=window.setInterval(()=>{const L=!x||Date.now()-x>_o;u(S=>({...S,connected:!!t.connected,stale:L}))},1e3),p=window.setInterval(()=>{t.connected&&(!x||Date.now()-x>_o)&&b()},h11),()=>{d=!0,window.clearInterval(v),window.clearInterval(p),t.off("barcodeGame:state",g),t.off("connect",y),t.off("disconnect",M)}},[t]);const h=m.useCallback(d=>new Promise((v,p)=>{t.emit("barcodeGame:vote",{gameId:d},(x={})=>{if(x.error){p(new Error(x.error));return}x.state&&n(qo(x.state)),v(x)})}),[t]);return m.useMemo(()=>({state:a,connectionState:i,voteForGame:h}),[i,a,h])}function Nc(t){return Number.isFinite(t)?Math.max(0,Math.min(255,Math.round(t))):null}function d11(t){const a=Nc(t?.r),n=Nc(t?.g),i=Nc(t?.b);return a===null||n===null||i===null?null:{r:a,g:n,b:i}}function j8(t,a){return`rgba(${t.r}, ${t.g}, ${t.b}, ${a})`}function vd(t){const a=d11(t);return a?{textStyle:{color:j8(a,.96)},buttonStyle:{borderLeftColor:j8(a,.9)},selectedButtonStyle:{borderLeftColor:j8(a,1),backgroundColor:j8(a,.12)},titleBoxStyle:{borderLeftColor:j8(a,.88)}}:{textStyle:void 0,buttonStyle:void 0,titleBoxStyle:void 0,boxStyle:void 0}}function f11(t){const[a,n]=m.useState(()=>Date.now());return m.useEffect(()=>{if(!t)return;const i=window.setInterval(()=>{n(Date.now())},500);return()=>window.clearInterval(i)},[t]),a}function m11(t,a){if(!Number.isFinite(t))return null;const n=Math.max(0,Math.ceil((t-a)/1e3)),i=Math.floor(n/60),u=n%60;return i>0?`${i}:${String(u).padStart(2,"0")}`:`${u}s`}function v11({game:t,disabled:a,onVote:n}){const i=vd(t.themeColor),u=(t.active||t.selected)&&i.selectedButtonStyle||i.buttonStyle;return r.jsxs("button",{type:"button",disabled:a||t.active,onClick:()=>n(t.id),className:"surface flex min-h-[3.5rem] flex-col items-start justify-between border-l-4 border-l-neutral-600 px-1 py-0.75 text-left transition-colors hover:bg-neutral-700 disabled:cursor-not-allowed disabled:opacity-70",style:u,children:[r.jsxs("span",{className:"flex w-full items-start justify-between gap-1",children:[r.jsx("span",{className:"text-sm font-semibold leading-tight text-neutral-50",style:i.textStyle,children:t.title}),r.jsx("span",{className:"surface-muted shrink-0 px-1 py-0 text-center font-mono text-[0.72rem] text-neutral-200",children:t.voteCount||0})]}),r.jsx("span",{className:"mt-0.5 line-clamp-2 text-xs leading-snug text-neutral-300",children:t.description}),r.jsx("span",{className:"mt-0.5 text-[0.7rem] font-semibold text-neutral-400",children:t.active?"Active":t.selected?"Selected":t.actionLabel||"Vote"})]})}function p11({stats:t,theme:a}){return!Array.isArray(t)||!t.length?null:r.jsx("div",{className:"grid gap-0.5 sm:grid-cols-3",children:t.slice(0,6).map(n=>r.jsxs("div",{className:"surface px-1 py-0.75 text-center",children:[r.jsx("p",{className:"truncate text-[0.68rem] text-neutral-400",children:n.label}),r.jsx("p",{className:"mt-0.25 truncate text-base font-semibold leading-tight text-neutral-100",style:a.textStyle,children:n.value})]},n.label))})}function g11(t){return typeof t=="string"?t:!t||typeof t!="object"?"":String(t.label||t.value||t.text||"").trim()}function x11({sections:t}){const a=Array.isArray(t)?t.map(n=>({title:String(n?.title||"").trim(),items:Array.isArray(n?.items)?n.items.map(i=>({text:g11(i),status:typeof i=="object"&&i?i.status:null})).filter(i=>i.text):[]})).filter(n=>n.title||n.items.length):[];return a.length?r.jsx("div",{className:"mt-0.75 grid gap-0.5",children:a.map((n,i)=>r.jsxs("div",{className:"surface-muted px-1 py-0.75",children:[n.title?r.jsx("p",{className:"mb-0.5 text-xs font-semibold text-neutral-300",children:n.title}):null,r.jsx("div",{className:"grid gap-0.25",children:n.items.slice(0,8).map((u,h)=>r.jsx("p",{className:`break-words text-xs leading-snug ${u.status==="active"?"font-semibold text-neutral-50":u.status==="complete"?"text-neutral-500":"text-neutral-300"}`,children:u.text},`${u.text}-${h}`))})]},`${n.title||"section"}-${i}`))}):null}function z11({participants:t,theme:a}){const n=Array.isArray(t)?t:[],i=n.map(u=>u?.nickname||u?.roverId).filter(Boolean);return r.jsxs("div",{className:"surface min-w-0 px-1 py-0.75",children:[r.jsx("p",{className:"text-sm font-semibold text-neutral-400",children:"Participants"}),r.jsx("p",{className:"font-mono text-xl font-semibold leading-tight text-neutral-50",style:a.textStyle,children:n.length}),r.jsx("p",{className:"truncate text-sm leading-tight text-neutral-300",children:i.length?i.join(", "):"Scan rover to join"})]})}function Do({title:t,entries:a}){return!Array.isArray(a)||!a.length?null:r.jsxs("div",{children:[r.jsx("p",{className:"mb-0.5 text-xs font-semibold text-neutral-300",children:t}),r.jsx("div",{className:"grid gap-0.5",children:a.slice(0,4).map(n=>r.jsxs("div",{className:"surface-muted grid grid-cols-[minmax(0,1fr)_2.5rem] items-center gap-0.5 px-1 py-0.5 text-xs",children:[r.jsx("span",{className:"min-w-0 truncate text-neutral-200",children:n.label||n.entityId||n.code}),r.jsx("span",{className:"text-right font-mono text-neutral-200",children:n.count||0})]},`${n.entityId||n.code}-${n.type||"counter"}`))})]})}function b11({players:t,ownPlayer:a}){const n=a&&Number.isFinite(a.totalPoints);return r.jsx("div",{className:"space-y-1",children:r.jsxs("div",{className:"grid gap-0.5 sm:grid-cols-[minmax(0,0.8fr)_minmax(0,1.2fr)]",children:[r.jsxs("div",{className:"surface grid grid-cols-[minmax(0,1fr)_auto] items-center gap-1 px-1 py-0.75",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("p",{className:"text-xs font-semibold text-neutral-300",children:"Your points"}),r.jsx("p",{className:"truncate text-[0.7rem] text-neutral-400",children:a?.rank?`Rank ${a.rank}`:"No rank yet"})]}),r.jsx("p",{className:"font-mono text-xl font-semibold leading-tight text-neutral-50",children:n?a.totalPoints:0})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"mb-0.5 text-xs font-semibold text-neutral-300",children:"Leaderboard"}),Array.isArray(t)&&t.length?r.jsx("div",{className:"grid gap-0.5",children:t.slice(0,4).map((i,u)=>r.jsxs("div",{className:"surface-muted grid grid-cols-[1.5rem_minmax(0,1fr)_3rem] items-center gap-0.5 px-1 py-0.5 text-xs",children:[r.jsx("span",{className:"font-mono text-neutral-500",children:u+1}),r.jsx("span",{className:"truncate text-neutral-200",children:i.nickname}),r.jsx("span",{className:"text-right font-mono text-neutral-200",children:i.totalPoints})]},i.playerKey))}):r.jsx("p",{className:"text-xs text-neutral-500",children:"No points yet"})]})]})})}function pd(){const{state:t,connectionState:a,voteForGame:n}=md(),[i,u]=m.useState(null),h=m.useRef(""),d=m.useRef(0),v=t.activeGame,p=v?.display||{},x=t.phase==="joining"||t.phase==="starting"||t.phase==="running",g=p.timer?.endsAt,b=f11(Number.isFinite(g)),y=m11(g,b),M=m.useMemo(()=>Array.isArray(t.games)?t.games:[],[t.games]),L=Array.isArray(t.participants)?t.participants:[],S=vd(v?.themeColor);m.useEffect(()=>{!a.stale||!a.lastReceivedAt||u1("barcode_game_state_stale",{connected:a.connected,phase:t.phase||"unknown"})},[a.connected,a.lastReceivedAt,a.stale,t.phase]),m.useEffect(()=>{const B=`${v?.id||"none"}:${v?.status||t.phase||"unknown"}`;h.current!==B&&(h.current=B,u1("barcode_game_active_change",{gameId:v?.id||"",status:v?.status||"",phase:t.phase||"unknown"}),(v?.status==="ending"||t.phase==="ending")&&u1("barcode_game_round_end",{gameId:v?.id||"",participantCount:L.length}))},[v?.id,v?.status,L.length,t.phase]),m.useEffect(()=>{if(L.length<=d.current){d.current=L.length;return}d.current=L.length,u1("barcode_game_player_join",{gameId:v?.id||"",participantCount:L.length})},[v?.id,L.length]);const C=async B=>{u(B),u1("barcode_game_vote",{gameId:B,phase:t.phase||"unknown",status:"started"});try{await n(B),u1("barcode_game_vote",{gameId:B,phase:t.phase||"unknown",status:"accepted"})}catch(A){throw u1("barcode_game_vote",{gameId:B,phase:t.phase||"unknown",status:"failed",reason:A?.message||"unknown"}),A}finally{u(null)}};return r.jsxs(N1,{title:"Barcode games",bodyClassName:"space-y-1 p-0.5 text-sm",children:[r.jsx("div",{className:"grid gap-0.5 sm:grid-cols-2",children:M.map(B=>r.jsx(v11,{game:B,disabled:!!i||x,onVote:C},B.id))}),r.jsxs("section",{className:"space-y-1 border-t border-neutral-700 pt-1",children:[r.jsxs("div",{className:"grid items-stretch gap-0.5 lg:grid-cols-[minmax(0,1fr)_9rem_10rem]",children:[r.jsxs("div",{className:"surface min-w-0 border-l-4 border-neutral-700 px-1 py-0.75",style:S.titleBoxStyle,children:[r.jsx("p",{className:"break-words text-xl font-bold leading-tight text-neutral-50",style:S.textStyle,children:p.title||v?.title||"No game active"}),r.jsx("p",{className:"mt-0.5 break-words text-sm font-semibold leading-tight text-neutral-200",children:p.primary||"Vote for a game to start"}),p.secondary?r.jsx("p",{className:"mt-0.5 break-words text-xs leading-snug text-neutral-300",children:p.secondary}):null,r.jsx(x11,{sections:p.sections})]}),r.jsxs("div",{className:"surface px-1 py-0.75 text-left lg:text-right",children:[r.jsx("p",{className:"text-xs font-semibold text-neutral-400",children:p.timer?.label||"Time"}),r.jsx("p",{className:"font-mono text-xl font-semibold leading-tight text-neutral-50",style:S.textStyle,children:y||"--"}),r.jsx("p",{className:"text-xs leading-tight text-neutral-500",children:y?"active timer":"no timer"})]}),r.jsx(z11,{participants:L,theme:S})]}),r.jsx(p11,{stats:p.stats,theme:S})]}),r.jsx(b11,{players:t.leaderboard,ownPlayer:t.ownPlayer}),r.jsxs("div",{className:"grid gap-0.5 border-t border-neutral-700 pt-1 sm:grid-cols-2",children:[r.jsx("div",{className:"surface px-1 py-0.75",children:r.jsx(Do,{title:"Most scanned objects",entries:t.counters?.objects})}),r.jsx("div",{className:"surface px-1 py-0.75",children:r.jsx(Do,{title:"Most scanned rovers",entries:t.counters?.rovers})})]})]})}function y11(t=[]){const a={};return t.forEach(n=>{n?.roverId&&(a[String(n.roverId)]=n)}),a}function M11(t,a=[]){const n={...t};return a.forEach(i=>{i?.roverId&&(n[String(i.roverId)]=i)}),n}function gd(t){const a=Number(t);return Number.isFinite(a)?a>=1e3*1e3?`${(a/(1e3*1e3)).toFixed(2)} km`:a>=1e3?`${(a/1e3).toFixed(1)} m`:`${Math.round(a)} mm`:"--"}function w11(t,a){const n=Number(t);if(!Number.isFinite(n))return"--";const i=Math.max(0,a-n);return i<1500?"now":i<60*1e3?`${Math.round(i/1e3)}s ago`:`${Math.round(i/(60*1e3))}m ago`}function xd(t){return t?.name||t?.id||"Unknown rover"}function zd(){const t=N2(),a=o1(L=>L.session?.assignment?.roverId??null),n=o1(L=>L.session?.roster??[]),i=o1(L=>L.session?.odometers??[]),u=m.useMemo(()=>y11(i),[i]),[h,d]=m.useState({}),[v,p]=m.useState(()=>Date.now());m.useEffect(()=>{function L({roverId:S,odometer:C}={}){!S||!C||d(B=>({...B,[String(S)]:C}))}return t.on("odometer:update",L),t.emit("odometer:subscribe",{},(S={})=>{Array.isArray(S.odometers)&&d(C=>M11(C,S.odometers))}),()=>{t.off("odometer:update",L)}},[t]),m.useEffect(()=>{const L=window.setInterval(()=>{p(Date.now())},1e3);return()=>window.clearInterval(L)},[]);const x=m.useMemo(()=>({...u,...h}),[h,u]),g=m.useMemo(()=>n.map(L=>({rover:L,odometer:x[String(L.id)]||null})),[x,n]),b=a||g[0]?.rover?.id||null,y=g.find(L=>String(L.rover?.id)===String(b))?.rover||null,M=b&&x[String(b)]||null;return r.jsx(N1,{title:"Rover odometer",clipOverflow:!1,bodyClassName:"space-y-0.5 text-base text-slate-100",children:b?r.jsxs(r.Fragment,{children:[r.jsx(C11,{odometer:M,rover:y,now:v}),r.jsx(S11,{rows:g,primaryRoverId:b})]}):r.jsx("p",{className:"text-sm text-slate-500",children:"No rover odometer data yet."})})}function C11({odometer:t,rover:a,now:n}){const i=t?.status||"waiting",u=Number(t?.ignoredSamples)||0;return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("div",{className:"text-sm font-semibold text-slate-200",children:xd(a)}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5 md:grid-cols-3",children:[r.jsx(Rt,{label:"Total distance",value:gd(t?.totalMm)}),r.jsx(Rt,{label:"Last update",value:w11(t?.updatedAt,n)}),r.jsx(Rt,{label:"Status",value:i}),u>0?r.jsx(Rt,{label:"Ignored samples",value:String(u)}):null]})]})}function Rt({label:t,value:a}){return r.jsxs("div",{className:"surface flex items-center justify-between gap-0.5 px-1 py-0.5 text-sm",children:[r.jsx("span",{className:"text-slate-400",children:t}),r.jsx("span",{className:"min-w-0 truncate text-right text-slate-100",children:a??"--"})]})}function S11({rows:t,primaryRoverId:a}){return t.length?r.jsx(H11,{title:"All rovers",children:t.map(({rover:n,odometer:i})=>{const u=String(n?.id)===String(a);return r.jsxs("div",{className:`flex items-center justify-between gap-1 rounded px-1 py-0.5 ${u?"bg-slate-700/70 text-slate-50":"text-slate-200"}`,children:[r.jsx("span",{className:"min-w-0 truncate",children:xd(n)}),r.jsx("span",{className:"shrink-0 text-right text-slate-100",children:gd(i?.totalMm)}),r.jsx("span",{className:"shrink-0 text-right text-slate-400",children:i?.status||"waiting"})]},n?.id)})}):null}function H11({title:t,children:a}){return r.jsxs("div",{className:"surface space-y-0.5 p-1 text-sm",children:[r.jsx("div",{className:"text-[0.78rem] font-semibold leading-none text-slate-200",children:t}),r.jsx("div",{className:"space-y-0.5",children:a})]})}function A11(t){return t==="good"?"bg-emerald-600 text-white":t==="warn"?"bg-amber-500 text-slate-900":t==="danger"?"bg-rose-600 text-white":"bg-slate-700 text-slate-100"}function L11(t){return t==="up"?"Up":t==="down"?"Down":t==="stopped"?"Transitioning...":t==="conflict"?"Conflict":"--"}function bd(){const t=o1(V=>V.session?.lift||null),{liftUp:a,liftDown:n}=O2(),[i,u]=m.useState(""),[h,d]=m.useState(()=>Date.now()),v=!!t?.configured,p=!!(t?.enabled&&t?.connected),x=!!t?.busy,g=String(t?.target||"").toLowerCase(),b=String(t?.position||"").toLowerCase(),y=!!t?.availability?.upSwitch,M=!!t?.availability?.downSwitch,L=Number(t?.lastActionAt||0),S=Math.max(0,Number(t?.commandCooldownMs||0)),C=Math.max(0,L+S-h),B=!x&&C>0,A=x||B;m.useEffect(()=>{if(!A)return;const V=setInterval(()=>{d(Date.now())},100);return()=>clearInterval(V)},[A]),m.useEffect(()=>{d(Date.now())},[L,S,x]);const H=v?p?A?"Busy":"Ready":"Offline":"Not configured",j=v?p?A?"warn":"good":"danger":"warn",_=v&&p&&!A&&!i&&y&&M,F=m.useMemo(()=>Math.ceil(C/1e3),[C]),N=async(V,R)=>{if(R){u(V);try{await R()}catch{}finally{u("")}}};return r.jsxs(N1,{title:"Lift Controls",className:"relative w-full",bodyClassName:"text-sm text-slate-200",actions:r.jsx("span",{className:`inline-flex w-auto rounded px-1 py-0.25 text-xs font-semibold ${A11(j)}`,children:H}),children:[A?r.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center rounded-md bg-slate-950/80 px-1.5 text-center",children:r.jsxs("div",{className:"space-y-0.25",children:[r.jsx("p",{className:"text-sm font-semibold text-slate-100",children:x?"Preparing to move":"Moving!"}),r.jsx("p",{className:"text-xs text-slate-300",children:"Controls are disabled while the lift is moving, otherwise its tiny brain would get confused."}),!x&&B?r.jsxs("p",{className:"text-xs text-slate-400",children:["About ",F,"s remaining."]}):null]})}):null,r.jsxs("div",{className:"grid gap-0.5",children:[r.jsx("div",{className:"text-center",children:r.jsx("p",{className:"text-xs text-slate-400",children:"Move the lift up and down. Please don't break anything..."})}),r.jsx("section",{className:"surface-muted px-0.5 py-0.5",children:r.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-0.5",children:[r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.75 text-center",children:[r.jsx("div",{className:"text-xs text-slate-300",children:"Position"}),r.jsx("div",{className:"text-base font-semibold text-slate-100",children:L11(b)})]}),r.jsx("button",{type:"button",disabled:!_,onClick:()=>N("down",n),className:`button-dark w-full text-sm disabled:opacity-50 ${b==="down"||g==="down"?"bg-emerald-500 text-white hover:bg-emerald-500":""}`,children:i==="down"||g==="down"?"Lowering...":"Down"}),r.jsx("button",{type:"button",disabled:!_,onClick:()=>N("up",a),className:`button-dark w-full text-sm disabled:opacity-50 ${b==="up"||g==="up"?"bg-emerald-500 text-white hover:bg-emerald-500":""}`,children:i==="up"||g==="up"?"Raising...":"Up"})]})}),!v||!p||!y||!M?r.jsx("p",{className:"text-xs text-slate-400 text-center",children:v?p?"Waiting for required lift switch entities in Home Assistant.":"Home Assistant is offline.":"Set homeAssistant.lift.upSwitch and homeAssistant.lift.downSwitch in server config."}):null,t?.lastError?r.jsxs("p",{className:"text-xs text-rose-300 text-center",children:["Last error: ",t.lastError]}):null]})]})}function ce(t){return String(t||"").trim()}function V11(t){const a=ce(t);return a?a.includes("DOCKINGRUNNING")?"Returning":a.includes("PAUSED")?"Paused":a.includes("HOUSECLEANINGRUNNING")?"Cleaning":a.includes("SPOTCLEANINGRUNNING")?"Spot cleaning":a.includes("STATE_START")?"Starting":a.includes("STATE_IDLE")||a.includes("STATE_STANDBY")?"Idle":a:"--"}function yd(t){return t==="good"?"bg-emerald-600 text-white":t==="warn"?"bg-amber-500 text-slate-900":t==="danger"?"bg-rose-600 text-white":"bg-slate-700 text-slate-100"}function Et({label:t,value:a,tone:n="muted",valueClass:i="",hideLabel:u=!1}){return r.jsxs("div",{className:`rounded-md px-1 py-0.75 text-center ${yd(n)}`,children:[u?null:r.jsx("div",{className:"text-[0.72rem] opacity-90",children:t}),r.jsx("div",{className:`text-sm font-semibold ${i}`,title:String(a||""),children:a})]})}function Md(){const t=o1(h1=>h1.session?.neato||null),{neatoStart:a,neatoSendHome:n,neatoLocate:i,neatoClearErrors:u,neatoPowerCycle:h}=O2(),[d,v]=m.useState(""),p=!!t?.configured,x=!!(t?.enabled&&t?.connected),g=!!t?.telemetry?.extPowerPresent,b=!!t?.telemetry?.chargingActive,y=V11(t?.telemetry?.uiState),M=ce(t?.telemetry?.robotState)||"--",L=t?.telemetry?.batteryPercent,S=Number.isFinite(L)?`${L}%`:"--",C=t?.telemetry?.batteryVoltage,B=Number.isFinite(C)?`${C.toFixed(2)} V`:"--",A=ce(t?.telemetry?.robotError)||"--",H=ce(t?.telemetry?.robotAlert)||"--",j=t?.controls||{},_=!!j?.start?.available,F=!!j?.sendHome?.available,N=!!j?.locate?.available,V=!!j?.clearErrors?.available,R=!!j?.powerCycle?.available,q=p&&x&&_,$=p&&x&&F,D=p&&x&&N,W=p&&x&&V,n1=p&&x&&R,Y=async(h1,T)=>{if(T){v(h1);try{await T()}catch{}finally{v("")}}},E=p?x?"Online":"Offline":"Not configured",I=p?x?"good":"danger":"warn",Z=L==null?"muted":L>=60?"good":L>=25?"warn":"danger",t1=g?"Docked":y!=="--"?y:"Away from dock";return r.jsx(N1,{title:"Neato Controls",className:"w-full",bodyClassName:"text-sm text-slate-200",actions:r.jsx("span",{className:`inline-flex w-auto rounded px-1 py-0.25 text-xs font-semibold ${yd(I)}`,children:E}),children:r.jsxs("div",{className:"grid gap-0.5",children:[r.jsx("div",{className:"text-center",children:r.jsx("p",{className:"text-xs text-slate-400",children:"Control the autonomous Neato robovac. Be nice to him."})}),r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-0.5",children:[r.jsxs("div",{className:"surface-muted grid gap-0.5",children:[r.jsx("p",{className:"text-xs text-slate-300 text-center",children:"Controls"}),r.jsx("button",{type:"button",disabled:!q||!!d,onClick:()=>Y("start",a),className:"rounded-md border border-sky-300 bg-emerald-600 px-1 py-1 text-base font-semibold text-white transition hover:border-sky-500 hover:bg-emerald-500 disabled:opacity-50",children:d==="start"?"Starting...":"Start cleaning"}),r.jsx("button",{type:"button",disabled:!$||!!d,onClick:()=>Y("sendHome",n),className:"rounded-md border border-sky-300 bg-sky-600 px-1 py-1 text-base font-semibold text-white transition hover:border-sky-500 hover:bg-sky-500 disabled:opacity-50",children:d==="sendHome"?"Sending...":"Send to dock"}),r.jsxs("div",{className:"grid grid-cols-3 gap-0.5",children:[r.jsx("button",{type:"button",disabled:!D||!!d,onClick:()=>Y("locate",i),className:"w-full rounded-md border border-sky-300 bg-fuchsia-600 px-1 py-0.5 text-xs font-semibold text-white transition hover:border-sky-500 hover:bg-fuchsia-500 disabled:opacity-50",children:d==="locate"?"Playing...":"Play sound"}),r.jsx("button",{type:"button",disabled:!W||!!d,onClick:()=>Y("clearErrors",u),className:"w-full rounded-md border border-sky-300 bg-amber-500 px-1 py-0.5 text-xs font-semibold text-slate-900 transition hover:border-sky-500 hover:bg-amber-400 disabled:opacity-50",children:d==="clearErrors"?"Clearing...":"Clear errors"}),r.jsx("button",{type:"button",disabled:!n1||!!d,onClick:()=>Y("powerCycle",h),className:"w-full rounded-md border border-rose-300 bg-rose-600 px-1 py-0.5 text-xs font-semibold text-white transition hover:border-rose-500 hover:bg-rose-500 disabled:opacity-50",children:d==="powerCycle"?"Cycling...":"Power cycle"})]}),r.jsxs("div",{className:"surface-muted grid gap-0.5 pt-0.25",children:[r.jsx("p",{className:"text-xs text-slate-300 text-center",children:"Power status"}),r.jsxs("div",{className:"grid grid-cols-2 gap-0.5",children:[r.jsx(Et,{label:"Battery",value:S,tone:Z}),r.jsx(Et,{label:"Voltage",value:B,tone:"muted"}),r.jsx(Et,{label:"Docked",value:g?"Docked":"Not docked",tone:g?"good":"muted",hideLabel:!0}),r.jsx(Et,{label:"Charging",value:b?"charging":"not charging",tone:b?"good":"muted",hideLabel:!0})]})]})]}),r.jsx("div",{className:"grid gap-0.5",children:r.jsxs("div",{className:"surface-muted grid gap-0.5",children:[r.jsx("p",{className:"text-xs text-slate-300 text-center",children:"Robot Status"}),r.jsxs("div",{className:"grid gap-0.5",children:[r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Robot state (raw)"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:M})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Basic state"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:t1})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"UI state"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:y})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Robot error"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:A})]}),r.jsxs("div",{className:"rounded-md bg-slate-800 px-1 py-0.5",children:[r.jsx("div",{className:"text-[0.72rem] text-slate-300",children:"Robot alert"}),r.jsx("div",{className:"font-mono text-sm text-slate-100 break-all",children:H})]})]})]})})]}),!p||!x||!_||!F||!N||!V||!R?r.jsx("p",{className:"text-xs text-slate-400 text-center",children:p?x?"Waiting for required Neato entities in Home Assistant.":"Home Assistant is offline.":"Set homeAssistant.neato.device in server config to enable Neato controls."}):null]})})}function B11(t){const a=Number(t);if(!Number.isFinite(a)||a<=0)return null;const n=new Date(a);return Number.isNaN(n.getTime())?null:n.toLocaleTimeString([],{hour:"numeric",minute:"2-digit",second:"2-digit"})}function N11({memory:t,onClose:a}){const n=typeof t?.summary=="string"&&t.summary.trim()?t.summary:"Memory unavailable.",i=B11(t?.updatedAt);return r.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/75 p-1",onClick:a,children:r.jsx("div",{className:"w-full max-w-2xl",onClick:u=>u.stopPropagation(),children:r.jsx(N1,{title:"Overseer memory",meta:i?`Updated ${i}`:null,actions:r.jsx("button",{type:"button",onClick:a,className:"button-dark px-1 py-0.25 text-[0.75rem]",children:"Close"}),bodyClassName:"p-0.5 text-xs",children:r.jsx("pre",{className:"surface max-h-[70vh] overflow-y-auto whitespace-pre-wrap break-words font-mono text-[0.72rem] text-slate-200",children:n})})})})}function j11(){const{identifySession:t}=O2(),a=o1(M=>M.session?.overseerVote||null),n=o1(M=>M.overseerMemory||null),{value:i}=I1("profile",{nickname:""}),{value:u}=I1("identity",{cookieUserId:""}),{value:h,save:d}=I1("overseerPreference",{enabled:!1}),[v,p]=m.useState(!1),x=!!h?.enabled,g=!!a?.running,b=async M=>{const L=!!M?.target?.checked;await d(S=>({...S||{},enabled:L})),await t({cookieUserId:String(u?.cookieUserId||"").trim(),nickname:String(i?.nickname||"").trim(),overseerEnabled:L})},y=r.jsx("button",{type:"button",onClick:()=>p(!0),className:"button-dark px-1 py-0.25 text-[0.75rem]",title:"View overseer memory",children:"Memory"});return r.jsxs(r.Fragment,{children:[r.jsxs(N1,{title:"Overseer vote",actions:y,bodyClassName:"space-y-0.5 text-center text-xs text-slate-200",children:[r.jsxs("label",{className:`flex items-center justify-center gap-1.5 rounded px-1 py-0.5 ${x?"bg-emerald-600/80 text-emerald-50":"bg-slate-600/70 text-slate-100"}`,children:[r.jsx("input",{type:"checkbox",checked:x,onChange:b}),r.jsxs("span",{children:["Your vote: ",x?"Yes":"No"]})]}),r.jsx("span",{className:"text-xs",children:"Enable a local LLM in chat"}),r.jsxs("div",{className:"mt-0.5 text-slate-400",children:["Yes!: ",Number(a?.yesCount||0),", No...: ",Number(a?.noCount||0)]}),r.jsx("div",{className:"mt-0.5 flex justify-center",children:r.jsx("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.7rem] font-medium ${g?"bg-emerald-600/80 text-emerald-50":"bg-slate-600/70 text-slate-100"}`,children:g?"Running!":"Stopped by vote."})})]}),v?r.jsx(N11,{memory:n,onClose:()=>p(!1)}):null]})}function wd(){return o1(a=>!!a.session?.overseerVote?.votingEnabled)?r.jsx(j11,{}):null}const k11=224,F11=144,R11=300,E11=8,T11=.5,_11=.1;function q11(){const t=_1(a=>a.state.roverId);return r.jsx(N1,{title:"Roomba sensor view",children:r.jsx("div",{className:"aspect-square w-full",children:r.jsx(Gh,{roverId:t})})})}function D11(){const t=_1(t1=>t1.state.roverId),a=o1(t1=>!!t1.session?.homeAssistant?.lightPolicy?.lockedOn),n=_1(t1=>t1.state.keymap),i=_1(t1=>t1.state.camera),u=_1(t1=>t1.state.horn),h=_1(t1=>t1.pipeline?.headlight),d=_1(t1=>t1.pipeline?.headlightState),v=_1(t1=>t1.pipeline?.laser),p=_1(t1=>t1.pipeline?.laserState),x=_1(t1=>t1.pipeline?.horn),{setServoAngle:g,setHeadlight:b,setLaser:y,startHorn:M,stopHorn:L}=K4(),S=k0(),C=Th(t),B=C.docked&&!C.driving,A=i?.config,H=!!(t&&i?.enabled&&A),j=!!(t&&h),_=!!(t&&v),F=!!(t&&x),N=u?.overheated,V=typeof A?.minAngle=="number"?A.minAngle:-30,R=typeof A?.maxAngle=="number"?A.maxAngle:30,q=typeof i?.angle=="number"?i.angle:typeof A?.homeAngle=="number"?A.homeAngle:(V+R)/2,$=_2(n?.headlightToggle?.[0]),D=_2(n?.laserToggle?.[0]),W=_2(n?.hornHonk?.[0]),n1=_2(n?.cameraUp?.[0]),Y=_2(n?.cameraDown?.[0]),E=!!(!t||S.cameraLocked),I=i?.precisionMode?_11:T11,Z=m.useMemo(()=>({setHeadlight:t1=>{u1("headlight_toggle",{roverId:t,source:"desktop_control",enabled:!!t1}),b(t1)},setLaser:t1=>{u1("laser_toggle",{roverId:t,source:"desktop_control",enabled:!!t1}),y(t1)},startHorn:()=>(u1("horn_start",{roverId:t,source:"desktop_control"}),M()),stopHorn:L}),[t,b,y,M,L]);return r.jsxs(N1,{hideHeader:!0,className:"h-full",bodyClassName:`grid h-full min-h-0 grid-rows-[minmax(0,1fr)_auto] ${A2}`,children:[r.jsx(_h,{layout:"desktop",expand:!0,driveDockState:C}),B?null:r.jsxs("div",{className:`${w6} p-0 text-sm text-slate-200`,children:[(j||_)&&r.jsxs("div",{className:"grid grid-cols-2 gap-1",children:[j&&r.jsx(ue,{label:"Headlight",on:d?.headlightOn,disabled:!t,onToggle:Z.setHeadlight,keyLabel:$}),_&&r.jsx(ue,{label:"Laser",on:p?.laserOn,disabled:!t||a,onToggle:Z.setLaser,keyLabel:D})]}),F&&r.jsx(Rh,{disabled:!t||N,onStart:Z.startHorn,onStop:Z.stopHorn,keyLabel:W,active:u?.active,heat:u?.heat}),H&&r.jsx(gJ,{value:q,min:V,max:R,step:I,label:"Camera tilt",disabled:E,onChange:g,keyDownLabel:Y,keyUpLabel:n1,className:`${w6} rounded-xl border-2 border-emerald-300/70 bg-emerald-900 px-1 py-1 text-emerald-50`,labelRowClass:"text-xs text-emerald-100",labelClass:"text-sm font-semibold",valueClass:"font-mono text-slate-100",sliderClass:"w-full",accentClass:"accent-emerald-400",endpointClass:"text-[0.7rem] text-emerald-100/80"})]})]})}function O11({layout:t,onOpenHelpOverlay:a}){const[n,i]=m.useState("telemetry"),u=m.useRef(null),[h,d]=m.useState(k11),v=o1(H=>!!H.session?.isVerified),p=o1(H=>String(H.session?.assignment?.roverId||"").trim()),x=o1(H=>{const j=String(H.session?.assignment?.roverId||"").trim();return j&&H.session?.audioForward?.[j]||null}),g=_1(H=>!!H.state.mic?.pttActive),{value:b}=I1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),y=v?"bg-emerald-400":"bg-red-600",M=!!b?.openMicEnabled,L=b?.pttMode==="clip"?"clip":"live",S=!!(p&&v&&(L==="clip"?g:M||g)),C=!!(p&&v&&L==="clip"&&x?.source==="upload"&&x?.state==="playing"),B=o1(H=>!!H.session?.overseerVote?.votingEnabled),A=m.useCallback(H=>{i(H),u1("tab_change",{tab:H,layout:t,surface:"desktop_right_pane"})},[t]);return m.useLayoutEffect(()=>{const H=u.current;if(!H)return;let j=0,_=0,F=0;const N=()=>{j=0;const{top:$}=H.getBoundingClientRect(),D=window.innerHeight-$-E11,W=Math.round(Math.max(F11,Math.min(R11,D)));d(n1=>Math.abs(n1-W)>1?W:n1)},V=()=>{j||(j=window.requestAnimationFrame(N))},R=()=>{_=window.requestAnimationFrame(()=>{_=0,F=window.requestAnimationFrame(()=>{F=0,N()})})},q=typeof ResizeObserver=="function"?new ResizeObserver(()=>{V()}):null;return V(),R(),q&&H.parentElement&&q.observe(H.parentElement),window.addEventListener("resize",V),document.addEventListener("scroll",V,{capture:!0,passive:!0}),()=>{j&&window.cancelAnimationFrame(j),_&&window.cancelAnimationFrame(_),F&&window.cancelAnimationFrame(F),q?.disconnect(),window.removeEventListener("resize",V),document.removeEventListener("scroll",V,{capture:!0})}},[n]),r.jsx("section",{className:"text-base",children:r.jsxs(Le,{defaultTab:"telemetry",currentTab:n,onTabChange:A,children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"telemetry",children:"Controls"}),r.jsx(q2,{id:"activities",children:"Activities"}),r.jsx(q2,{id:"vip",highlight:C?"green":S?"pink":"none",children:r.jsxs("span",{className:"inline-flex items-center gap-2",children:[r.jsx("span",{children:"VIP"}),r.jsx("span",{className:`inline-block h-3 w-3 rounded-full ${y}`,"aria-hidden":"true",title:v?"Verified":"Not verified"})]})}),r.jsx(q2,{id:"help",children:"Help"}),r.jsx(q2,{id:"settings",children:"Settings"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"telemetry",children:r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsxs("div",{className:`grid items-stretch ${A2} grid-cols-[minmax(0,1.35fr)_minmax(0,0.95fr)]`,children:[r.jsx(q11,{}),r.jsx(D11,{})]}),r.jsxs("div",{className:`grid ${A2} grid-cols-[minmax(0,1fr)_minmax(0,0.9fr)_minmax(0,0.75fr)]`,children:[r.jsx(ke,{}),r.jsx(ka,{panelId:"replay-sources-desktop",fillHeight:!0}),r.jsx(uJ,{})]}),r.jsxs("div",{ref:u,className:`grid min-h-0 items-stretch ${A2} grid-cols-[minmax(0,1.3fr)_minmax(0,0.22fr)]`,style:{height:`${h}px`},children:[r.jsx(n5,{fillHeight:!0}),r.jsxs("div",{className:`grid min-h-0 ${A2} ${B?"grid-rows-[auto_minmax(0,1fr)]":"grid-rows-[minmax(0,1fr)]"}`,children:[B?r.jsx(wd,{}):null,r.jsx(me,{compact:!0,hideNicknameForm:!0,fillHeight:!0})]})]})]}),r.jsx(Jh,{}),r.jsx(Ia,{defaultOrientation:"horizontal",panelId:"rightpane-telemetry"})]})}),r.jsx(D2,{id:"activities",children:r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsx(Md,{}),r.jsx(bd,{}),r.jsx(pd,{}),r.jsx(zd,{}),r.jsx(pe,{}),r.jsx(Oh,{})]})}),r.jsx(D2,{id:"vip",keepMounted:!0,children:r.jsx(fd,{isActive:n==="vip"})}),r.jsx(D2,{id:"help",children:r.jsx(sd,{layout:t,onOpenOverlay:a})}),r.jsx(D2,{id:"settings",children:r.jsx(rd,{})})]})]})})}const U11=new Set(["admin","lockdown"]),I11=new Set(["lockdown"]),P11=new Set(["admin","lockdown"]);function $11(t="admin"){return t==="lockdown"?{title:"Lockdown mode active",description:"Only the server owners can access the interface at this time."}:{title:"Admin mode active"}}function Z11(){const t=o1(x=>x.session?.mode||null),a=o1(x=>x.session?.role||null),n=o1(x=>x.session?.adminReason?.text||""),i=o1(x=>x.session?.timezone||"UTC"),u=P11.has(t),h=t==="lockdown"?I11.has(a):U11.has(a),d=e5(1e3,u&&!h),v=m.useMemo(()=>{const x=new Date(d);try{return new Intl.DateTimeFormat("en-US",{timeZone:i,hour:"numeric",minute:"2-digit",second:"2-digit"}).format(x)}catch{return x.toLocaleTimeString()}},[d,i]);if(!u||h)return null;const p=$11(t);return r.jsx("div",{className:"pointer-events-auto fixed inset-0 z-50 flex items-center justify-center bg-black px-0.5 py-0.5",children:r.jsxs("div",{className:"surface w-full max-w-md space-y-0.5 text-slate-100 shadow-2xl",children:[r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-lg font-semibold",children:p.title}),r.jsx("p",{className:"text-sm text-slate-300",children:p.description})]}),r.jsxs("div",{className:"surface-muted space-y-0.5",children:[r.jsx("p",{className:"text-[0.7rem] tracking-wide text-slate-400",children:"Reason for locking:"}),r.jsx("p",{className:"text-lg font-semibold text-slate-100",children:n||"No reason set."}),r.jsxs("p",{className:"text-center text-sm text-slate-300",children:["Server time: ",v]})]}),r.jsx("div",{className:"surface-muted",children:r.jsx(Za,{})}),r.jsx("div",{className:"w-full justify-center items-center",children:r.jsx(He,{id:"discord",label:"Join our Discord server for updates!"})}),"You can still use the chat while the server is locked:",r.jsx("div",{className:"max-h-80 overflow-y-auto",children:r.jsx(n5,{nicknameLayout:"stacked"})})]})})}const G11="/assets/turn_alert-DVO8EZJa.mp3";function Y11(t,a=1){const n=m.useRef(null);return m.useEffect(()=>{n.current=new Audio(t),n.current.volume=a,n.current.load()},[t,a]),()=>{n.current&&(n.current.volume=a,n.current.currentTime=0,n.current.play().catch(()=>{}))}}function K11(){const t=o1(g=>g.session?.socketId||null),a=o1(g=>g.session?.turnQueues||{}),n=o1(g=>g.session?.roster||[]),{pushAlert:i}=O2(),{value:u}=I1("audio",y2),h=Number.isFinite(u?.masterVolume)?u.masterVolume:y2.masterVolume,d=Number.isFinite(u?.alertVolume)?u.alertVolume:y2.alertVolume,v=Math.max(0,Math.min(1,h*d)),p=Y11(G11,v),x=m.useRef(new Set);return m.useEffect(()=>{if(!t)return;const g=[];Object.entries(a).forEach(([b,y])=>{!y||!y.current||y.current!==t||x.current.has(b)||(g.push(b),x.current.add(b))}),Object.keys(a).forEach(b=>{(!a[b]||a[b].current!==t)&&x.current.delete(b)}),g.length!==0&&(g.forEach(b=>{const y=n.find(M=>String(M.id)===String(b))?.name||b;i({title:"Your turn!",message:`You now control ${y}.`,color:"#ff5722"})}),p())},[a,p,i,n,t]),null}function Q11({visible:t,mode:a,onEnterFullscreen:n,onDismiss:i}){if(!t)return null;const u=a==="pwa-hint";return r.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center p-1 pointer-events-none bg-black/20",children:r.jsx("div",{className:"pointer-events-auto w-full max-w-sm surface center",children:r.jsxs("div",{className:"space-y-0.5 p-1 text-sm text-slate-100",children:[r.jsx("h2",{className:"text-base font-semibold text-white border-b border-slate-700",children:"Better in fullscreen!"}),u?r.jsxs("p",{className:"text-slate-300",children:["For fullscreen on iOS, open Safari's share menu and pick ",r.jsx("strong",{children:"Add to Home Screen"}),". Launching from the home screen then makes it fullscreen."]}):r.jsx("p",{className:"text-slate-300",children:"Enable fullscreen to free up more space for the video feed and controls. You can exit fullscreen at any time via the system back or home gesture."}),r.jsx("p",{className:"text-xs border-t border-b border-slate-700 p-0.5 text-blue-300 text-center",children:"This will only show once just to let you know. There is a fullscreen button in the bottom right for later use."}),r.jsxs("div",{className:"flex justify-end gap-0.5 pt-1 text-sm",children:[r.jsx("button",{type:"button",className:"rounded border border-slate-600 px-3 py-1 text-slate-200",onClick:i,children:u?"Got it":"Not now"}),!u&&r.jsx("button",{type:"button",className:"rounded bg-cyan-500 px-3 py-1 font-semibold text-black hover:bg-cyan-400",onClick:n,children:"Enter fullscreen"})]})]})})})}function X11({side:t="right",onClick:a}){const n=t==="left"?"left-2":"right-2";return r.jsx("button",{type:"button",onClick:a,className:`fixed bottom-2 ${n} z-30 flex h-10 w-10 items-center justify-center rounded-full border border-slate-700 bg-black text-slate-200 transition hover:bg-zinc-900 active:scale-95`,"aria-label":"Enter fullscreen",title:"Enter fullscreen",children:r.jsx("svg",{viewBox:"0 0 24 24",width:"18",height:"18","aria-hidden":"true",className:"pointer-events-none",children:r.jsx("path",{d:"M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})}const W11=new Set(["mobile-portrait","mobile-landscape"]),J11=()=>{if(typeof navigator>"u")return!1;const t=navigator.userAgent||navigator.platform||"";return/iphone|ipad|ipod/i.test(t)},Oo=()=>{if(typeof document>"u")return!1;const t=document;return!!(t.fullscreenEnabled||t.webkitFullscreenEnabled||t.mozFullScreenEnabled||t.msFullscreenEnabled)};function t21(t){const{value:a,save:n,status:i}=I1("page",{fullscreenPromptShown:!1}),u=W11.has(t),[h,d]=m.useState(!1),[v,p]=m.useState("native"),[x,g]=m.useState(!1),b=!!a?.fullscreenPromptShown,y=m.useMemo(()=>J11(),[]),M=m.useMemo(()=>Oo(),[]),L=m.useCallback(()=>{i==="ready"&&n(H=>H?.fullscreenPromptShown?H:{...H||{},fullscreenPromptShown:!0})},[n,i]),S=m.useCallback(()=>{if(i!=="ready"){d(!1);return}if(!u){d(!1),g(!1);return}if(!x&&b){d(!1);return}if(y){p("pwa-hint"),d(!0);return}if(!Oo()){d(!1);return}if(typeof document<"u"&&document.fullscreenElement){d(!1);return}p("native"),d(!0)},[x,b,y,u,i]);m.useEffect(()=>{S()},[S]),m.useEffect(()=>{if(typeof document>"u")return;const H=()=>{if(document.fullscreenElement){g(!1),d(!1);return}S()};return document.addEventListener("fullscreenchange",H),document.addEventListener("webkitfullscreenchange",H),()=>{document.removeEventListener("fullscreenchange",H),document.removeEventListener("webkitfullscreenchange",H)}},[S]);const C=m.useCallback(()=>{L(),g(!1),d(!1)},[L]),B=m.useCallback(async()=>{if(!u||y||typeof document>"u")return!1;if(document.fullscreenElement)return!0;const H=document.documentElement;if(!H)return!1;const j=H.requestFullscreen||H.webkitRequestFullscreen||H.mozRequestFullScreen||H.msRequestFullscreen;if(!j)return!1;try{const _=j.call(H);return _&&typeof _.then=="function"&&await _,L(),g(!1),d(!1),!0}catch(_){return console.warn("Failed to enter fullscreen",_),!1}},[y,u,L]),A=m.useCallback(()=>{u&&(g(!0),p(y?"pwa-hint":"native"),d(!0))},[y,u]);return m.useEffect(()=>{u||(g(!1),d(!1))},[u]),{visible:h,mode:v,isIOS:y,nativeSupported:M,enterFullscreen:B,dismiss:C,showPrompt:A}}function e21({visible:t,layout:a,onClose:n,showOnLoad:i,onToggleShowOnLoad:u}){const h=_1(v=>v.state.keymap);if(!t)return null;const d=v=>{const p=!v.target.checked;u?.(p)};return r.jsx("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/80 px-0.5 py-0.5",children:r.jsxs("div",{className:"pointer-events-auto surface w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-2xl",children:[r.jsxs("div",{className:"flex items-center justify-between border-b border-slate-700 px-0.5 py-0.25 text-sm text-slate-200",children:[r.jsx("span",{className:"font-semibold",children:"Help & controls"}),r.jsxs("div",{className:"flex items-center gap-0.5 text-[0.8rem] text-slate-300",children:[r.jsxs("label",{className:"flex items-center gap-0.5",children:[r.jsx("input",{type:"checkbox",checked:!i,onChange:d,className:"accent-cyan-500"}),r.jsx("span",{children:"Don't show again"})]}),r.jsx("button",{type:"button",onClick:n,className:"button-dark px-2 py-0.25 text-[0.8rem]",children:"Close"})]})]}),r.jsx("div",{className:"max-h-[85vh] overflow-y-auto p-0.5",children:r.jsx(id,{layout:a,keymap:h||{}})})]})})}function p0({label:t,keyLabel:a}){return r.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.35 text-[0.8rem] text-slate-200",children:[r.jsx("span",{children:t}),r.jsx(fe,{label:a})]})}function c21({keymap:t}){return r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200",children:'1. Press "Start Driving" put your rover into driving mode.'}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-sm text-slate-200",children:"2. Use the drive controls to move your rover:"}),r.jsxs("div",{className:"space-y-0.5",children:[r.jsx(p0,{label:"Forward",keyLabel:_2(t?.driveForward?.[0])}),r.jsx(p0,{label:"Backward",keyLabel:_2(t?.driveBackward?.[0])}),r.jsx(p0,{label:"Turn Left",keyLabel:_2(t?.driveLeft?.[0])}),r.jsx(p0,{label:"Turn Right",keyLabel:_2(t?.driveRight?.[0])}),r.jsx(p0,{label:"Move faster",keyLabel:_2(t?.boostModifier?.[0])}),r.jsx(p0,{label:"Move slower",keyLabel:_2(t?.slowModifier?.[0])})]})]}),r.jsx("p",{className:"text-sm text-slate-200",children:'3. When done, enter "Docking Assist" and line up the front sensor with the dock sensor.'})]})}function a21(){return r.jsxs("div",{className:"space-y-0.5 text-sm text-slate-200",children:[r.jsx("p",{children:'1. Press "Start Driving" put your rover into driving mode.'}),r.jsx("p",{children:"2. Touch and hold in Joystick area to move."}),r.jsx("p",{children:"3. Use the other column for motor, horn, and camera controls."}),r.jsx("p",{children:'4. When done, enter "Docking Assist" and line up the front sensor with the dock sensor.'})]})}function n21({visible:t,layout:a,showOnLoad:n,onToggleShowOnLoad:i,onOpenHelp:u,onClose:h}){const d=_1(g=>g.state.keymap),v=a==="desktop",p=m.useMemo(()=>d||{},[d]);if(!t)return null;const x=g=>{const b=!g.target.checked;i?.(b)};return r.jsx("div",{className:"fixed inset-0 z-40 flex items-end justify-center bg-black/75 p-0.5 items-center",children:r.jsxs("div",{className:"pointer-events-auto surface w-full max-w-3xl overflow-hidden shadow-2xl",children:[r.jsx("div",{className:"flex items-center justify-between border-b border-slate-700 px-0.5 py-0.35 text-sm text-slate-200",children:r.jsx("span",{className:"font-semibold text-xl",children:"Welcome! To get started:"})}),r.jsxs("div",{className:`grid gap-0.5 p-0.5 ${v?"md:grid-cols-[minmax(0,1.5fr)_minmax(0,1fr)]":"grid-cols-1"}`,children:[r.jsx("section",{className:"space-y-0.5 border-b border-slate-700",children:v?r.jsx(c21,{keymap:p}):r.jsx(a21,{})}),r.jsxs("section",{className:"space-y-0.5",children:[r.jsx("p",{className:"text-left",children:"Next..."}),r.jsxs("div",{className:"surface space-y-0.5 p-0.5 border-b border-slate-700",children:[r.jsx("p",{className:"text-xl font-semibold text-slate-200",children:"Set your nickname"}),r.jsx("p",{className:"text-sm font-semibold text-slate-200",children:"Nicknames are assigned randomly by default, you can change yours here."}),r.jsx(je,{compact:!0})]}),r.jsxs("div",{className:"surface p-0.5",children:[r.jsx("p",{className:"text-xl font-semibold text-slate-200",children:"Join our Discord server!"}),r.jsx("p",{className:"text-sm font-semibold text-slate-200",children:"We have an active and welcoming community :3"}),r.jsx(He,{id:"discord",label:"Join Discord"})]})]})]}),r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-0.5 border-t border-slate-700 px-0.5 py-0.35 text-[0.8rem]",children:[r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-300",children:[r.jsx("input",{type:"checkbox",checked:!n,onChange:x,className:"accent-cyan-500"}),r.jsx("span",{children:"Don't show again"})]}),r.jsx("div",{className:"flex items-center gap-0.5",children:r.jsx("button",{type:"button",onClick:h,className:"button-dark px-1 py-0.25 text-2xl bg-green-600 hover:bg-green-400 hover:border-green-100 border-green-400",children:"Got it! Let me in!"})})]})]})})}const r21=`aroma bagel batter beans @@ -134,7 +134,7 @@ wok yeast yogurt shrimp -fling`;function r21(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}function l21(){const t=String(n21).split(/\r?\n/).map(n=>n.trim()).filter(Boolean);return t.length?(t[Math.floor(Math.random()*t.length)]||"").trim():""}function l5(){const{setNickname:t}=O2(),{value:a,status:n,save:i}=I1("profile",{nickname:""}),u=m.useRef(!1);m.useEffect(()=>{if(n!=="ready"||u.current||(a.nickname||"").trim())return;u.current=!0;const d=r21(l21()).slice(0,32);if(!d)return;(async()=>{try{await t(d)}catch{}finally{i({nickname:d})}})()},[i,t,n,a.nickname])}const Uo=2592e5,Cd="thumbmark",Sd="https://api.thumbmarkjs.com",Ja={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,cache_lifetime_in_ms:0,performance:!1,experimental:!1,simple_request:!1,property_name_factory:t=>`${Cd}_${t}`};let i21={...Ja};const s21={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions"]}],vpn:[{exclude:["ip"]}],always:[{exclude:["speech"],browsers:["brave","firefox"]}]},Io=typeof window<"u"?window.OfflineAudioContext||window.webkitOfflineAudioContext:null;function o21(t){let a=0;for(let n=0;na[n]&&(n=parseInt(i,10));return n}function Tt(t){return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),(t^=t>>>16)>>>0}const t4=new Uint32Array([597399067,2869860233,951274213,2716044179]);function V4(t,a){return t<>>32-a}function B4(t,a=0){if(a=a?0|a:0,typeof t=="string"&&(t=(function(u){if(typeof TextEncoder<"u")return new TextEncoder().encode(u).buffer;const h=[];for(let d=0;d>6,128|63&v):v<55296||v>=57344?h.push(224|v>>12,128|v>>6&63,128|63&v):(d++,v=65536+((1023&v)<<10|1023&u.charCodeAt(d)),h.push(240|v>>18,128|v>>12&63,128|v>>6&63,128|63&v))}return new Uint8Array(h).buffer})(t)),!(t instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const n=new Uint32Array([a,a,a,a]);(function(u,h){const d=u.byteLength/16|0,v=new Uint32Array(u,0,4*d);for(let p=0;pu.toString(16).padStart(2,"0"))).join("")}const $o=280;async function Hd(t){for(var a;!document.body;)await h21(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const i=n.style;i.setProperty("position","fixed"),i.setProperty("display","block","important"),i.setProperty("visibility","visible"),i.setProperty("border","0"),i.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const u=n.contentDocument||((a=n.contentWindow)===null||a===void 0?void 0:a.document);if(!u)throw new Error("Iframe document is not accessible");t({iframe:u}),setTimeout((()=>{document.body.removeChild(n)}),0)}function h21(t,a){return new Promise((n=>setTimeout(n,t,a)))}const d21=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],f21=["monospace","sans-serif","serif"];function Zo(t,a){return t.font=`72px ${a}`,t.measureText("WwMmLli0Oo").width}function m21(){var t;const a=document.createElement("canvas"),n=(t=a.getContext("webgl"))!==null&&t!==void 0?t:a.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const i=(n.getParameter(n.VENDOR)||"").toString(),u=(n.getParameter(n.RENDERER)||"").toString();let h={vendor:i,renderer:u,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!u.length||!i.length){const d=n.getExtension("WEBGL_debug_renderer_info");if(d){const v=(n.getParameter(d.UNMASKED_VENDOR_WEBGL)||"").toString(),p=(n.getParameter(d.UNMASKED_RENDERER_WEBGL)||"").toString();v&&(h.vendorUnmasked=v),p&&(h.rendererUnmasked=p)}}return h}catch{}return"undefined"}function v21(){const t=new Float32Array(1),a=new Uint8Array(t.buffer);return t[0]=1/0,t[0]=t[0]-t[0],a[3]}const _t=(t,a,n,i)=>{const u=(n-a)/i;let h=0;for(let d=0;d{const u=(function(h){if(h.length===0)return null;const d={};h.forEach((x=>{const g=String(x);d[g]=(d[g]||0)+1}));let v=h[0],p=1;return Object.keys(d).forEach((x=>{d[x]>p&&(v=x,p=d[x])})),v})(t.map((h=>i in h?h[i]:void 0)).filter((h=>h!==void 0)));u&&(n[i]=u)})),n}const g21=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],jc=new Map;function Fe(){if(typeof navigator>"u")return{name:"unknown",version:"unknown"};const t=!!navigator.brave,a=(t?"B|":"N|")+navigator.userAgent,n=jc.get(a);if(n)return n;const i=[{name:"Brave",detect:()=>t}];let u;for(const h of i)if(h.detect()){const d=Go(navigator.userAgent);return u={name:h.name,version:d.version},jc.set(a,u),u}return u=Go(navigator.userAgent),jc.set(a,u),u}function Go(t){var a,n,i,u,h,d;const v=[/(?SamsungBrowser)\/(?\d+(?:\.\d+)+)/,/(?EdgA|EdgiOS|Edg)\/(?\d+(?:\.\d+)+)/,/(?OPR|OPX)\/(?\d+(?:\.\d+)+)/,/Opera[\s\/](?\d+(?:\.\d+)+)/,/Opera Mini\/(?\d+(?:\.\d+)+)/,/Opera Mobi\/(?\d+(?:\.\d+)+)/,/(?Vivaldi)\/(?\d+(?:\.\d+)+)/,/(?CriOS)\/(?\d+(?:\.\d+)+)/,/(?FxiOS)\/(?\d+(?:\.\d+)+)/,/(?Chrome|Chromium)\/(?\d+(?:\.\d+)+)/,/(?Firefox|Waterfox|Iceweasel|IceCat)\/(?\d+(?:\.\d+)+)/,/Version\/(?[\d.]+).*Safari\/[\d.]+|(?Safari)\/(?[\d.]+)/,/(?MSIE|Trident|IEMobile).+?(?\d+(?:\.\d+)+)/,/(?[A-Za-z]+)\/(?\d+(?:\.\d+)+)/],p={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi"};for(const x of v){const g=t.match(x);if(g){let b=(a=g.groups)===null||a===void 0?void 0:a.name,y=((n=g.groups)===null||n===void 0?void 0:n.version)||((i=g.groups)===null||i===void 0?void 0:i.version1)||((u=g.groups)===null||u===void 0?void 0:u.version2);if(b||!(!((h=g.groups)===null||h===void 0)&&h.version1)&&!(!((d=g.groups)===null||d===void 0)&&d.version2)||(b="Safari"),!b&&x.source.includes("Opera Mini")&&(b="Opera Mini"),!b&&x.source.includes("Opera Mobi")&&(b="Opera Mobi"),!b&&x.source.includes("Opera")&&(b="Opera"),!b&&g[1]&&(b=g[1]),!y&&g[2]&&(y=g[2]),b)return{name:p[b.toLowerCase()]||b,version:y||"unknown"}}}return{name:"unknown",version:"unknown"}}function Yo(){if(typeof navigator>"u"||!navigator.userAgent)return!1;const t=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(t)&&!/iPad/i.test(t)}function x21(){let t=[];const a={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(a).forEach((n=>{a[n].forEach((i=>{matchMedia(`(${n}: ${i})`).matches&&t.push(`${n}: ${i}`)}))})),t}function z21(){if(window.location.protocol==="https:"&&typeof window.ApplePaySession=="function")try{const t=window.ApplePaySession.supportsVersion;for(let a=15;a>0;a--)if(t(a))return a}catch{return 0}return 0}const b21=Fe().name!=="SamsungBrowser"?1:3,y21=Fe().name!=="Brave",Ko=137,M21=(()=>{const t=new Float32Array(548),a=2*Math.PI/Ko;for(let n=0;n"u")return null;const t=document.createElement("canvas");t.width=200,t.height=100;const a=t.getContext("webgl");if(!a)return null;t.addEventListener("webglcontextlost",(d=>{d.preventDefault(),_8=null}),{once:!0});const n=a.createShader(a.VERTEX_SHADER),i=a.createShader(a.FRAGMENT_SHADER);if(!n||!i||(a.shaderSource(n,` +fling`;function l21(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}function i21(){const t=String(r21).split(/\r?\n/).map(n=>n.trim()).filter(Boolean);return t.length?(t[Math.floor(Math.random()*t.length)]||"").trim():""}function l5(){const{setNickname:t}=O2(),{value:a,status:n,save:i}=I1("profile",{nickname:""}),u=m.useRef(!1);m.useEffect(()=>{if(n!=="ready"||u.current||(a.nickname||"").trim())return;u.current=!0;const d=l21(i21()).slice(0,32);if(!d)return;(async()=>{try{await t(d)}catch{}finally{i({nickname:d})}})()},[i,t,n,a.nickname])}const Uo=2592e5,Cd="thumbmark",Sd="https://api.thumbmarkjs.com",Ja={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,cache_lifetime_in_ms:0,performance:!1,experimental:!1,simple_request:!1,property_name_factory:t=>`${Cd}_${t}`};let s21={...Ja};const o21={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions"]}],vpn:[{exclude:["ip"]}],always:[{exclude:["speech"],browsers:["brave","firefox"]}]},Io=typeof window<"u"?window.OfflineAudioContext||window.webkitOfflineAudioContext:null;function u21(t){let a=0;for(let n=0;na[n]&&(n=parseInt(i,10));return n}function Tt(t){return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),(t^=t>>>16)>>>0}const t4=new Uint32Array([597399067,2869860233,951274213,2716044179]);function V4(t,a){return t<>>32-a}function B4(t,a=0){if(a=a?0|a:0,typeof t=="string"&&(t=(function(u){if(typeof TextEncoder<"u")return new TextEncoder().encode(u).buffer;const h=[];for(let d=0;d>6,128|63&v):v<55296||v>=57344?h.push(224|v>>12,128|v>>6&63,128|63&v):(d++,v=65536+((1023&v)<<10|1023&u.charCodeAt(d)),h.push(240|v>>18,128|v>>12&63,128|v>>6&63,128|63&v))}return new Uint8Array(h).buffer})(t)),!(t instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const n=new Uint32Array([a,a,a,a]);(function(u,h){const d=u.byteLength/16|0,v=new Uint32Array(u,0,4*d);for(let p=0;pu.toString(16).padStart(2,"0"))).join("")}const $o=280;async function Hd(t){for(var a;!document.body;)await d21(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const i=n.style;i.setProperty("position","fixed"),i.setProperty("display","block","important"),i.setProperty("visibility","visible"),i.setProperty("border","0"),i.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const u=n.contentDocument||((a=n.contentWindow)===null||a===void 0?void 0:a.document);if(!u)throw new Error("Iframe document is not accessible");t({iframe:u}),setTimeout((()=>{document.body.removeChild(n)}),0)}function d21(t,a){return new Promise((n=>setTimeout(n,t,a)))}const f21=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],m21=["monospace","sans-serif","serif"];function Zo(t,a){return t.font=`72px ${a}`,t.measureText("WwMmLli0Oo").width}function v21(){var t;const a=document.createElement("canvas"),n=(t=a.getContext("webgl"))!==null&&t!==void 0?t:a.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const i=(n.getParameter(n.VENDOR)||"").toString(),u=(n.getParameter(n.RENDERER)||"").toString();let h={vendor:i,renderer:u,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!u.length||!i.length){const d=n.getExtension("WEBGL_debug_renderer_info");if(d){const v=(n.getParameter(d.UNMASKED_VENDOR_WEBGL)||"").toString(),p=(n.getParameter(d.UNMASKED_RENDERER_WEBGL)||"").toString();v&&(h.vendorUnmasked=v),p&&(h.rendererUnmasked=p)}}return h}catch{}return"undefined"}function p21(){const t=new Float32Array(1),a=new Uint8Array(t.buffer);return t[0]=1/0,t[0]=t[0]-t[0],a[3]}const _t=(t,a,n,i)=>{const u=(n-a)/i;let h=0;for(let d=0;d{const u=(function(h){if(h.length===0)return null;const d={};h.forEach((x=>{const g=String(x);d[g]=(d[g]||0)+1}));let v=h[0],p=1;return Object.keys(d).forEach((x=>{d[x]>p&&(v=x,p=d[x])})),v})(t.map((h=>i in h?h[i]:void 0)).filter((h=>h!==void 0)));u&&(n[i]=u)})),n}const x21=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],jc=new Map;function Fe(){if(typeof navigator>"u")return{name:"unknown",version:"unknown"};const t=!!navigator.brave,a=(t?"B|":"N|")+navigator.userAgent,n=jc.get(a);if(n)return n;const i=[{name:"Brave",detect:()=>t}];let u;for(const h of i)if(h.detect()){const d=Go(navigator.userAgent);return u={name:h.name,version:d.version},jc.set(a,u),u}return u=Go(navigator.userAgent),jc.set(a,u),u}function Go(t){var a,n,i,u,h,d;const v=[/(?SamsungBrowser)\/(?\d+(?:\.\d+)+)/,/(?EdgA|EdgiOS|Edg)\/(?\d+(?:\.\d+)+)/,/(?OPR|OPX)\/(?\d+(?:\.\d+)+)/,/Opera[\s\/](?\d+(?:\.\d+)+)/,/Opera Mini\/(?\d+(?:\.\d+)+)/,/Opera Mobi\/(?\d+(?:\.\d+)+)/,/(?Vivaldi)\/(?\d+(?:\.\d+)+)/,/(?CriOS)\/(?\d+(?:\.\d+)+)/,/(?FxiOS)\/(?\d+(?:\.\d+)+)/,/(?Chrome|Chromium)\/(?\d+(?:\.\d+)+)/,/(?Firefox|Waterfox|Iceweasel|IceCat)\/(?\d+(?:\.\d+)+)/,/Version\/(?[\d.]+).*Safari\/[\d.]+|(?Safari)\/(?[\d.]+)/,/(?MSIE|Trident|IEMobile).+?(?\d+(?:\.\d+)+)/,/(?[A-Za-z]+)\/(?\d+(?:\.\d+)+)/],p={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi"};for(const x of v){const g=t.match(x);if(g){let b=(a=g.groups)===null||a===void 0?void 0:a.name,y=((n=g.groups)===null||n===void 0?void 0:n.version)||((i=g.groups)===null||i===void 0?void 0:i.version1)||((u=g.groups)===null||u===void 0?void 0:u.version2);if(b||!(!((h=g.groups)===null||h===void 0)&&h.version1)&&!(!((d=g.groups)===null||d===void 0)&&d.version2)||(b="Safari"),!b&&x.source.includes("Opera Mini")&&(b="Opera Mini"),!b&&x.source.includes("Opera Mobi")&&(b="Opera Mobi"),!b&&x.source.includes("Opera")&&(b="Opera"),!b&&g[1]&&(b=g[1]),!y&&g[2]&&(y=g[2]),b)return{name:p[b.toLowerCase()]||b,version:y||"unknown"}}}return{name:"unknown",version:"unknown"}}function Yo(){if(typeof navigator>"u"||!navigator.userAgent)return!1;const t=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(t)&&!/iPad/i.test(t)}function z21(){let t=[];const a={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(a).forEach((n=>{a[n].forEach((i=>{matchMedia(`(${n}: ${i})`).matches&&t.push(`${n}: ${i}`)}))})),t}function b21(){if(window.location.protocol==="https:"&&typeof window.ApplePaySession=="function")try{const t=window.ApplePaySession.supportsVersion;for(let a=15;a>0;a--)if(t(a))return a}catch{return 0}return 0}const y21=Fe().name!=="SamsungBrowser"?1:3,M21=Fe().name!=="Brave",Ko=137,w21=(()=>{const t=new Float32Array(548),a=2*Math.PI/Ko;for(let n=0;n"u")return null;const t=document.createElement("canvas");t.width=200,t.height=100;const a=t.getContext("webgl");if(!a)return null;t.addEventListener("webglcontextlost",(d=>{d.preventDefault(),_8=null}),{once:!0});const n=a.createShader(a.VERTEX_SHADER),i=a.createShader(a.FRAGMENT_SHADER);if(!n||!i||(a.shaderSource(n,` attribute vec2 position; void main() { gl_Position = vec4(position, 0.0, 1.0); @@ -144,5 +144,5 @@ fling`;function r21(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}function void main() { gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color } -`),a.compileShader(i),!a.getShaderParameter(i,a.COMPILE_STATUS)))return null;const u=a.createProgram();if(!u||(a.attachShader(u,n),a.attachShader(u,i),a.linkProgram(u),!a.getProgramParameter(u,a.LINK_STATUS)))return null;const h=a.createBuffer();return h?(a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferData(a.ARRAY_BUFFER,M21,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,null),{canvas:t,gl:a,program:u,buffer:h}):null}catch{return null}}function Z4(t){const a=new Set;return(function n(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i===void 0)return;if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);let u,h;if(Array.isArray(i)){for(h="[",u=0;u${a}`}function w21(){let t="";return Ad.forEach(((a,n)=>{const i=2*n,u=Ld.slice(i,i+2);u.length===2&&(t+=`${a}${u[1]}${u[0]}`)})),U8(0,`${t}`)}function C21(){const t=[];return Ad.forEach(((a,n)=>{const i=2*n,u=Ld.slice(i,i+2);u.length===2&&t.push(U8(0,`${a}${u[1]}${u[0]}`))})),t}const S21={audio:async function(){return Io?(async function(){return new Promise(((t,a)=>{try{const n=new Io(1,5e3,44100),i=n.createBufferSource(),u=n.createOscillator();u.frequency.value=1e3;const h=n.createDynamicsCompressor();let d;h.threshold.value=-50,h.knee.value=40,h.ratio.value=12,h.attack.value=0,h.release.value=.2,u.connect(h),h.connect(n.destination),u.start(),n.oncomplete=v=>{d=v.renderedBuffer.getChannelData(0),t({sampleHash:o21(d),maxChannels:n.destination.maxChannelCount,channelCountMode:i.channelCountMode})},n.startRendering()}catch(n){a(n)}}))})():null},canvas:async function(){return new Promise((t=>{const a=Array.from({length:3},(()=>(function(){const n=document.createElement("canvas"),i=n.getContext("2d");if(!i)return null;n.width=$o,n.height=20;const u=i.createLinearGradient(0,0,n.width,n.height);u.addColorStop(0,"red"),u.addColorStop(.16666666666666666,"orange"),u.addColorStop(.3333333333333333,"yellow"),u.addColorStop(.5,"green"),u.addColorStop(.6666666666666666,"blue"),u.addColorStop(.8333333333333334,"indigo"),u.addColorStop(1,"violet"),i.fillStyle=u,i.fillRect(0,0,n.width,n.height);const h="Random Text WMwmil10Oo";return i.font="23.123px Arial",i.fillStyle="black",i.fillText(h,-5,15),i.fillStyle="rgba(0, 0, 255, 0.5)",i.fillText(h,-3.3,17.7),i.beginPath(),i.moveTo(0,0),i.lineTo(2*n.width/7,n.height),i.strokeStyle="white",i.lineWidth=2,i.stroke(),i.getImageData(0,0,n.width,n.height)})())).filter((n=>n!==null));a.length!==0?t({commonPixelsHash:B4(Po(a,$o,20).data.toString()).toString()}):t(null)}))},fonts:async function(t){return new Promise((a=>{try{Hd((async({iframe:n})=>{const i=n.createElement("canvas").getContext("2d");if(!i)return void a(null);const u=f21.map((d=>Zo(i,d)));let h={};d21.forEach((d=>{const v=Zo(i,d);u.includes(v)||(h[d]=v)})),a(h)}))}catch{a(null)}}))},hardware:function(){return new Promise(((t,a)=>{const n=navigator.deviceMemory!==void 0?navigator.deviceMemory:0,i=window.performance&&window.performance.memory?window.performance.memory:0;t({videocard:m21(),architecture:v21(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:i.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((t=>{t({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((t=>{t({acos:Math.acos(.5),asin:_t(Math.asin,-1,1,97),cos:_t(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:_t(Math.sin,-Math.PI,Math.PI,97),tan:_t(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(t){const a=t?.permissions_to_check||g21;return p21(await Promise.all(Array.from({length:3},(()=>(async function(n){const i={};for(const u of n)try{const h=await navigator.permissions.query({name:u});i[u]=h.state.toString()}catch{}return i})(a)))),a)},plugins:async function(){const t=[];if(navigator.plugins)for(let a=0;a{a({plugins:t})}))},screen:function(){return new Promise((t=>{if(typeof matchMedia>"u"||typeof screen>"u")return void t(null);const a={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:x21()};Yo()&&navigator.maxTouchPoints>0&&(a.resolution=(function(){const n=window.screen.width,i=window.screen.height,u=Math.max(n,i).toString(),h=Math.min(n,i).toString();return`${u}x${h}`})()),t(a)}))},system:function(){return new Promise((t=>{const a=Fe();t({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:a.name,version:a.version},mobile:Yo(),applePayVersion:z21(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){const t=y21?(_8||(_8=Qo()),_8):Qo();if(!t)return{webgl:"unsupported"};try{const a=Array.from({length:b21},(()=>(function(n){const{canvas:i,gl:u,program:h,buffer:d}=n;try{u.useProgram(h),u.bindBuffer(u.ARRAY_BUFFER,d);const v=u.getAttribLocation(h,"position");u.enableVertexAttribArray(v),u.vertexAttribPointer(v,2,u.FLOAT,!1,0,0),u.viewport(0,0,i.width,i.height),u.clearColor(0,0,0,1),u.clear(u.COLOR_BUFFER_BIT),u.drawArrays(u.LINES,0,274);const p=new Uint8ClampedArray(i.width*i.height*4);return u.readPixels(0,0,i.width,i.height,u.RGBA,u.UNSIGNED_BYTE,p),new ImageData(p,i.width,i.height)}catch{return _8=null,new ImageData(1,1)}finally{u.bindBuffer(u.ARRAY_BUFFER,null),u.useProgram(null),u.viewport(0,0,u.drawingBufferWidth,u.drawingBufferHeight),u.clearColor(0,0,0,0)}})(t)));return{commonPixelsHash:B4(Po(a,t.canvas.width,t.canvas.height).data.toString()).toString()}}catch{return{webgl:"unsupported"}}},webrtc:async function(t){return new Promise((a=>{let n;try{const i=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!i)return void a({supported:!1,error:"WebRTC not supported"});n=new i({iceCandidatePoolSize:1,iceServers:[]});const u=n;u.createDataChannel(""),(async()=>{try{const h={offerToReceiveAudio:!0,offerToReceiveVideo:!0},d=await u.createOffer(h);await u.setLocalDescription(d);const v=d.sdp||"",p=[...new Set((v.match(/extmap:\d+ [^\n\r]+/g)||[]).map((S=>S.replace(/extmap:\d+ /,""))))].sort(),x=S=>{const C=v.match(new RegExp(`m=${S} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return C?C[1].split(" "):[]},g=(S,C)=>C.map((B=>{const A=new RegExp(`(rtpmap|fmtp|rtcp-fb):${B} (.+)`,"g"),H=[...v.matchAll(A)];if(!H.length)return null;const j={};return H.forEach((_=>{const[F,N,V]=_,R=V.split("/");N==="rtpmap"?(j.mimeType=`${S}/${R[0]}`,j.clockRate=+R[1],S==="audio"&&(j.channels=+R[2]||1)):N==="rtcp-fb"?(j.feedbackSupport=j.feedbackSupport||[],j.feedbackSupport.push(V)):N==="fmtp"&&(j.sdpFmtpLine=V)})),j})).filter(Boolean),b=g("audio",x("audio")),y=g("video",x("video")),M={audio:{count:b.length,hash:B4(Z4(b))},video:{count:y.length,hash:B4(Z4(y))},extensionsHash:B4(Z4(p))};u.close();const L={supported:!0,...M,candidateType:"host"};a({details:L,hash:B4(Z4(L))})}catch(h){u.close(),a({supported:!0,error:`WebRTC offer failed: ${h.message}`})}})()}catch(i){n?.close(),a({supported:!1,error:`WebRTC error: ${i.message}`})}}))},speech:async function(){return new Promise((t=>{try{if(typeof window>"u"||!window.speechSynthesis||typeof window.speechSynthesis.getVoices!="function")return void t({supported:!1,error:"Speech Synthesis API not supported"});let a=!1,n=null;const i=d=>{if(!a){a=!0,n&&clearTimeout(n);try{const v=d.map((x=>{const g=b=>b.replace(/\\/g,"\\\\").replace(/,/g,"\\,");return[g(x.voiceURI||""),g(x.name||""),g(x.lang||""),x.localService?"1":"0",x.default?"1":"0"].join(",")}));v.sort();const p={voiceCount:d.length,voicesHash:B4(Z4(v))};t({details:p,hash:B4(Z4(p))})}catch(v){t({supported:!0,error:`Voice processing failed: ${v.message}`})}}},u=window.speechSynthesis.getVoices();if(u.length>0)return void i(u);n=setTimeout((()=>{const d=window.speechSynthesis.getVoices();i(d)}),800);const h=()=>{window.speechSynthesis.removeEventListener("voiceschanged",h);const d=window.speechSynthesis.getVoices();i(d)};window.speechSynthesis.addEventListener("voiceschanged",h)}catch(a){t({supported:!1,error:`Speech Synthesis error: ${a.message}`})}}))}},H21={mathml:async function(){return new Promise((t=>{try{Hd((async({iframe:a})=>{try{if(!(function(d){try{const v=d.createElement("math");v.innerHTML="x",v.style.position="absolute",v.style.visibility="hidden",d.body.appendChild(v);const p=v.getBoundingClientRect();return d.body.removeChild(v),p.width>0&&p.height>0}catch{return!1}})(a))return void t({supported:!1,error:"MathML not supported"});const n=[U8("integral","abf(x)g(x)dx"),U8("fraction","π×r22σ"),U8("matrix","[αβγδ]"),w21(),...C21()],i=[];let u="";n.forEach(((d,v)=>{const p=(function(x,g){try{const b=g.createElement("math");b.innerHTML=x.replace(/<\/?math>/g,""),b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.visibility="hidden",b.style.top="-9999px",g.body.appendChild(b);const y=b.getBoundingClientRect(),M=(g.defaultView||window).getComputedStyle(b),L={dimensions:{width:y.width,height:y.height},fontInfo:{fontFamily:M.fontFamily,fontSize:M.fontSize,fontWeight:M.fontWeight,fontStyle:M.fontStyle,lineHeight:M.lineHeight,fontVariant:M.fontVariant||"normal",fontStretch:M.fontStretch||"normal",fontSizeAdjust:M.fontSizeAdjust||"none",textRendering:M.textRendering||"auto",fontFeatureSettings:M.fontFeatureSettings||"normal",fontVariantNumeric:M.fontVariantNumeric||"normal",fontKerning:M.fontKerning||"auto"}};return g.body.removeChild(b),L}catch(b){return{error:b.message}}})(d,a);i.push({width:p.dimensions.width,height:p.dimensions.height}),v===0&&p.fontInfo&&(u=B4(Z4(p.fontInfo)))}));const h={fontStyleHash:u,dimensions:i};t({details:h,hash:B4(Z4(h))})}catch(n){t({supported:!1,error:`MathML error: ${n.message}`})}}))}catch(a){t({supported:!1,error:`MathML error: ${a.message}`})}}))}},A21={},L21={timeout:"true"};function Vd(t,a){var n,i;let u=Fe();if(u.name==="unknown"&&a){const x=(n=a.system)===null||n===void 0?void 0:n.browser;x?.name&&(u={name:String(x.name),version:String(x.version||"unknown")})}const h=u.name.toLowerCase(),d=parseInt(u.version.split(".")[0]||"0",10),v=Array.isArray(t?.exclude)?[...t.exclude]:[],p=[...new Set([...t?.stabilize||[],"always"])];for(const x of p){const g=s21[x];if(g)for(const b of g)"browsers"in b&&!(!((i=b.browsers)===null||i===void 0)&&i.some((y=>{const M=y.match(/(.+?)(>=)(\d+)/);return M?h===M[1]&&d>=+M[3]:h===y})))||v.push(...b.exclude)}return v}function Bd(t,a){const n=Vd(a,t),i=Array.isArray(a?.include)?a.include:[];return(function u(h,d=""){const v={};for(const[p,x]of Object.entries(h)){const g=d?`${d}.${p}`:p;if(typeof x!="object"||Array.isArray(x)||x===null){const b=n.some((M=>g.startsWith(M))),y=i.some((M=>g.startsWith(M)));b&&!y||(v[p]=x)}else{const b=u(x,g);Object.keys(b).length>0&&(v[p]=b)}}return v})(t)}const Nd="visitor_id";function jd(t){return t.storage_property_name?t.storage_property_name:t.property_name_factory(Nd)}const Xo=`${Cd}_${Nd}`;function kd(t,a){try{localStorage.setItem(jd(a),t)}catch{}}const Fd="cache";function ua(t){try{const a=localStorage.getItem(t.property_name_factory(Fd));return JSON.parse(a)||{}}catch{}return{}}function V21(t){return t.cache_lifetime_in_ms>Uo?Date.now()+Uo:Date.now()+t.cache_lifetime_in_ms}class ge extends Error{constructor(a){super(`HTTP error! status: ${a}`),this.status=a}}let k8=null,ha=null;async function B21(t,a,n,i){const u=n.simple_request?{"Content-Type":"text/plain"}:{"x-api-key":n.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},h=await fetch(t,{method:"POST",headers:u,body:JSON.stringify(a)});if(!h.ok)throw new ge(h.status);const d=await h.json();return d.visitorId&&d.visitorId!==i&&kd(d.visitorId,n),ha=d,(function(v,p){!v.cache_api_call||!v.cache_lifetime_in_ms||(function(x,g){const b={...ua(x),...g};try{localStorage.setItem(x.property_name_factory(Fd),JSON.stringify(b))}catch{}})(v,{apiResponseExpiry:V21(v),apiResponse:p})})(n,d),d}const N21=(t,a)=>{if(t.cache_api_call){if(ha)return Promise.resolve(ha);const b=(function(y){const M=ua(y);if(M&&M.apiResponse&&M.apiResponseExpiry&&Date.now()<=M.apiResponseExpiry)return M.apiResponse})(t);if(b)return Promise.resolve(b);if(k8)return k8}const n=t.api_endpoint||Sd;let i;try{const b=new URL(n);i=b.pathname!=="/"||n.endsWith("/")?n:`${b.origin}/thumbmark`}catch{i=`${n}/thumbmark`}const u=(function(b){try{const y=jd(b);let M=localStorage.getItem(y);return M||y===Xo||(M=localStorage.getItem(Xo),M&&kd(M,b)),M}catch{return null}})(t),{api_key:h,...d}=t,v={components:a,options:d,clientHash:B4(Z4(a)),version:"1.10.0"};if(u&&(v.visitorId=u),t.metadata){const b=typeof t.metadata=="function"?t.metadata():t.metadata;b&&((typeof b=="string"?b.length:JSON.stringify(b).length)>1e3?console.error("ThumbmarkJS: Metadata exceeds 1000 characters. Skipping metadata."):v.metadata=b)}const p=t.timeout||5e3,x=(async function(b,y,M,L){for(let S=0;S<3;S++){S>0&&await new Promise((C=>setTimeout(C,200*S)));try{return await B21(b,y,M,L)}catch(C){if(C instanceof ge||S===2)throw C}}throw new Error("Unreachable")})(i,v,t,u).finally((()=>{k8=null})),g=new Promise((b=>{setTimeout((()=>{const y=ua(t);b(y?.apiResponse||{info:{timed_out:!0},...u&&{visitorId:u}})}),p)}));return k8=Promise.race([x,g]),k8};async function j21(t,a={}){var n,i;if(typeof document>"u"||typeof window>"u")return{thumbmark:"",components:{},info:{},version:"1.10.0",error:[{type:"fatal",message:"Browser environment required"}]};try{const u={...Ja,...t},h=[],d=u.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,v={...S21,...A21,...a},{elapsed:p,resolvedComponents:x,errors:g,pipelineTimings:b}=await Wo(v,u);h.push(...g);let y={},M={},L={};if(d||u.experimental){const{elapsed:E,resolvedComponents:I,errors:Z,pipelineTimings:t1}=await Wo(H21,u);y=I,M=E,L=t1,h.push(...Z)}const S=u.api_key||u.simple_request?N21(u,x):null;let C=null;if(S)try{C=await S}catch(E){if(E instanceof ge&&E.status===403)return{error:[{type:"api_unauthorized",message:"Invalid API key or quota exceeded"}],components:{},info:{},version:"1.10.0",thumbmark:""};h.push({type:E instanceof ge?"api_error":"network_error",message:E instanceof Error?E.message:String(E)})}!((n=C?.info)===null||n===void 0)&&n.timed_out&&h.push({type:"api_timeout",message:"API request timed out"});const B=performance.now(),A=Bd(C?.components||{},u),H=performance.now()-B,j={...x,...A},_=C?.info||{uniqueness:{score:"api only"}};let F,N=0,V=0;if(C?.thumbmark)F=C.thumbmark;else{const E=performance.now(),I=Z4(j);N=performance.now()-E;const Z=performance.now();F=B4(I),V=performance.now()-Z}const R="1.10.0";d&&(async function(E,I,Z,t1={},h1=[]){var T;const O=`${Sd}/log`,K={thumbmark:E,components:I,experimental:t1,version:"1.10.0",options:Z,path:(T=window?.location)===null||T===void 0?void 0:T.pathname,...h1.length>0&&{errors:h1}};sessionStorage.setItem("_tmjs_l","1");try{await fetch(O,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(K)})}catch{}})(F,j,u,y,h).catch((()=>{}));const q=(i=L["_pipeline.filter"])!==null&&i!==void 0?i:0,$={"_pipeline.dispatch":b["_pipeline.dispatch"],"_pipeline.resolve":b["_pipeline.resolve"],"_pipeline.filter":b["_pipeline.filter"]+q+H,"_pipeline.stringify":N,"_pipeline.hash":V,"_pipeline.assembly":0},D={...p,...M,...b,...$},W=u.performance?{elapsed:D}:{},n1=performance.now(),Y={...C?.visitorId&&{visitorId:C.visitorId},thumbmark:F,components:j,info:_,version:R,...W,...h.length>0&&{error:h},...Object.keys(y).length>0&&u.experimental&&{experimental:y},...C?.requestId&&{requestId:C.requestId},...C?.metadata&&{metadata:C.metadata}};return D["_pipeline.assembly"]=performance.now()-n1,Y}catch(u){return{thumbmark:"",components:{},info:{},version:"1.10.0",error:[{type:"fatal",message:u instanceof Error?u.message:String(u)}]}}}async function Wo(t,a){const n={...Ja,...a},i=Vd(n).filter((H=>!H.includes("."))),u=Object.entries(t).filter((([H])=>{var j;return!(!((j=n?.exclude)===null||j===void 0)&&j.includes(H))})).filter((([H])=>!i.includes(H))).filter((([H])=>{var j,_,F,N;return!((j=n?.include)===null||j===void 0)&&j.some((V=>V.includes(".")))?(_=n?.include)===null||_===void 0?void 0:_.some((V=>V.startsWith(H))):((F=n?.include)===null||F===void 0?void 0:F.length)===0||((N=n?.include)===null||N===void 0?void 0:N.includes(H))})),h=u.map((([H])=>H)),d={},v=performance.now(),p=u.map((([H,j])=>{const _=performance.now(),F=j(a);return d[`_dispatch.${H}`]=performance.now()-_,F})),x=performance.now()-v,g=performance.now(),b=await(function(H,j,_){return Promise.all(H.map((F=>{const N=performance.now();let V;const R=F.then(($=>(V!==void 0&&clearTimeout(V),{value:$,elapsed:performance.now()-N}))).catch(($=>(V!==void 0&&clearTimeout(V),{value:_,elapsed:performance.now()-N,error:$ instanceof Error?$.message:String($)}))),q=new Promise(($=>{V=setTimeout((()=>{$({value:_,elapsed:performance.now()-N,error:"timeout"})}),j)}));return Promise.race([R,q])})))})(p,n?.timeout||5e3,L21),y=performance.now()-g,M={},L={},S=[];b.forEach(((H,j)=>{var _;const F=h[j];M[F]=(_=H.elapsed)!==null&&_!==void 0?_:0,H.error==="timeout"?S.push({type:"component_timeout",message:`Component '${F}' timed out`,component:F}):H.error&&S.push({type:"component_error",message:H.error,component:F}),H.value!=null&&(L[F]=H.value)}));const C=performance.now(),B=Bd(L,n),A={"_pipeline.dispatch":x,"_pipeline.resolve":y,"_pipeline.filter":performance.now()-C,...d};return{elapsed:M,resolvedComponents:B,errors:S,pipelineTimings:A}}async function k21(t){try{const a=await j21(i21);return t?{hash:a.thumbmark.toString(),data:a.components}:a.thumbmark.toString()}catch(a){throw a}}let kc=null;function F21(t){const a=String(t||"").trim().toLowerCase();if(!a)return"";const i=(a.startsWith("tm_")?a.slice(3):a).replace(/[^a-z0-9_-]/g,"");return i?`tm_${i}`:""}async function R21(){return typeof window>"u"?"":(kc||(kc=Promise.resolve().then(()=>k21()).then(F21).catch(t=>(console.warn("Failed to calculate browser fingerprint",t),""))),kc)}function R0({identitySurface:t="passive"}={}){const a=N2(),n=o1(F=>F.connected),{identifySession:i}=O2(),{value:u,status:h,save:d}=I1("identity",{cookieUserId:""}),{value:v,status:p}=I1("profile",{nickname:""}),{value:x,status:g}=I1("overseerPreference",{enabled:!1}),b=m.useRef(!1),y=m.useRef(null),M=m.useRef(null),L=m.useRef(""),S=h==="ready"&&p==="ready"&&g==="ready",C=(u?.cookieUserId||"").trim(),B=(v?.nickname||"").trim(),A=!!x?.enabled,H=t==="driver"?"driver":"passive",j=m.useCallback(()=>{M.current&&(clearTimeout(M.current),M.current=null)},[]),_=m.useCallback(async()=>{if(!(!S||!n||!a?.id||b.current)){b.current=!0;try{L.current||(L.current=await R21());const N=((await i({cookieUserId:C,fingerprintId:L.current,nickname:B,overseerEnabled:A,identitySurface:H}))?.cookieUserId||"").trim();N&&N!==C&&d(V=>({...V||{},cookieUserId:N})),y.current=a.id,j()}catch{j(),M.current=setTimeout(()=>{_()},2e3)}finally{b.current=!1}}},[j,n,C,i,H,B,A,S,d,a?.id]);m.useEffect(()=>{!S||!n||!a?.id||y.current!==a.id&&_()},[n,S,_,a?.id]),m.useEffect(()=>{!S||!n||!a?.id||_()},[S,n,a?.id,C,B,A,H,_]),m.useEffect(()=>{const F=()=>{a?.connected&&_()},N=()=>{typeof document>"u"||document.visibilityState!=="visible"||a?.connected&&_()};return window.addEventListener("online",F),document.addEventListener("visibilitychange",N),()=>{window.removeEventListener("online",F),document.removeEventListener("visibilitychange",N)}},[_,a?.connected]),m.useEffect(()=>{if(!S||!a?.connected)return;const F=setInterval(()=>{a?.connected&&_()},6e4);return()=>clearInterval(F)},[S,_,a?.connected]),m.useEffect(()=>()=>j(),[j])}const Fc=1e4,Rc=28,E21=14;function T21(t){const a=String(t||"").trim(),n=a.startsWith("#")?a.slice(1):a;if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$/.test(n))return null;const i=n.length===3?n.split("").map(u=>u+u).join(""):n;return{r:Number.parseInt(i.slice(0,2),16),g:Number.parseInt(i.slice(2,4),16),b:Number.parseInt(i.slice(4,6),16)}}function Jo(t,a){return`rgba(${t.r}, ${t.g}, ${t.b}, ${a})`}function xe({layout:t="desktop",className:a="",dismissable:n=!0}){const i=o1(j=>{const _=j.session?.globalObjective?.text;return _?String(_).trim():""}),u=o1(j=>{const _=String(j.session?.assignment?.roverId||"").trim();return _&&(Array.isArray(j.session?.roster)?j.session.roster:[]).find(V=>String(V?.id)===_)?.color||null}),h=t==="mobile-portrait"||t==="mobile-landscape"||t==="mobile",[d,v]=m.useState(!1),[p,x]=m.useState(Rc),[g,b]=m.useState(0),y=m.useRef(null),M=m.useRef(null),L=m.useRef(null);m.useEffect(()=>{if(!i){v(!1);return}if(v(!0),!h||!n)return;const j=Date.now();b(Fc);const _=setTimeout(()=>v(!1),Fc),F=setInterval(()=>{const N=Date.now()-j;b(Math.max(0,Fc-N))},250);return()=>{clearTimeout(_),clearInterval(F)}},[i,h]),m.useEffect(()=>{if(!i)return;x(Rc);let j=0;const _=()=>{const N=L.current,V=M.current;if(!N||!V)return;const R=N.clientWidth;if(!R)return;const q=V.scrollWidth;if(!q)return;const $=Math.min(1,R/q),D=Math.max(E21,Math.floor(Rc*$));x(D)};j=window.requestAnimationFrame(_);const F=new ResizeObserver(()=>{window.cancelAnimationFrame(j),j=window.requestAnimationFrame(_)});return y.current&&F.observe(y.current),()=>{window.cancelAnimationFrame(j),F.disconnect()}},[i]);const S=m.useMemo(()=>["panel-section flex w-full items-center justify-center border border-neutral-500/60 shadow-[0_1px_0_rgba(255,255,255,0.05)_inset,0_10px_24px_rgba(0,0,0,0.28)]",h?"rounded-none":"rounded","px-1 py-1 text-center font-semibold tracking-tight",a].filter(Boolean).join(" "),[a,h]),C=T21(u),B=C?{borderColor:Jo(C,.35),backgroundImage:`linear-gradient(90deg, rgba(23,23,23,0.96) 0%, rgba(38,38,38,0.94) 58%, ${Jo(C,.18)} 100%)`}:void 0;if(!i||!d)return null;const A=h?Math.ceil(g/1e3):null,H=n?{onClick:()=>v(!1),role:"button",tabIndex:0}:{};return r.jsx("div",{ref:y,className:S,style:{...B||{},fontSize:`${p}px`,lineHeight:1.1},...H,children:r.jsxs("span",{className:"flex w-full items-stretch gap-0.5 whitespace-nowrap rounded-md",children:[r.jsxs("span",{className:"flex flex-col justify-center border-r border-slate-700/60 px-0.5 text-[0.55em] font-semibold leading-tight text-slate-400",children:[r.jsx("span",{children:"Global"}),r.jsx("span",{children:"Objective"})]}),r.jsx("span",{ref:L,className:"flex-1 overflow-hidden text-slate-100",children:r.jsx("span",{ref:M,className:"block",children:i})}),h?r.jsxs("span",{className:"flex items-center border-l border-slate-700/60 px-0.5 text-[0.55em] font-semibold uppercase tracking-wide text-slate-400",children:[A,"s"]}):null]})})}const _21=3200;function q21(t={}){const a=typeof t.rewardName=="string"&&t.rewardName.trim()?t.rewardName.trim():"Unknown Event",n=Number.isFinite(Number(t.goal))?Math.max(1,Math.floor(Number(t.goal))):0,i=Number.isFinite(Number(t.count))?Math.max(0,Math.floor(Number(t.count))):n;return{rewardName:a,goal:n,count:i,ts:Date.now()}}function tn(){const t=N2(),{value:a}=I1("audio",y2),n=Number.isFinite(a?.masterVolume)?a.masterVolume:y2.masterVolume,i=Number.isFinite(a?.alertVolume)?a.alertVolume:y2.alertVolume,u=Math.max(0,Math.min(1,n*i)),[h,d]=m.useState(null),v=m.useRef(null);return m.useEffect(()=>{v.current=new Audio("/tada.mp3"),v.current.volume=u,v.current.load()},[u]),m.useEffect(()=>{let p=null;function x(){const y=v.current;y&&(y.volume=u,y.currentTime=0,y.play().catch(()=>{}))}function g(y={}){const M=q21(y);d(M),x(),p&&clearTimeout(p),p=setTimeout(()=>{d(null)},_21)}function b(y){g(y?.detail||{})}return t.on("buttonBox:rewardRun",g),window.addEventListener("buttonBox:rewardRunLocalTest",b),()=>{p&&clearTimeout(p),t.off("buttonBox:rewardRun",g),window.removeEventListener("buttonBox:rewardRunLocalTest",b)}},[u,t]),h?r.jsx("div",{className:"pointer-events-none fixed inset-0 z-[120] flex items-center justify-center bg-black/75 px-1 py-1",children:r.jsx("div",{className:"pointer-events-auto w-full max-w-2xl",children:r.jsx("div",{className:"surface rounded-none border-2 border-cyan-300 bg-amber-100/95 px-1 py-1 text-center text-black shadow-2xl",children:r.jsxs("div",{className:"flex items-center justify-center gap-1 border-2 border-blue-600 bg-yellow-100 px-0.5 py-1",children:[r.jsx("img",{src:"/party1.gif",alt:"",className:"hidden shrink-0 sm:block"}),r.jsxs("div",{children:[r.jsxs("p",{className:"font-mono text-2xl font-bold text-red-700 sm:text-3xl",children:["Running event: ",h.rewardName,"!"]}),r.jsxs("p",{className:"font-mono text-xl font-bold text-blue-800 sm:text-2xl",children:[h.count,"/",h.goal]})]}),r.jsx("img",{src:"/party2.gif",alt:"",className:"hidden shrink-0 sm:block"})]})})})}):null}const D21=4e3;function tu(...t){return t.filter(Boolean).join(" ")}function en(){const t=N2(),[a,n]=m.useState(!!t?.connected),[i,u]=m.useState(""),[h,d]=m.useState(!0),[v,p]=m.useState(!1),x=m.useRef(null);m.useEffect(()=>{const L=()=>{x.current&&(clearTimeout(x.current),x.current=null)},S=()=>{L(),d(!0),p(!1)},C=()=>{L(),x.current=setTimeout(()=>{p(!0)},D21)},B=()=>{n(!0),u(""),S(),C(),u1("socket_connect",{connected:!0})},A=_=>{n(!1),u(typeof _=="string"?_:"disconnected"),S(),x3("socket_disconnect",{reason:typeof _=="string"?_:"disconnected"},{key:`disconnect:${_||"unknown"}`,throttleMs:3e4})},H=_=>{n(!1),u(_?.message||"connect error"),S(),x3("socket_connect_error",{message:_?.message||"connect error"},{key:`connect_error:${_?.message||"unknown"}`,throttleMs:3e4})},j=()=>{n(!1),S(),x3("socket_reconnect_attempt",{connected:!1},{key:"socket_reconnect_attempt",throttleMs:3e4})};return t.on("connect",B),t.on("disconnect",A),t.on("connect_error",H),t.io.on("reconnect_attempt",j),t.connected&&C(),()=>{L(),t.off("connect",B),t.off("disconnect",A),t.off("connect_error",H),t.io.off("reconnect_attempt",j)}},[t]);const g=typeof navigator<"u"?navigator.onLine===!1:!1,b=a?"Connected to socket.io":g?"Offline":"Reconnecting...",y=a?"":i,M=a?"bg-emerald-700 text-emerald-100":g?"bg-red-800 text-red-100":"bg-amber-800 text-amber-100";return r.jsx("div",{className:tu("fixed bottom-2 left-2 z-[120] transition-opacity duration-500",!h&&"hidden",v?"opacity-0 pointer-events-none":"opacity-100"),"aria-live":"polite",children:r.jsxs("div",{className:tu("rounded-sm px-2 py-1 text-xs",M),children:[r.jsx("span",{className:"font-semibold",children:b}),y?r.jsxs("span",{className:"ml-1 opacity-85",children:["(",y,")"]}):null]})})}function O21(){const t=o1(n=>n.duplicateIdentityBlock);if(!t)return null;const a=typeof t?.message=="string"&&t.message.trim()?t.message.trim():"This driver session is already active in another tab.";return r.jsx("div",{className:"pointer-events-auto fixed inset-0 z-[2000] flex items-center justify-center bg-black px-0.5 py-0.5 text-slate-100",children:r.jsx("section",{className:"surface w-full max-w-md space-y-0.5 text-center shadow-2xl",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("h1",{className:"text-lg font-semibold text-white",children:"Another driver tab is already open"}),r.jsx("p",{className:"text-sm text-slate-300",children:a})]})})})}function U21(){const[t,a]=m.useState(()=>typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait");return m.useEffect(()=>{function n(){if(typeof window>"u")return;const{innerWidth:i,innerHeight:u}=window;i>=1024?a("desktop"):i>u?a("mobile-landscape"):a("mobile-portrait")}return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t}function I21({layout:t,onOpenHelpOverlay:a}){return r.jsxs("div",{className:`flex h-full ${A2} overflow-hidden`,children:[r.jsxs("div",{className:`flex min-w-0 flex-[1.22] flex-col ${A2} overflow-y-auto pr-0`,children:[r.jsx($a,{}),r.jsx(Cx,{})]}),r.jsxs("div",{className:`flex min-w-0 flex-1 flex-col ${A2} overflow-y-auto`,children:[r.jsx(xe,{layout:t}),r.jsx(D11,{layout:t,onOpenHelpOverlay:a})]})]})}function Rd({layout:t,onOpenHelpOverlay:a,roomPanelId:n}){const[i,u]=m.useState("chat"),h=o1(B=>!!B.session?.isVerified),d=o1(B=>String(B.session?.assignment?.roverId||"").trim()),v=o1(B=>{const A=String(B.session?.assignment?.roverId||"").trim();return A&&B.session?.audioForward?.[A]||null}),p=_1(B=>!!B.state.mic?.pttActive),{value:x}=I1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),g=h?"bg-emerald-400":"bg-amber-400",b=!!x?.openMicEnabled,y=x?.pttMode==="clip"?"clip":"live",M=!!(d&&h&&(y==="clip"?p:b||p)),L=!!(d&&h&&y==="clip"&&v?.source==="upload"&&v?.state==="playing"),S=o1(B=>!!B.session?.overseerVote?.votingEnabled),C=m.useCallback(B=>{u(B),u1("tab_change",{tab:B,layout:t,surface:"mobile_features"})},[t]);return r.jsx("section",{className:"text-base",children:r.jsxs(Le,{defaultTab:"chat",currentTab:i,onTabChange:C,children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"chat",children:"Chat"}),r.jsx(q2,{id:"activities",children:"Activities"}),r.jsx(q2,{id:"vip",highlight:L?"green":M?"pink":"none",children:r.jsxs("span",{className:"inline-flex items-center gap-0.5",children:[r.jsx("span",{children:"VIP"}),r.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${g}`,"aria-hidden":"true",title:h?"Verified":"Not verified"})]})}),r.jsx(q2,{id:"roomcontrols",children:"Room Controls"}),r.jsx(q2,{id:"help",children:"Help"}),r.jsx(q2,{id:"settings",children:"Settings"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"chat",children:r.jsxs("div",{className:w6,children:[r.jsx(n5,{nicknameLayout:"stacked"}),r.jsxs("div",{className:w6,children:[r.jsx("div",{className:`grid ${A2} md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:r.jsx(Qa,{})}),r.jsxs("div",{className:`grid ${A2} ${S?"grid-cols-[minmax(0,1fr)_minmax(0,1fr)]":"grid-cols-[minmax(0,1fr)]"}`,children:[S?r.jsx(wd,{}):null,r.jsx(me,{hideNicknameForm:!0})]})]})]})}),r.jsx(D2,{id:"activities",children:r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsx(Md,{}),r.jsx(bd,{}),r.jsx(pd,{}),r.jsx(zd,{}),r.jsx(pe,{}),r.jsx(Oh,{})]})}),r.jsx(D2,{id:"vip",keepMounted:!0,children:r.jsx(fd,{isActive:i==="vip"})}),r.jsx(D2,{id:"roomcontrols",children:r.jsxs("div",{className:w6,children:[r.jsx(Jh,{}),r.jsx(Ia,{panelId:n})]})}),r.jsx(D2,{id:"help",children:r.jsx(sd,{layout:t,onOpenOverlay:a})}),r.jsx(D2,{id:"settings",children:r.jsx("div",{className:w6,children:r.jsx(rd,{})})})]})]})})}function P21({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){const n="h-[min(60svh,24rem)]",i=a?r.jsx(de,{layout:"portrait",className:n}):r.jsx(he,{layout:"portrait",className:n}),u=a?r.jsx(he,{layout:"portrait",className:n}):r.jsx(de,{layout:"portrait",className:n});return r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsx($a,{layoutFormat:"mobile-portrait"}),r.jsx("section",{className:"mobile-touch-control text-white",children:r.jsxs("div",{className:"mobile-touch-control grid grid-cols-2 gap-0.5 items-stretch",children:[i,u]})}),r.jsxs("div",{className:`grid ${A2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[r.jsx(ka,{panelId:"replay-sources-mobile-portrait"}),r.jsx(ke,{})]}),r.jsx(Rd,{layout:"mobile-portrait",onOpenHelpOverlay:t,roomPanelId:"mobile-portrait-room"})]})}function $21({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){const n="self-start h-[min(100svh,32rem)]",i=a?r.jsx(de,{layout:"landscape",className:n}):r.jsx(he,{layout:"landscape",className:n}),u=a?r.jsx(he,{layout:"landscape",className:n}):r.jsx(de,{layout:"landscape",className:n});return r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsxs("section",{className:`grid min-h-screen grid-cols-[minmax(0,0.7fr)_minmax(0,2.1fr)_minmax(0,0.7fr)] ${A2}`,children:[i,r.jsxs("div",{children:[r.jsx($a,{layoutFormat:"mobile-landscape"}),r.jsxs("div",{className:`grid ${A2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[r.jsx(ka,{panelId:"replay-sources-mobile-landscape"}),r.jsx(ke,{})]})]}),u]}),r.jsx("div",{className:`flex flex-col ${A2} pb-0`,children:r.jsx(Rd,{layout:"mobile-landscape",onOpenHelpOverlay:t,roomPanelId:"mobile-landscape-room"})})]})}function Z21(){const t=U21(),a=t==="desktop",n=J11(t);return r.jsx("div",{className:`${td} text-slate-100 ${a?"h-screen overflow-hidden":"ios-safe-screen min-h-screen"}`,children:r.jsx(G21,{layout:t,isDesktop:a,fullscreen:n})})}function G21({layout:t,isDesktop:a,fullscreen:n}){l5(),R0({identitySurface:"driver"}),Ug({mobile:!a});const{visible:i,mode:u,isIOS:h,nativeSupported:d,enterFullscreen:v,dismiss:p,showPrompt:x}=n,{value:g,save:b}=I1("help",{showOnLoad:!0}),{value:y,status:M,save:L}=I1("quickstart",{showOnLoad:!0}),{value:S}=I1("page",{swapMobileControlColumns:!1}),C=!!S?.swapMobileControlColumns,B=C?"left":"right",A=!a&&(h||d),[H,j]=m.useState(!1),[_,F]=m.useState(!1);m.useEffect(()=>{M==="ready"&&F(y?.showOnLoad!==!1)},[M,y?.showOnLoad]),m.useEffect(()=>{i&&u1("fullscreen_prompt_show",{layout:t,mode:u})},[u,i,t]),m.useEffect(()=>{_&&u1("quickstart_open",{layout:t})},[t,_]);const N=m.useCallback(()=>{j(!0),u1("help_open",{layout:t,source:"panel"})},[t]),V=m.useCallback(()=>{j(!1),u1("help_close",{layout:t})},[t]),R=m.useCallback(()=>{F(!1),u1("quickstart_close",{layout:t})},[t]),q=m.useCallback(async()=>{if(h){u1("fullscreen_prompt_manual_open",{layout:t,mode:"pwa-hint",source:"floating_button"}),x();return}const E=await v();u1(E?"fullscreen_enter":"fullscreen_enter_failed",{layout:t,source:"floating_button"}),E||x()},[v,h,t,x]),$=m.useCallback(E=>{const I=!!E;L(Z=>({...Z??{},showOnLoad:I})),u1("quickstart_show_on_load_change",{layout:t,enabled:I}),I||F(!1)},[t,L]),D=m.useCallback(()=>{F(!1),j(!0),u1("help_open",{layout:t,source:"quickstart"})},[t]),W=m.useCallback(async()=>{const E=await v();return u1(E?"fullscreen_enter":"fullscreen_enter_failed",{layout:t,source:"prompt"}),E},[v,t]),n1=m.useCallback(()=>{p(),u1("fullscreen_dismiss",{layout:t,mode:u})},[p,u,t]),Y=m.useMemo(()=>a?r.jsx(I21,{layout:t,onOpenHelpOverlay:N}):t==="mobile-landscape"?r.jsx($21,{onOpenHelpOverlay:N,swapMobileControlColumns:C}):r.jsx(P21,{onOpenHelpOverlay:N,swapMobileControlColumns:C}),[a,t,N,C]);return r.jsxs(CK,{children:[r.jsx(IK,{}),r.jsx(eQ,{}),r.jsxs("main",{className:`flex w-full flex-col ${A2} text-base ${a?"h-full overflow-hidden":""}`,children:[a?null:r.jsx(xe,{layout:t}),Y]}),r.jsx(Ra,{}),r.jsx(O21,{}),r.jsx(tn,{}),r.jsx(Y11,{}),r.jsx($11,{}),r.jsx(en,{}),r.jsx(t21,{visible:H,layout:t,onClose:V,showOnLoad:g?.showOnLoad!==!1,onToggleShowOnLoad:E=>b(I=>({...I??{},showOnLoad:!!E}))}),r.jsx(K11,{visible:i,mode:u,onEnterFullscreen:W,onDismiss:n1}),r.jsx(a21,{visible:_,layout:t,showOnLoad:y?.showOnLoad!==!1,onToggleShowOnLoad:$,onOpenHelp:D,onClose:R}),A?r.jsx(Q11,{side:B,onClick:q}):null]})}function Re(){const{session:t,setRole:a,subscribeAll:n,connected:i}=N0(),[u,h]=m.useState(!1);return m.useEffect(()=>{let d=!1;async function v(){if(t?.mode==="lockdown"){h(!1);return}try{t?.role!=="spectator"&&await a("spectator"),await n(),d||h(!0)}catch(p){console.error("Failed to enter spectator mode",p),d||h(!1)}}return v(),()=>{d=!0}},[i,t?.mode,t?.role,a,n]),u}function Y21(){const[t,a]=m.useState(()=>typeof window>"u"?!1:window.matchMedia("(max-aspect-ratio: 4/3)").matches);return m.useEffect(()=>{if(typeof window>"u")return;const n=window.matchMedia("(max-aspect-ratio: 4/3)"),i=u=>a(u.matches);return n.addEventListener?n.addEventListener("change",i):n.addListener(i),()=>{n.removeEventListener?n.removeEventListener("change",i):n.removeListener(i)}},[]),t}function K21({show:t=!1,roverId:a=null,sensors:n,batteryConfig:i,mobileHud:u=!1}){const h=K3(a,Se,Ce),d=o1(g=>a?(g.session?.roster||[]).find(M=>String(M.id)===String(a))?.battery??null:null),v=n?{batteryChargeMah:n?.batteryChargeMah??null,batteryCapacityMah:n?.batteryCapacityMah??null}:h,p=i??d,x=a5({charge:v?.batteryChargeMah??null,config:p});return!t||!x?.available?null:r.jsx("div",{className:"pointer-events-none absolute right-1 top-1/2 flex h-[70%] -translate-y-1/2 flex-col items-center justify-center rounded bg-black/60 px-0.5 pb-1 pt-1",children:r.jsx(Ae,{visual:x,orientation:"vertical",variant:"inline",compact:u,className:"h-full w-4"})})}const Q21=s2.memo(K21);function X21({roverId:t=null,label:a,fitParent:n=!1,layoutFormat:i="desktop"}){return r.jsx("div",{className:`flex flex-col gap-0.5 ${n?"h-full":""}`,children:r.jsxs("div",{className:`relative w-full overflow-hidden bg-black ${n?"h-full flex-1":"aspect-[4/3]"}`,children:[r.jsx(G8,{roverId:t,label:a}),r.jsx(Kh,{roverId:t,variant:"spectator",mobileHud:!1}),r.jsx(Yh,{roverId:t,layoutFormat:i,variant:"spectator",mobileHud:!1,labelScale:1}),r.jsx(Qh,{roverId:t,compact:!1}),r.jsx(Xh,{roverId:t,compact:!1}),r.jsx(Q21,{show:!0,roverId:t,mobileHud:!1})]})})}function W21({rover:t}){return r.jsx("article",{className:"min-h-[16rem] rounded bg-zinc-900 p-0 sm:min-h-[18rem]",children:r.jsx("div",{className:"min-h-0 overflow-hidden rounded bg-black/20",children:r.jsx(X21,{roverId:t.id,label:t.name})})})}function J21({roster:t}){return t.length===0?r.jsx("p",{className:"col-span-full text-slate-400",children:"No rovers registered."}):r.jsx("section",{className:"grid grid-cols-1 gap-0.5 md:grid-cols-2",children:t.map(a=>r.jsx(W21,{rover:a},a.id))})}function t41(){return r.jsx("section",{className:"min-h-0",children:r.jsx("div",{className:"surface min-h-[14rem] overflow-hidden",children:r.jsx(Ia,{defaultOrientation:"horizontal",hideLayoutToggle:!0,hideHeader:!0,panelId:"spectator-secondary"})})})}function e41(){const t=N2(),a=o1(i=>i.logs),n=m.useMemo(()=>a.slice().reverse(),[a]);return m.useEffect(()=>{const i=()=>{t.emit("log:subscribe")};return i(),t.on("connect",i),()=>{t.off("connect",i),t.emit("log:unsubscribe")}},[t]),r.jsx(N1,{title:"Server logs",bodyClassName:"space-y-0.5 text-base",children:r.jsx("div",{className:"surface h-64 overflow-y-auto font-mono text-xs",children:a.length===0?r.jsx("p",{children:"No logs yet."}):n.map(i=>r.jsxs("div",{className:"surface",children:[r.jsx("span",{className:"text-amber-400",children:i.timestamp})," ",r.jsxs("span",{className:"text-lime-400",children:["[",i.level,"]"]})," ",i.label&&r.jsxs("span",{className:"text-teal-400",children:["[",i.label,"]"]})," ",r.jsx("span",{children:i.message})]},i.id))})})}function c41({className:t=""}){return r.jsx("div",{className:`panel ${t}`,children:r.jsx(e41,{})})}function a41(){const{session:t}=N0(),a=o1(b=>b.latestReplay),{clearLatestReplay:n}=O2(),i=t?.mode==="lockdown";l5(),R0(),Re();const u=Y21(),h=t?.roster??[];if(i)return r.jsx("div",{className:"flex min-h-screen items-center justify-center bg-black text-slate-200",children:r.jsxs("div",{className:"surface max-w-md space-y-0.5 p-1 text-center text-sm",children:[r.jsx("p",{className:"text-lg font-semibold text-white",children:"Spectate disabled during lockdown."}),r.jsx("p",{className:"text-slate-300",children:"Please wait until the server leaves lockdown to view streams."})]})});const d=u?"flex min-h-screen flex-col bg-black text-slate-100 md:h-screen md:overflow-hidden":"grid min-h-screen grid-cols-1 gap-0.5 bg-black text-slate-100 md:h-full md:min-h-0 md:grid-cols-[minmax(0,1fr)_18rem] lg:grid-cols-[minmax(0,1fr)_20rem]",v=u?"order-2 flex min-h-0 min-w-0 flex-1 flex-col gap-0.5 overflow-y-auto":"order-1 flex min-h-0 min-w-0 flex-col gap-0.5 md:overflow-y-auto",p=u?"order-1 grid w-full min-h-0 items-stretch gap-0.5 border-b border-slate-800/60 bg-slate-950/90 p-0.5 grid-cols-[minmax(0,1fr)_minmax(0,0.7fr)_minmax(0,1.9fr)_minmax(0,0.7fr)]":"order-2 flex min-h-0 min-w-0 flex-col gap-0.5 border-l border-slate-800/60 bg-slate-950/90 md:h-full md:overflow-y-auto",x="",g=u?"h-64":"";return r.jsxs("div",{className:"min-h-screen bg-black text-slate-100 md:h-screen md:overflow-hidden",children:[r.jsxs("main",{className:d,children:[r.jsxs("section",{className:p,children:[u?r.jsxs("div",{className:`${x} ${g} flex flex-col gap-0.5`,children:[r.jsx(xe,{layout:"desktop",dismissable:!1,className:"text-sm"}),r.jsx(pe,{}),r.jsx("div",{className:"min-h-0 flex-1",children:r.jsx(me,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})})]}):r.jsxs("div",{className:x,children:[r.jsx(xe,{layout:"desktop",dismissable:!1,className:"text-sm"}),r.jsx(pe,{})]}),r.jsx("div",{className:`${x} ${u?`${g} overflow-y-auto`:""}`,children:r.jsx("div",{className:"panel h-full",children:r.jsx(ke,{title:"Rovers"})})}),u?null:r.jsx("div",{className:`${x} flex-1 min-h-0`,children:r.jsx(me,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})}),r.jsx("div",{className:`${x} ${u?g:"flex-[1.1] min-h-0"}`,children:r.jsx(n5,{allowSpectatorInput:!0,hideSpectatorNotice:!0,fillHeight:!0})}),r.jsx("div",{className:`${x} ${u?g:""}`,children:r.jsx(c41,{className:`${u?"h-full":"h-40"} overflow-hidden`})})]}),r.jsxs("section",{className:v,children:[r.jsx(J21,{roster:h}),r.jsx(t41,{})]})]}),r.jsx(Ra,{}),r.jsx(tn,{}),r.jsx(ja,{replay:a,onClose:n})]})}function n41(){return r.jsx(a41,{})}function r41({children:t}){return r.jsx("div",{className:"flex h-full w-full items-center justify-start overflow-hidden bg-black",children:r.jsx("div",{className:"relative flex items-center justify-center overflow-hidden bg-black",style:{width:"min(100%, calc(100vh * 4 / 3))",height:"min(100%, calc(100vw * 3 / 4))",maxWidth:"100%",maxHeight:"100%",aspectRatio:"4 / 3"},children:r.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-hidden",children:t})})})}function l41({roverId:t,session:a}){const n=a?.activeDrivers?.[t]||null,u=(a?.users||[]).find(v=>v.socketId===n)?.nickname||(n?n.slice(0,6):"No driver"),h=a?.mode,d=a?.turnQueues?.[t];return h==="turns"&&d?.current?`${u}`:u}function i41({rover:t,frame:a}){const n=a?.sensors?.batteryChargeMah??null,i=t?.battery??null;return a5({batteryState:t?.batteryState??null,charge:n,config:i})}function p3({children:t,className:a="",maxSize:n=1e3,minSize:i=14,style:u=void 0}){const h=m.useRef(null),d=m.useRef(null),[v,p]=m.useState(n);return m.useLayoutEffect(()=>{const x=h.current,g=d.current;if(!x||!g)return;let b=null;const y=()=>{const S=x.clientWidth;if(!S){M();return}let C=i,B=n,A=i;for(;C<=B;){const H=Math.floor((C+B)/2);g.style.fontSize=`${H}px`,g.scrollWidth<=S?(A=H,C=H+1):B=H-1}p(A)},M=()=>{b&&cancelAnimationFrame(b),b=requestAnimationFrame(y)};M();const L=new ResizeObserver(M);return L.observe(x),()=>{b&&cancelAnimationFrame(b),L.disconnect()}},[t,n,i]),r.jsx("div",{ref:h,className:"w-full min-w-0",children:r.jsx("div",{ref:d,className:`whitespace-nowrap ${a}`,style:{fontSize:`${v}px`,lineHeight:1.1,...u||{}},children:t})})}function eu({rover:t,frame:a,driverLabel:n,sessionInfo:i,videoMode:u="snapshot",snapshotFeed:h,withDivider:d=!1,showPreview:v=!0,variant:p="stacked"}){const x=i41({rover:t,frame:a}),g=x?.available?x.percentDisplay:null,b=p==="active";return r.jsxs("div",{className:`relative flex min-w-0 flex-1 flex-col gap-4 overflow-hidden bg-black px-0 py-0 ${d?"border-r border-slate-700/60":""}`,children:[r.jsx(Ae,{visual:x,orientation:b?"vertical":"horizontal",variant:"background"}),b?r.jsxs("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col justify-between text-center",children:[r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(j4,{rover:t,fallback:t.id,as:p3,className:"leading-none",maxSize:1e3,minSize:18})}),n?r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:n})}):r.jsx("div",{}),r.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:r.jsx("div",{className:"relative",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:g==null?"--%":`${g}%`})})})]}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"relative z-10 flex min-w-0 flex-col gap-1 text-center",children:[r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(j4,{rover:t,fallback:t.id,as:p3,className:"leading-none",maxSize:1e3,minSize:18})}),n?r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:n})}):null,r.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:r.jsx("div",{className:"relative",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:80,minSize:16,children:g==null?"--%":`${g}%`})})})]}),r.jsx("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col gap-4",children:r.jsx("div",{className:"flex w-full min-w-0 flex-1 flex-col items-center gap-4",children:v?r.jsx("div",{className:"mt-auto w-full",children:r.jsx("div",{className:"w-full aspect-[4/3]",children:r.jsx(G8,{sessionInfo:i,videoMode:u,snapshotFeed:h,audioSessionInfo:null,label:t.name||t.id,sensors:a?.sensors||null})})}):null})})]})]})}const s41=2e4,o41=3600*1e3;function u41(){const{session:t}=N0(),a=Re();l5(),R0();const n=t?.mode==="lockdown",i=!!t?.isLocalNetwork,u=Og(),h=t?.roster??[],[d,v]=m.useState(0),p=t?.activeDrivers||{},x=m.useMemo(()=>h.filter(q=>p[q.id]),[h,p]),g=x.length?x:h,b=Uh(g.map(q=>q.id),{enabled:!n&&!i,version:t?.mode}),y=m.useMemo(()=>i?g.map(q=>({type:"rover",id:q.id,key:q.id})):[],[i,g]),M=aa(y,{enabled:!n&&i,version:t?.mode}),L=m.useMemo(()=>x.flatMap(q=>{if(!q?.id||!q.media?.audioPublishUrl)return[];const $=String(q.id);return[{type:"rover",id:`${$}-audio`,key:`${$}-audio`}]}),[x]),S=aa(L,{enabled:!n,version:t?.mode}),C=m.useMemo(()=>{if(!x.length)return[];if(!i){const $=x.filter(D=>b[D.id]?.objectUrl);return $.length?$:x}const q=x.filter($=>{const D=M[$.id];return D?.url&&!D?.error});return q.length?q:x},[x,b,M,i]),B=m.useMemo(()=>C.map(q=>({type:"rover",rover:q})),[C]),A=m.useMemo(()=>B.map(q=>`r:${q.rover.id}`).join("|"),[B]);m.useEffect(()=>{v(0)},[A]),m.useEffect(()=>{if(!B.length)return;const q=setInterval(()=>{v($=>($+1)%B.length)},s41);return()=>clearInterval(q)},[B.length,A]);const H=B.length?B[d%B.length]:null,j=H?.type==="rover"?H.rover:null,_=!i&&j&&b[j.id]||null,F=i&&j&&M[j.id]||null,N=j&&S[`${j.id}-audio`]||null,V=j&&u[j.id]||null,R=j?l41({roverId:j.id,session:t}):null;return n?r.jsx("div",{className:"relative flex h-screen w-screen items-center justify-center bg-black text-slate-200",children:r.jsxs("div",{className:"surface max-w-sm space-y-0.5 p-1 text-center text-sm",children:[r.jsx("p",{className:"text-lg font-semibold text-white",children:"Mini spectator is disabled in lockdown."}),r.jsx("p",{className:"text-slate-300",children:"It will automatically resume once lockdown ends."})]})}):x.length?r.jsxs("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:[r.jsx("section",{className:"relative flex h-full shrink-0 items-center justify-start overflow-hidden bg-black",style:{width:"min(100vw, calc(100vh * 4 / 3))"},children:a?j?r.jsx(r41,{children:i?r.jsx("div",{className:"relative h-full w-full",children:B.map(q=>{const $=q.rover,D=j?.id===$.id;return r.jsx("div",{className:`absolute inset-0 ${D?"opacity-100":"opacity-0 pointer-events-none"}`,children:r.jsx(G8,{sessionInfo:M[$.id]||null,videoMode:"whep",snapshotFeed:null,audioSessionInfo:D?N:null,forceMute:!D,label:$.name||$.id,sensors:u[$.id]?.sensors||null})},$.id)})}):r.jsx(G8,{sessionInfo:null,videoMode:"snapshot",snapshotFeed:_,audioSessionInfo:N,label:j.name||j.id,sensors:V?.sensors||null})}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:x.length?"No sources available.":"No active drivers."}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"Switching to spectator…"})}),r.jsx("aside",{className:"flex h-full min-w-0 flex-1 flex-col border-l border-slate-800/60 bg-black",children:j?r.jsx(eu,{rover:j,frame:V,driverLabel:R,sessionInfo:i?F:null,videoMode:i?"whep":"snapshot",snapshotFeed:i?null:b[j.id]||null,showPreview:!1,variant:"active"}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No active rover."})})]}):r.jsx("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:r.jsx("section",{className:"flex h-full w-full gap-x-3 bg-slate-900 px-0",children:h.length?h.map(q=>r.jsx(eu,{rover:q,frame:u[q.id]||null,driverLabel:null,sessionInfo:i&&M[q.id]||null,videoMode:i?"whep":"snapshot",snapshotFeed:i?null:b[q.id]||null,showPreview:!0,withDivider:!1},q.id)):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No rovers available."})})})}function h41(){return m.useEffect(()=>{if(typeof window>"u")return;const t=setTimeout(()=>{const a=new URL(window.location.href);a.searchParams.set("refresh",Date.now().toString()),window.location.replace(a.toString())},o41);return()=>clearTimeout(t)},[]),r.jsxs(r.Fragment,{children:[r.jsx(u41,{}),r.jsx(Ra,{scale:3})]})}function Ed(t){return String(t?.nickname||t?.socketId?.slice(0,6)||"unknown").trim()}function d41({roverId:t,session:a}){const n=a?.activeDrivers?.[t]||null;if(!n)return null;const i=(a?.users||[]).find(u=>u.socketId===n);return{socketId:n,label:Ed(i||{socketId:n})}}function f41({rover:t,frame:a}){return a5({batteryState:t?.batteryState??null,charge:a?.sensors?.batteryChargeMah??null,config:t?.battery??null})}function m41(t){return t?.available?t.urgentActive?`${t.percentDisplay}% Low`:t.warnActive?`${t.percentDisplay}% Low`:`${t.percentDisplay}%`:"--"}function v41(t,a){const n=[];return t?.private?.enabled&&t?.private?.open&&n.push("Private"),(a?.urgentActive||a?.warnActive)&&n.push("Low"),n.join(" · ")}function p41(t){return t<=1?"grid-cols-1":t===2||t===4?"grid-cols-2":"grid-cols-3"}function g41(...t){return t.filter(Boolean).join(" ")}function x41({users:t=[]}){const a=m.useRef(null),n=m.useRef(null),i=m.useRef(null),[u,h]=m.useState(!1),d=m.useMemo(()=>t.filter(x=>x?.role!=="spectator").map(Ed).filter(Boolean).sort((x,g)=>x.localeCompare(g)),[t]);m.useEffect(()=>{const x=a.current,g=i.current;if(!x||!g)return;const b=()=>{h(g.scrollWidth>x.clientWidth+4)};b();const y=new ResizeObserver(b);return y.observe(x),y.observe(g),()=>y.disconnect()},[d]),m.useEffect(()=>{const x=n.current;if(!x||!u)return;const g=x.animate([{transform:"translateX(0)"},{transform:"translateX(-50%)"}],{duration:42e3,iterations:1/0,easing:"linear"});return()=>g.cancel()},[u,d]);const p=(d.length?d:["No one online"]).map((x,g)=>r.jsx("span",{className:"shrink-0 px-[1.6vw] font-black tracking-normal text-slate-100",children:x},`${x}-${g}`));return r.jsx("div",{ref:a,className:"relative h-full min-w-0 overflow-hidden border-b border-slate-800/80 bg-black",children:r.jsxs("div",{ref:n,className:g41("flex h-full w-max items-center whitespace-nowrap text-[clamp(2.5rem,5.3vh,5.8rem)] leading-none"),children:[r.jsx("div",{ref:i,className:"flex h-full items-center",children:p}),u?r.jsx("div",{className:"flex h-full items-center","aria-hidden":"true",children:p}):null]})})}function Ec(...t){return t.filter(Boolean).join(" ")}function z41({rover:t,session:a}){const i={sensors:K3(t?.id,Se,Ce)},u=f41({rover:t,frame:i}),h=d41({roverId:t?.id,session:a}),d=v41(t,u),v=m41(u),p=!!h,x=!!u?.urgentActive,g=!!u?.warnActive,b=!!t?.locked;return r.jsxs("article",{className:Ec("relative min-h-0 overflow-hidden border border-slate-800 bg-black",b?"border-red-400 ring-4 ring-red-500/80":"",!b&&p?"ring-2 ring-sky-400/80":"",!b&&x?"ring-4 ring-red-500/90":!b&&g?"ring-2 ring-amber-300/80":""),children:[r.jsx(Ae,{visual:u,variant:"background",orientation:"vertical"}),r.jsxs("div",{className:"relative z-10 grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)_auto] gap-[0.55vh] p-[0.85vw] text-center",children:[r.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start gap-[0.8vw]",children:[r.jsx("div",{className:"min-w-0",children:r.jsx(j4,{rover:t,fallback:t?.id,as:p3,className:"leading-none",maxSize:108,minSize:26})}),b?r.jsxs("div",{className:"max-w-[40vw] border-4 border-red-100 bg-red-700 px-[1vw] py-[0.55vh] text-center text-[clamp(2rem,5vh,5.2rem)] font-black leading-none text-white",children:[r.jsx("div",{children:"LOCKED"}),t?.lockReason?r.jsx("div",{className:"mt-[0.35vh] text-[clamp(1.2rem,2.9vh,3rem)] leading-none text-red-50",children:t.lockReason}):null]}):null]}),r.jsxs("div",{className:"grid min-h-0 min-w-0 grid-cols-[minmax(0,1.45fr)_minmax(0,0.85fr)] items-center gap-[1vw]",children:[r.jsx("div",{className:"min-w-0",children:r.jsx(p3,{className:Ec("font-black leading-none",p?"text-white":"text-slate-400"),maxSize:172,minSize:38,children:h?.label||"Idle"})}),r.jsx("div",{className:"min-w-0",children:r.jsx(p3,{className:Ec("font-black leading-none",x?"text-red-100":g?"text-amber-100":"text-slate-100"),maxSize:136,minSize:32,children:v})})]}),d?r.jsx("div",{className:"min-w-0 text-[clamp(1.25rem,2.5vh,2.6rem)] font-black leading-none text-amber-100",children:d}):r.jsx("div",{"aria-hidden":"true"})]})]})}function b41({roster:t=[],session:a}){return t.length?r.jsx("section",{className:`grid h-full min-h-0 ${p41(t.length)} auto-rows-fr gap-0.5 bg-slate-950 p-0.5`,children:t.map(n=>r.jsx(z41,{rover:n,session:a},n.id))}):r.jsx("section",{className:"flex h-full min-h-0 items-center justify-center border-b border-slate-800 bg-black text-[clamp(2.5rem,7vh,7rem)] font-black text-slate-500",children:"No rovers"})}function y41(){return r.jsx("section",{className:"h-full min-h-0 overflow-hidden border-t border-slate-800 bg-black",children:r.jsx("div",{className:"origin-top-left",style:{width:`calc(100% / ${4.6})`,height:`calc(100% / ${4.6})`,transform:`scale(${4.6})`},children:r.jsx(n5,{minimal:!0,fillHeight:!0,hideSpectatorNotice:!0})})})}const M41=4500;function w41(t={}){const a=String(t?.text||"").trim();if(!a)return null;const n=Number.isFinite(Number(t?.durationMs))?Math.max(1200,Math.min(15e3,Number(t.durationMs))):M41;return{id:t?.id||`display-notice-${Date.now()}`,text:a,durationMs:n}}function C41(){const t=N2(),[a,n]=m.useState(null),i=m.useRef(null);return m.useEffect(()=>{function u(){i.current&&(clearTimeout(i.current),i.current=null)}function h(d={}){const v=w41(d);v&&(u(),n(v),i.current=setTimeout(()=>{n(p=>p?.id===v.id?null:p),i.current=null},v.durationMs))}return t.on("display:notice",h),()=>{u(),t.off("display:notice",h)}},[t]),a?r.jsx("div",{className:"pointer-events-none fixed inset-0 z-[130] flex items-center justify-center bg-black px-[4vw] py-[4vh]",children:r.jsx("div",{className:"max-w-[92vw] border-4 border-cyan-200 bg-slate-950 px-[3vw] py-[2.5vh] text-center",children:r.jsx("div",{className:"whitespace-pre-wrap text-[clamp(3.2rem,11vh,11rem)] font-black leading-[0.95] text-white",children:a.text})})}):null}function S41(){const{session:t}=N0(),a=o1(u=>u.latestReplay),{clearLatestReplay:n}=O2(),i=t?.mode==="lockdown";return l5(),R0(),Re(),i?r.jsx("div",{className:"flex h-screen w-screen items-center justify-center bg-black text-[clamp(2.5rem,8vh,8rem)] font-black text-slate-200",children:"Lockdown"}):r.jsxs("div",{className:"display-page flex h-screen w-screen flex-col overflow-hidden bg-black text-slate-100",children:[r.jsx("div",{className:"h-[8vh] min-h-[4rem] shrink-0",children:r.jsx(x41,{users:t?.users||[]})}),r.jsx("div",{className:"min-h-0 flex-[0.72]",children:r.jsx(b41,{roster:t?.roster||[],session:t})}),r.jsx("div",{className:"min-h-0 flex-[1.28]",children:r.jsx(y41,{})}),r.jsx(C41,{}),r.jsx(tn,{}),r.jsx(ja,{replay:a,onClose:n})]})}function H41(){return r.jsx(S41,{})}const A41=1500,L41=700,V41=350,B41="scanner.preferredVoiceName",cu=/female|samantha|victoria|allison|zira|karen|moira|serena|ava|susan|hazel|google (us|uk) english/i,N41=/whisper|bubbles|bells|boing|bad news|bahh|cellos|deranged|good news|hysterical|pipe organ|trinoids|zarvox/i;function j41(t){return N41.test(String(t?.name||""))}function au(t){const a=typeof t?.getVoices=="function"?t.getVoices():[];if(!a.length)return null;const n=typeof window<"u"?String(window.localStorage.getItem(B41)||"").trim():"",i=n?a.find(v=>String(v?.name||"")===n):null;if(i)return i;const u=a.filter(v=>!j41(v)),h=u.find(v=>v?.default)||null,d=u.filter(v=>String(v?.lang||"").toLowerCase().startsWith("en"));return d.find(v=>cu.test(String(v?.name||"")))||u.find(v=>cu.test(String(v?.name||"")))||h||d[0]||u[0]||null}function k41(t){return t?t instanceof ArrayBuffer?t:ArrayBuffer.isView(t)?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):Array.isArray(t)?new Uint8Array(t).buffer:null:null}function F41(t){const a=k41(t?.buffer);if(!a)return null;const n=String(t?.mime||"audio/wav").trim()||"audio/wav",i=new Blob([a],{type:n}),u=URL.createObjectURL(i),h=new Audio(u);return h.volume=1,{play:()=>h.play().finally(()=>{h.onended=()=>URL.revokeObjectURL(u)}),stop:()=>{h.pause(),h.removeAttribute("src"),h.load(),URL.revokeObjectURL(u)}}}function R41(t,a=null){const n=m.useRef(null),i=m.useRef(null),u=m.useRef(null),h=m.useRef(null),d=m.useRef(null);m.useEffect(()=>()=>{window.clearTimeout(n.current),window.clearTimeout(i.current),window.clearTimeout(h.current),d.current?.stop()},[]),m.useEffect(()=>{const v=String(t?.speechText||"").trim(),p=t?.scannedAt?`${t.scannedAt}:${v}`:"";if(!v||!p||u.current===p)return;let x=!1;function g(){window.clearTimeout(n.current),window.clearTimeout(i.current),window.clearTimeout(h.current),n.current=null,i.current=null,h.current=null}function b(){x||(g(),n.current=window.setTimeout(()=>L(),L41))}function y(){const S=window.speechSynthesis;if(!S||typeof window.SpeechSynthesisUtterance!="function"){b();return}g(),S.cancel();const C=new window.SpeechSynthesisUtterance(v),B=au(S);B&&(C.voice=B,C.lang=B.lang),C.rate=1,C.pitch=1,C.volume=1,C.onstart=()=>{window.clearTimeout(i.current),i.current=null},C.onend=()=>{g()},C.onerror=()=>{b()},S.speak(C),i.current=window.setTimeout(()=>{S.cancel(),b()},A41)}function M(){u.current=p}function L(){x||(M(),g(),d.current?.stop(),y())}return h.current=window.setTimeout(L,V41),()=>{x=!0,g(),d.current?.stop()}},[t]),m.useEffect(()=>{const v=String(a?.scan?.speechText||"").trim(),p=a?.scan?.scannedAt?`${a.scan.scannedAt}:${v}`:"",x=String(t?.speechText||"").trim(),g=t?.scannedAt?`${t.scannedAt}:${x}`:"";if(!p||p!==g||u.current===p)return;const b=F41(a.audio);b&&(window.clearTimeout(h.current),h.current=null,u.current=p,d.current?.stop(),d.current=b,b.play().catch(()=>{u.current=p;const y=window.speechSynthesis;if(!y||typeof window.SpeechSynthesisUtterance!="function")return;y.cancel();const M=new window.SpeechSynthesisUtterance(x),L=au(y);L&&(M.voice=L,M.lang=L.lang),M.rate=1,M.pitch=1,M.volume=1,y.speak(M)}))},[t,a])}const nu={beepAllowed:!1,lastScan:null,registryError:null},ru=10*1e3,E41=5*1e3;function T41(t){const[a,n]=m.useState(()=>Date.now());return m.useEffect(()=>{if(!t)return;const i=window.setInterval(()=>{n(Date.now())},500);return()=>window.clearInterval(i)},[t]),a}function _41(t,a){if(!Number.isFinite(t))return"";const n=Math.max(0,Math.ceil((t-a)/1e3)),i=Math.floor(n/60),u=n%60;return i>0?`${i}:${String(u).padStart(2,"0")}`:`${u}s`}function q41(t){return typeof t=="string"?t:!t||typeof t!="object"?"":String(t.label||t.value||t.text||"").trim()}function D41(t){return Array.isArray(t)?t.map(a=>({title:String(a?.title||"").trim(),items:Array.isArray(a?.items)?a.items.map(n=>({text:q41(n),status:typeof n=="object"&&n?n.status:null})).filter(n=>n.text):[]})).filter(a=>a.title||a.items.length).slice(0,3):[]}function O41(){const t=window.AudioContext||window.webkitAudioContext;if(!t)return;const a=new t,n=a.createOscillator(),i=a.createGain(),u=a.currentTime;n.type="square",n.frequency.setValueAtTime(980,u),i.gain.setValueAtTime(1e-4,u),i.gain.exponentialRampToValueAtTime(.95,u+.015),i.gain.exponentialRampToValueAtTime(1e-4,u+.2),n.connect(i),i.connect(a.destination),n.start(u),n.stop(u+.22),n.onended=()=>{a.close().catch(()=>{})}}function U41(){const t=N2(),a=m.useRef(null),n=m.useRef(null),i=m.useRef(!1),[u,h]=m.useState(nu),[d,v]=m.useState({connected:!!t.connected,stale:!0,lastReceivedAt:null}),[p,x]=m.useState(null),[g,b]=m.useState(!1),{state:y,connectionState:M}=md();l5(),R0(),Re(),R41(u.lastScan,p);const L=m.useCallback(()=>{a.current?.focus()},[]);m.useEffect(()=>{L()},[L]),m.useEffect(()=>()=>{window.clearTimeout(n.current)},[]),m.useEffect(()=>{let W=!1,n1=null,Y=null,E=0;function I(O={}){W||(E=Date.now(),i.current||(i.current=!0,u1("scanner_route_ready",{beepAllowed:!!O?.beepAllowed})),h({...nu,...O&&typeof O=="object"?O:{}}),v({connected:!!t.connected,stale:!1,lastReceivedAt:E}))}function Z(O=null){x(O&&typeof O=="object"?O:null),u1("barcode_scan_audio_play",{hasPayload:!!(O&&typeof O=="object")})}function t1(){t.emit("barcode:subscribe",{},(O={})=>{if(O.state){I(O.state);return}v(K=>({...K,connected:!!t.connected,stale:!E}))})}function h1(){v(O=>({...O,connected:!0,stale:!E})),t1()}function T(){v(O=>({...O,connected:!1,stale:!0}))}return t.on("barcode:state",I),t.on("barcode:scanAudio",Z),t.on("connect",h1),t.on("disconnect",T),t1(),n1=window.setInterval(()=>{const O=!E||Date.now()-E>ru;O&&E&&x3("scanner_state_stale",{connected:!!t.connected},{key:`scanner_state_stale:${!!t.connected}`,throttleMs:60*1e3}),v(K=>({...K,connected:!!t.connected,stale:O}))},1e3),Y=window.setInterval(()=>{t.connected&&(!E||Date.now()-E>ru)&&t1()},E41),()=>{W=!0,window.clearInterval(n1),window.clearInterval(Y),t.off("barcode:state",I),t.off("barcode:scanAudio",Z),t.off("connect",h1),t.off("disconnect",T)}},[t]);const S=m.useCallback(()=>{const W=String(a.current?.value||"").trim();if(!W){L();return}u.beepAllowed&&(window.clearTimeout(n.current),b(!0),n.current=window.setTimeout(()=>{b(!1)},120),O41()),u1("barcode_scan_submit",{length:W.length,beepAllowed:u.beepAllowed}),t.emit("barcode:scan",{code:W},()=>{}),a.current.value="",L()},[L,u.beepAllowed,t]),C=u.lastScan,B=y.activeGame,A=B?.display||{},H=A.timer?.endsAt,j=T41(Number.isFinite(H)),_=_41(H,j),F=B?.status&&B.status!=="idle",N=F?A.title||B?.title||"Barcode games":C?.label||"Waiting",V=F&&A.primary||"",R=F&&A.secondary||"",q=F?D41(A.sections):[],$=Array.isArray(y.participants)?y.participants:[],D=d.connected?d.stale||M.stale?"syncing":"":"scanner offline";return r.jsxs("main",{className:`flex min-h-screen cursor-default flex-col items-center justify-center overflow-hidden px-6 text-center ${g?"bg-white text-black":"bg-black text-white"}`,onClick:L,children:[r.jsx("input",{ref:a,"aria-label":"barcode scanner input",className:"absolute left-0 top-0 h-px w-px opacity-0",autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,onKeyDown:W=>{W.key==="Enter"&&(W.preventDefault(),S())}}),r.jsx("section",{className:"flex min-h-screen w-full items-center justify-center",children:r.jsxs("div",{className:"flex max-w-full flex-col items-center gap-[3vh]",children:[r.jsx("h1",{className:"max-w-full break-words text-[17vw] font-black leading-none tracking-normal",children:N}),r.jsx("p",{className:"max-w-full break-words text-[6vw] font-bold leading-tight tracking-normal",children:V}),R?r.jsx("p",{className:"max-w-full break-words text-[4vw] font-bold leading-tight tracking-normal",children:R}):null,q.length?r.jsx("div",{className:"flex max-w-full flex-col items-center gap-[1vh]",children:q.map((W,n1)=>r.jsxs("div",{className:"max-w-full",children:[W.title?r.jsx("p",{className:"text-[2.6vw] font-bold leading-tight tracking-normal opacity-80",children:W.title}):null,r.jsx("div",{className:"flex max-w-full flex-col items-center gap-[0.4vh]",children:W.items.slice(0,8).map((Y,E)=>r.jsx("p",{className:`max-w-full break-words text-[3.1vw] leading-tight tracking-normal ${Y.status==="active"?"font-black":Y.status==="complete"?"font-semibold opacity-45":"font-bold opacity-85"}`,children:Y.text},`${Y.text}-${E}`))})]},`${W.title||"section"}-${n1}`))}):null,_?r.jsx("p",{className:"font-mono text-[7vw] font-black leading-none tracking-normal",children:_}):null,$.length?r.jsx("p",{className:"max-w-full truncate text-[3vw] font-semibold leading-tight tracking-normal",children:$.map(W=>W.nickname||W.roverId).filter(Boolean).join(" / ")}):null]})}),D?r.jsx("div",{className:"absolute bottom-4 left-4 text-left text-[2.5vw] font-bold leading-none tracking-normal opacity-80 md:text-xl",children:D}):null,r.jsx(en,{})]})}function I41(){return r.jsx(U41,{})}function Q3(t,a,n={}){return new Promise((i,u)=>{t.emit(a,n,(h={})=>{if(h.error){u(new Error(h.error));return}i(h)})})}function P41(t){return Q3(t,"identityAdmin:listUsers")}function lu(t,a){return Q3(t,"identityAdmin:getUser",{userId:a})}function $41(t,a,n,i){return Q3(t,"identityAdmin:addSignal",{userId:a,type:n,value:i})}function Z41(t,a,n,i){return Q3(t,"identityAdmin:removeSignal",{userId:a,type:n,value:i})}function G41(t,a,n){return Q3(t,"identityAdmin:setVerified",{userId:a,enabled:n})}function Y41(t,a,n,i){return Q3(t,"identityAdmin:setDeterrence",{userId:a,enabled:n,reason:i})}function K41(t,a,n,i){return Q3(t,"identityAdmin:updateFeatureState",{userId:a,namespace:n,value:i})}function Q41(t,a,n){return Q3(t,"identityAdmin:deleteFeatureState",{userId:a,namespace:n})}const da={cookieUserId:"Cookie keys",fingerprintId:"Fingerprints",nickname:"Nicknames",knownIp:"Known IPs"},X41={cookieUserId:"cookieUserIds",fingerprintId:"fingerprintIds",nickname:"nicknames",knownIp:"knownIps"};function iu(t){const a=String(t||"").trim();return a?a.length<=14?a:`${a.slice(0,8)}...${a.slice(-6)}`:"n/a"}function fa(t){const a=Number(t||0);if(!Number.isFinite(a)||a<=0)return"never";try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(a))}catch{return new Date(a).toLocaleString()}}function W41(t,a){const n=String(a||"").trim().toLowerCase();return n?[t?.id,t?.nickname,...t?.cookieUserIds||[],...t?.fingerprintIds||[],...t?.nicknames||[],...t?.knownIps||[],...t?.featureNamespaces||[]].join(" ").toLowerCase().includes(n):!0}function J41(t,a){return a==="verified"?!!t?.verified?.enabled:a==="deterred"?!!t?.deterrence?.enabled:a==="unverified"?!t?.verified?.enabled:!0}function ma(t){return JSON.stringify(t??{},null,2)}function t31(t){const a=JSON.parse(String(t||"").trim()||"{}");if(!a||typeof a!="object")throw new Error("JSON must be an object or array.");return a}const e31=[{key:"all",label:"All"},{key:"verified",label:"Verified"},{key:"deterred",label:"Deterred"},{key:"unverified",label:"Unverified"}];function su({active:t,children:a}){return r.jsx("span",{className:`rounded px-1 py-0.25 text-[0.68rem] font-semibold ${t?"bg-emerald-700 text-emerald-50":"bg-neutral-800 text-neutral-300"}`,children:a})}function c31({users:t,selectedUserId:a,query:n,filter:i,loading:u,onQuery:h,onFilter:d,onRefresh:v,onSelect:p}){const x=m.useMemo(()=>t.filter(b=>J41(b,i)&&W41(b,n)),[i,n,t]),g=r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:v,disabled:u,children:u?"Loading":"Refresh"});return r.jsxs(N1,{title:"Identity database",meta:x.length,actions:g,bodyClassName:"flex min-h-0 flex-col gap-0.5 p-0.5 text-sm",children:[r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1fr)_10rem]",children:[r.jsx("input",{className:"field-input text-sm",type:"search",placeholder:"Search users, keys, fingerprints, IPs",value:n,onChange:b=>h(b.target.value)}),r.jsx("select",{className:"field-input text-sm",value:i,onChange:b=>d(b.target.value),children:e31.map(b=>r.jsx("option",{value:b.key,children:b.label},b.key))})]}),r.jsx("div",{className:"min-h-[18rem] flex-1 overflow-y-auto",children:x.length?x.map(b=>r.jsxs("button",{type:"button",className:`surface mb-0.5 grid w-full grid-cols-[minmax(0,1fr)_auto] gap-0.5 px-1 py-0.75 text-left text-xs ${a===b.id?"border border-sky-400/70":""}`,onClick:()=>p(b.id),children:[r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block truncate text-sm font-semibold text-slate-100",children:b.nickname||"unknown user"}),r.jsx("span",{className:"block truncate font-mono text-[0.68rem] text-slate-400",children:b.id}),r.jsxs("span",{className:"block truncate text-[0.68rem] text-slate-400",children:[iu(b.cookieUserIds?.[0])," / ",iu(b.fingerprintIds?.[0])]})]}),r.jsxs("span",{className:"flex flex-col items-end gap-0.25",children:[r.jsx(su,{active:b.verified?.enabled,children:"verified"}),r.jsx(su,{active:b.deterrence?.enabled,children:"deterred"})]})]},b.id)):r.jsx("p",{className:"surface p-1 text-center text-xs text-slate-400",children:"No users match this view."})})]})}function a31({user:t}){return r.jsxs(N1,{title:"User details",bodyClassName:"grid gap-0.5 p-0.5 text-sm md:grid-cols-2",children:[r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Canonical user id"}),r.jsx("p",{className:"break-all font-mono text-xs text-lime-300",children:t.id})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Primary nickname"}),r.jsx("p",{className:"font-semibold text-slate-100",children:t.nickname||"unknown user"})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Created"}),r.jsx("p",{children:fa(t.createdAt)})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Last seen"}),r.jsx("p",{children:fa(t.lastSeenAt)})]})]})}function n31({user:t,type:a,onAdd:n,onRemove:i}){const[u,h]=m.useState(""),d=t?.[X41[a]]||[],v=async p=>{p.preventDefault();const x=u.trim();x&&(await n(a,x),h(""))};return r.jsxs("div",{className:"surface space-y-0.5 px-1 py-0.75",children:[r.jsx("p",{className:"text-xs font-semibold text-slate-200",children:da[a]}),r.jsx("div",{className:"space-y-0.5",children:d.length?d.map(p=>r.jsxs("div",{className:"surface-muted grid grid-cols-[minmax(0,1fr)_auto] items-center gap-0.5 px-1 py-0.5",children:[r.jsx("span",{className:"min-w-0 break-all font-mono text-[0.7rem] text-slate-200",children:p}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>i(a,p),children:"Remove"})]},p)):r.jsx("p",{className:"text-xs text-slate-500",children:"No values."})}),r.jsxs("form",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1fr)_auto]",onSubmit:v,children:[r.jsx("input",{className:"field-input text-xs",value:u,placeholder:`Add ${da[a].toLowerCase()}`,onChange:p=>h(p.target.value)}),r.jsx("button",{type:"submit",className:"button-dark text-xs",disabled:!u.trim(),children:"Add"})]})]})}function r31({user:t,onAddSignal:a,onRemoveSignal:n}){return r.jsx(N1,{title:"Identity signals",bodyClassName:"grid gap-0.5 p-0.5 text-sm xl:grid-cols-2",children:Object.keys(da).map(i=>r.jsx(n31,{user:t,type:i,onAdd:a,onRemove:n},i))})}function l31({user:t,onVerified:a,onDeterrence:n}){const[i,u]=m.useState(t?.deterrence?.reason||"");return m.useEffect(()=>{u(t?.deterrence?.reason||"")},[t?.deterrence?.reason,t?.id]),r.jsxs(N1,{title:"Status",bodyClassName:"grid gap-0.5 p-0.5 text-sm md:grid-cols-2",children:[r.jsxs("div",{className:"surface space-y-0.5 px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Verification"}),r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-100",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:!!t?.verified?.enabled,onChange:h=>a(h.target.checked)}),r.jsx("span",{children:"Verified"})]}),r.jsxs("p",{className:"text-xs text-slate-500",children:["Updated ",fa(t?.verified?.at)]})]}),r.jsxs("div",{className:"surface space-y-0.5 px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Deterrence"}),r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-100",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-red-500",checked:!!t?.deterrence?.enabled,onChange:h=>n(h.target.checked,i)}),r.jsx("span",{children:"Deterred"})]}),r.jsx("textarea",{className:"field-input min-h-[4rem] w-full text-xs",value:i,placeholder:"Deterrence reason",onChange:h=>u(h.target.value)}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>n(!!t?.deterrence?.enabled,i),children:"Save Reason"})]})]})}function i31({user:t,onSaveFeature:a,onDeleteFeature:n}){const i=m.useMemo(()=>Object.keys(t?.features||{}).sort(),[t?.features]),[u,h]=m.useState(""),[d,v]=m.useState("{}"),[p,x]=m.useState("");m.useEffect(()=>{const y=i.includes(u)?u:i[0]||"";h(y),v(ma(y?t.features[y]:{})),x("")},[u,i,t]);const g=async()=>{const y=u.trim();if(!y){x("Namespace required.");return}try{const M=t31(d);await a(y,M),x("")}catch(M){x(M.message||"Invalid JSON.")}},b=async()=>{const y=u.trim();y&&window.confirm(`Delete feature state "${y}" from ${t.id}?`)&&await n(y)};return r.jsxs(N1,{title:"Feature state",bodyClassName:"space-y-0.5 p-0.5 text-sm",children:[r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1fr)_auto_auto]",children:[r.jsx("input",{className:"field-input text-sm",value:u,placeholder:"Namespace",list:"identity-feature-namespaces",onChange:y=>{const M=y.target.value;h(M),v(ma(t.features?.[M]||{}))}}),r.jsx("datalist",{id:"identity-feature-namespaces",children:i.map(y=>r.jsx("option",{value:y},y))}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:g,children:"Save"}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:b,disabled:!u.trim(),children:"Delete"})]}),r.jsx("textarea",{className:"field-input min-h-[18rem] w-full font-mono text-xs",value:d,spellCheck:!1,onChange:y=>v(y.target.value)}),p?r.jsx("p",{className:"surface text-xs text-red-300",children:p}):null]})}function s31({user:t}){return r.jsx(N1,{title:"Raw record",bodyClassName:"p-0.5 text-xs",children:r.jsx("pre",{className:"surface max-h-[36rem] overflow-auto whitespace-pre-wrap break-words font-mono text-[0.7rem] text-lime-300",children:ma(t)})})}function o31(){const t=N2(),[a,n]=m.useState([]),[i,u]=m.useState(null),[h,d]=m.useState(""),[v,p]=m.useState("all"),[x,g]=m.useState(!1),[b,y]=m.useState(""),M=m.useCallback(async()=>{g(!0);try{const N=await P41(t);if(n(N.users||[]),i?.id){const V=await lu(t,i.id);u(V.user||null)}y("")}catch(N){y(N.message||"Failed to load users.")}finally{g(!1)}},[i?.id,t]),L=m.useCallback(async N=>{g(!0);try{const V=await lu(t,N);u(V.user||null),y("")}catch(V){y(V.message||"Failed to load user.")}finally{g(!1)}},[t]),S=m.useCallback(N=>{u(N||null),N?.id&&n(V=>V.map(R=>R.id===N.id?{...R,...N}:R))},[]),C=m.useCallback(async(N,V)=>{if(i?.id){g(!0);try{const R=await N(i.id);S(R.user),y(V||"Saved.")}catch(R){y(R.message||"Save failed.")}finally{g(!1)}}},[S,i?.id]);m.useEffect(()=>{M()},[]);const B=(N,V)=>C(R=>$41(t,R,N,V),"Signal added."),A=(N,V)=>C(R=>Z41(t,R,N,V),"Signal removed."),H=N=>C(V=>G41(t,V,N),"Verification updated."),j=(N,V)=>C(R=>Y41(t,R,N,V),"Deterrence updated."),_=(N,V)=>C(R=>K41(t,R,N,V),"Feature state saved."),F=N=>C(V=>Q41(t,V,N),"Feature state deleted.");return r.jsxs("div",{className:"grid min-h-0 flex-1 gap-0.5 lg:grid-cols-[24rem_minmax(0,1fr)]",children:[r.jsx(c31,{users:a,selectedUserId:i?.id||null,query:h,filter:v,loading:x,onQuery:d,onFilter:p,onRefresh:M,onSelect:L}),r.jsxs("div",{className:"min-h-0 space-y-0.5 overflow-y-auto",children:[b?r.jsx(N1,{title:"Status",bodyClassName:"p-0.5 text-sm text-slate-200",children:r.jsx("p",{children:b})}):null,i?r.jsxs(r.Fragment,{children:[r.jsx(a31,{user:i}),r.jsxs(Le,{defaultTab:"signals",children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"signals",children:"Signals"}),r.jsx(q2,{id:"status",children:"Status"}),r.jsx(q2,{id:"features",children:"Feature state"}),r.jsx(q2,{id:"raw",children:"Raw JSON"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"signals",children:r.jsx(r31,{user:i,onAddSignal:B,onRemoveSignal:A})}),r.jsx(D2,{id:"status",children:r.jsx(l31,{user:i,onVerified:H,onDeterrence:j})}),r.jsx(D2,{id:"features",children:r.jsx(i31,{user:i,onSaveFeature:_,onDeleteFeature:F})}),r.jsx(D2,{id:"raw",children:r.jsx(s31,{user:i})})]})]})]}):r.jsx(N1,{title:"User details",bodyClassName:"p-1 text-center text-sm text-slate-400",children:"Select a user to inspect and edit the identity record."})]})]})}function u31(t){return t==="lockdown"}function h31(){R0({identitySurface:"passive"});const t=o1(h=>h.session?.role||null),a=o1(h=>h.connected),n=u31(t),i=t==="admin"||n;let u=null;return n?u=r.jsx(o31,{}):i?u=r.jsxs(N1,{title:"Lockdown admin required",bodyClassName:"space-y-0.5 p-1 text-sm text-slate-300",children:[r.jsx("p",{children:"This page can edit the canonical identity database, so it is limited to lockdown admins."}),r.jsx("p",{children:"Log in with a lockdown admin account to continue."})]}):u=r.jsx("div",{className:"mx-auto w-full max-w-md",children:r.jsx(Za,{})}),r.jsxs("div",{className:`${td} min-h-screen text-slate-100`,children:[r.jsx(en,{}),r.jsxs("main",{className:"mx-auto flex min-h-screen w-full max-w-7xl flex-col gap-0.5 p-1",children:[r.jsx(N1,{title:"Identity database",meta:a?t||"connected":"offline",bodyClassName:"p-0.5 text-sm text-slate-300",children:r.jsx("p",{children:"Canonical users, identity signals, verification, deterrence, and per-user feature state."})}),u]})]})}function qt(t){if(!t||!t.length)return null;const a=Math.floor(Math.random()*t.length);return t[a]||null}function d31(){if(typeof document>"u"||!document.body)return;const t=document.body.getElementsByTagName("*");if(!t||t.length<2)return;const a=qt(t),n=qt(t),i=a?.classList?.[0]||null;if(i&&n?.classList)try{n.classList.add(i)}catch{}const u=qt(t),h=qt(t),d=u?.classList?.[1]||null;if(d&&h?.classList)try{h.classList.add(d)}catch{}}function f31(){const t=o1(a=>!!a.session?.moderation?.isDeterred);return m.useEffect(()=>{if(!t)return;const a=window.setInterval(()=>{d31()},1);return()=>{window.clearInterval(a)}},[t]),null}function ou(){return typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait"}function m31(){const[t,a]=m.useState(()=>ou());return m.useEffect(()=>{function n(){a(ou())}return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t}function v31(){const t=Y3(),a=m31(),{value:n}=I1("profile",{nickname:""}),i=o1(L=>L.session),u=m.useRef(null),h=m.useRef(null),d=m.useRef(null),v=m.useRef(""),p=t.pathname||"/",x=String(n?.nickname||i?.nickname||"").trim(),g=String(i?.assignment?.roverId||"").trim(),b=String(i?.role||"").trim(),y=!!i?.isVerified,M=m.useMemo(()=>({route:p,layout:a,nickname:x,hasNickname:!!x,roverId:g,assignedRover:!!g,role:b,verified:y}),[a,x,b,p,g,y]);return m.useEffect(()=>{const L=JSON.stringify(M);v.current!==L&&(v.current=L,VK(M))},[M]),m.useEffect(()=>{u.current!==p&&(u.current=p,u1("route_enter",{route:p,layout:a}))},[a,p]),m.useEffect(()=>{h.current!==a&&(h.current=a,u1("layout_change",{route:p,layout:a}))},[a,p]),m.useEffect(()=>{!g||d.current===g||(d.current=g,u1("rover_assigned",{roverId:g,route:p,layout:a}))},[a,p,g]),null}lv.createRoot(document.getElementById("root")).render(r.jsx(m.StrictMode,{children:r.jsx(kg,{children:r.jsx(Tg,{children:r.jsx(Dg,{children:r.jsx(Nx,{children:r.jsxs(NK,{children:[r.jsx(f31,{}),r.jsxs(yp,{children:[r.jsx(v31,{}),r.jsxs(Wv,{children:[r.jsx(x6,{path:"/",element:r.jsx(Z21,{})}),r.jsx(x6,{path:"/spectate",element:r.jsx(n41,{})}),r.jsx(x6,{path:"/mini",element:r.jsx(h41,{})}),r.jsx(x6,{path:"/display",element:r.jsx(H41,{})}),r.jsx(x6,{path:"/scanner",element:r.jsx(I41,{})}),r.jsx(x6,{path:"/database",element:r.jsx(h31,{})})]})]})]})})})})})})); -//# sourceMappingURL=index-yGP4eLx4.js.map +`),a.compileShader(i),!a.getShaderParameter(i,a.COMPILE_STATUS)))return null;const u=a.createProgram();if(!u||(a.attachShader(u,n),a.attachShader(u,i),a.linkProgram(u),!a.getProgramParameter(u,a.LINK_STATUS)))return null;const h=a.createBuffer();return h?(a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferData(a.ARRAY_BUFFER,w21,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,null),{canvas:t,gl:a,program:u,buffer:h}):null}catch{return null}}function Z4(t){const a=new Set;return(function n(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i===void 0)return;if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);let u,h;if(Array.isArray(i)){for(h="[",u=0;u${a}`}function C21(){let t="";return Ad.forEach(((a,n)=>{const i=2*n,u=Ld.slice(i,i+2);u.length===2&&(t+=`${a}${u[1]}${u[0]}`)})),U8(0,`${t}`)}function S21(){const t=[];return Ad.forEach(((a,n)=>{const i=2*n,u=Ld.slice(i,i+2);u.length===2&&t.push(U8(0,`${a}${u[1]}${u[0]}`))})),t}const H21={audio:async function(){return Io?(async function(){return new Promise(((t,a)=>{try{const n=new Io(1,5e3,44100),i=n.createBufferSource(),u=n.createOscillator();u.frequency.value=1e3;const h=n.createDynamicsCompressor();let d;h.threshold.value=-50,h.knee.value=40,h.ratio.value=12,h.attack.value=0,h.release.value=.2,u.connect(h),h.connect(n.destination),u.start(),n.oncomplete=v=>{d=v.renderedBuffer.getChannelData(0),t({sampleHash:u21(d),maxChannels:n.destination.maxChannelCount,channelCountMode:i.channelCountMode})},n.startRendering()}catch(n){a(n)}}))})():null},canvas:async function(){return new Promise((t=>{const a=Array.from({length:3},(()=>(function(){const n=document.createElement("canvas"),i=n.getContext("2d");if(!i)return null;n.width=$o,n.height=20;const u=i.createLinearGradient(0,0,n.width,n.height);u.addColorStop(0,"red"),u.addColorStop(.16666666666666666,"orange"),u.addColorStop(.3333333333333333,"yellow"),u.addColorStop(.5,"green"),u.addColorStop(.6666666666666666,"blue"),u.addColorStop(.8333333333333334,"indigo"),u.addColorStop(1,"violet"),i.fillStyle=u,i.fillRect(0,0,n.width,n.height);const h="Random Text WMwmil10Oo";return i.font="23.123px Arial",i.fillStyle="black",i.fillText(h,-5,15),i.fillStyle="rgba(0, 0, 255, 0.5)",i.fillText(h,-3.3,17.7),i.beginPath(),i.moveTo(0,0),i.lineTo(2*n.width/7,n.height),i.strokeStyle="white",i.lineWidth=2,i.stroke(),i.getImageData(0,0,n.width,n.height)})())).filter((n=>n!==null));a.length!==0?t({commonPixelsHash:B4(Po(a,$o,20).data.toString()).toString()}):t(null)}))},fonts:async function(t){return new Promise((a=>{try{Hd((async({iframe:n})=>{const i=n.createElement("canvas").getContext("2d");if(!i)return void a(null);const u=m21.map((d=>Zo(i,d)));let h={};f21.forEach((d=>{const v=Zo(i,d);u.includes(v)||(h[d]=v)})),a(h)}))}catch{a(null)}}))},hardware:function(){return new Promise(((t,a)=>{const n=navigator.deviceMemory!==void 0?navigator.deviceMemory:0,i=window.performance&&window.performance.memory?window.performance.memory:0;t({videocard:v21(),architecture:p21(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:i.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((t=>{t({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((t=>{t({acos:Math.acos(.5),asin:_t(Math.asin,-1,1,97),cos:_t(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:_t(Math.sin,-Math.PI,Math.PI,97),tan:_t(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(t){const a=t?.permissions_to_check||x21;return g21(await Promise.all(Array.from({length:3},(()=>(async function(n){const i={};for(const u of n)try{const h=await navigator.permissions.query({name:u});i[u]=h.state.toString()}catch{}return i})(a)))),a)},plugins:async function(){const t=[];if(navigator.plugins)for(let a=0;a{a({plugins:t})}))},screen:function(){return new Promise((t=>{if(typeof matchMedia>"u"||typeof screen>"u")return void t(null);const a={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:z21()};Yo()&&navigator.maxTouchPoints>0&&(a.resolution=(function(){const n=window.screen.width,i=window.screen.height,u=Math.max(n,i).toString(),h=Math.min(n,i).toString();return`${u}x${h}`})()),t(a)}))},system:function(){return new Promise((t=>{const a=Fe();t({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:a.name,version:a.version},mobile:Yo(),applePayVersion:b21(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){const t=M21?(_8||(_8=Qo()),_8):Qo();if(!t)return{webgl:"unsupported"};try{const a=Array.from({length:y21},(()=>(function(n){const{canvas:i,gl:u,program:h,buffer:d}=n;try{u.useProgram(h),u.bindBuffer(u.ARRAY_BUFFER,d);const v=u.getAttribLocation(h,"position");u.enableVertexAttribArray(v),u.vertexAttribPointer(v,2,u.FLOAT,!1,0,0),u.viewport(0,0,i.width,i.height),u.clearColor(0,0,0,1),u.clear(u.COLOR_BUFFER_BIT),u.drawArrays(u.LINES,0,274);const p=new Uint8ClampedArray(i.width*i.height*4);return u.readPixels(0,0,i.width,i.height,u.RGBA,u.UNSIGNED_BYTE,p),new ImageData(p,i.width,i.height)}catch{return _8=null,new ImageData(1,1)}finally{u.bindBuffer(u.ARRAY_BUFFER,null),u.useProgram(null),u.viewport(0,0,u.drawingBufferWidth,u.drawingBufferHeight),u.clearColor(0,0,0,0)}})(t)));return{commonPixelsHash:B4(Po(a,t.canvas.width,t.canvas.height).data.toString()).toString()}}catch{return{webgl:"unsupported"}}},webrtc:async function(t){return new Promise((a=>{let n;try{const i=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!i)return void a({supported:!1,error:"WebRTC not supported"});n=new i({iceCandidatePoolSize:1,iceServers:[]});const u=n;u.createDataChannel(""),(async()=>{try{const h={offerToReceiveAudio:!0,offerToReceiveVideo:!0},d=await u.createOffer(h);await u.setLocalDescription(d);const v=d.sdp||"",p=[...new Set((v.match(/extmap:\d+ [^\n\r]+/g)||[]).map((S=>S.replace(/extmap:\d+ /,""))))].sort(),x=S=>{const C=v.match(new RegExp(`m=${S} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return C?C[1].split(" "):[]},g=(S,C)=>C.map((B=>{const A=new RegExp(`(rtpmap|fmtp|rtcp-fb):${B} (.+)`,"g"),H=[...v.matchAll(A)];if(!H.length)return null;const j={};return H.forEach((_=>{const[F,N,V]=_,R=V.split("/");N==="rtpmap"?(j.mimeType=`${S}/${R[0]}`,j.clockRate=+R[1],S==="audio"&&(j.channels=+R[2]||1)):N==="rtcp-fb"?(j.feedbackSupport=j.feedbackSupport||[],j.feedbackSupport.push(V)):N==="fmtp"&&(j.sdpFmtpLine=V)})),j})).filter(Boolean),b=g("audio",x("audio")),y=g("video",x("video")),M={audio:{count:b.length,hash:B4(Z4(b))},video:{count:y.length,hash:B4(Z4(y))},extensionsHash:B4(Z4(p))};u.close();const L={supported:!0,...M,candidateType:"host"};a({details:L,hash:B4(Z4(L))})}catch(h){u.close(),a({supported:!0,error:`WebRTC offer failed: ${h.message}`})}})()}catch(i){n?.close(),a({supported:!1,error:`WebRTC error: ${i.message}`})}}))},speech:async function(){return new Promise((t=>{try{if(typeof window>"u"||!window.speechSynthesis||typeof window.speechSynthesis.getVoices!="function")return void t({supported:!1,error:"Speech Synthesis API not supported"});let a=!1,n=null;const i=d=>{if(!a){a=!0,n&&clearTimeout(n);try{const v=d.map((x=>{const g=b=>b.replace(/\\/g,"\\\\").replace(/,/g,"\\,");return[g(x.voiceURI||""),g(x.name||""),g(x.lang||""),x.localService?"1":"0",x.default?"1":"0"].join(",")}));v.sort();const p={voiceCount:d.length,voicesHash:B4(Z4(v))};t({details:p,hash:B4(Z4(p))})}catch(v){t({supported:!0,error:`Voice processing failed: ${v.message}`})}}},u=window.speechSynthesis.getVoices();if(u.length>0)return void i(u);n=setTimeout((()=>{const d=window.speechSynthesis.getVoices();i(d)}),800);const h=()=>{window.speechSynthesis.removeEventListener("voiceschanged",h);const d=window.speechSynthesis.getVoices();i(d)};window.speechSynthesis.addEventListener("voiceschanged",h)}catch(a){t({supported:!1,error:`Speech Synthesis error: ${a.message}`})}}))}},A21={mathml:async function(){return new Promise((t=>{try{Hd((async({iframe:a})=>{try{if(!(function(d){try{const v=d.createElement("math");v.innerHTML="x",v.style.position="absolute",v.style.visibility="hidden",d.body.appendChild(v);const p=v.getBoundingClientRect();return d.body.removeChild(v),p.width>0&&p.height>0}catch{return!1}})(a))return void t({supported:!1,error:"MathML not supported"});const n=[U8("integral","abf(x)g(x)dx"),U8("fraction","π×r22σ"),U8("matrix","[αβγδ]"),C21(),...S21()],i=[];let u="";n.forEach(((d,v)=>{const p=(function(x,g){try{const b=g.createElement("math");b.innerHTML=x.replace(/<\/?math>/g,""),b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.visibility="hidden",b.style.top="-9999px",g.body.appendChild(b);const y=b.getBoundingClientRect(),M=(g.defaultView||window).getComputedStyle(b),L={dimensions:{width:y.width,height:y.height},fontInfo:{fontFamily:M.fontFamily,fontSize:M.fontSize,fontWeight:M.fontWeight,fontStyle:M.fontStyle,lineHeight:M.lineHeight,fontVariant:M.fontVariant||"normal",fontStretch:M.fontStretch||"normal",fontSizeAdjust:M.fontSizeAdjust||"none",textRendering:M.textRendering||"auto",fontFeatureSettings:M.fontFeatureSettings||"normal",fontVariantNumeric:M.fontVariantNumeric||"normal",fontKerning:M.fontKerning||"auto"}};return g.body.removeChild(b),L}catch(b){return{error:b.message}}})(d,a);i.push({width:p.dimensions.width,height:p.dimensions.height}),v===0&&p.fontInfo&&(u=B4(Z4(p.fontInfo)))}));const h={fontStyleHash:u,dimensions:i};t({details:h,hash:B4(Z4(h))})}catch(n){t({supported:!1,error:`MathML error: ${n.message}`})}}))}catch(a){t({supported:!1,error:`MathML error: ${a.message}`})}}))}},L21={},V21={timeout:"true"};function Vd(t,a){var n,i;let u=Fe();if(u.name==="unknown"&&a){const x=(n=a.system)===null||n===void 0?void 0:n.browser;x?.name&&(u={name:String(x.name),version:String(x.version||"unknown")})}const h=u.name.toLowerCase(),d=parseInt(u.version.split(".")[0]||"0",10),v=Array.isArray(t?.exclude)?[...t.exclude]:[],p=[...new Set([...t?.stabilize||[],"always"])];for(const x of p){const g=o21[x];if(g)for(const b of g)"browsers"in b&&!(!((i=b.browsers)===null||i===void 0)&&i.some((y=>{const M=y.match(/(.+?)(>=)(\d+)/);return M?h===M[1]&&d>=+M[3]:h===y})))||v.push(...b.exclude)}return v}function Bd(t,a){const n=Vd(a,t),i=Array.isArray(a?.include)?a.include:[];return(function u(h,d=""){const v={};for(const[p,x]of Object.entries(h)){const g=d?`${d}.${p}`:p;if(typeof x!="object"||Array.isArray(x)||x===null){const b=n.some((M=>g.startsWith(M))),y=i.some((M=>g.startsWith(M)));b&&!y||(v[p]=x)}else{const b=u(x,g);Object.keys(b).length>0&&(v[p]=b)}}return v})(t)}const Nd="visitor_id";function jd(t){return t.storage_property_name?t.storage_property_name:t.property_name_factory(Nd)}const Xo=`${Cd}_${Nd}`;function kd(t,a){try{localStorage.setItem(jd(a),t)}catch{}}const Fd="cache";function ua(t){try{const a=localStorage.getItem(t.property_name_factory(Fd));return JSON.parse(a)||{}}catch{}return{}}function B21(t){return t.cache_lifetime_in_ms>Uo?Date.now()+Uo:Date.now()+t.cache_lifetime_in_ms}class ge extends Error{constructor(a){super(`HTTP error! status: ${a}`),this.status=a}}let k8=null,ha=null;async function N21(t,a,n,i){const u=n.simple_request?{"Content-Type":"text/plain"}:{"x-api-key":n.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},h=await fetch(t,{method:"POST",headers:u,body:JSON.stringify(a)});if(!h.ok)throw new ge(h.status);const d=await h.json();return d.visitorId&&d.visitorId!==i&&kd(d.visitorId,n),ha=d,(function(v,p){!v.cache_api_call||!v.cache_lifetime_in_ms||(function(x,g){const b={...ua(x),...g};try{localStorage.setItem(x.property_name_factory(Fd),JSON.stringify(b))}catch{}})(v,{apiResponseExpiry:B21(v),apiResponse:p})})(n,d),d}const j21=(t,a)=>{if(t.cache_api_call){if(ha)return Promise.resolve(ha);const b=(function(y){const M=ua(y);if(M&&M.apiResponse&&M.apiResponseExpiry&&Date.now()<=M.apiResponseExpiry)return M.apiResponse})(t);if(b)return Promise.resolve(b);if(k8)return k8}const n=t.api_endpoint||Sd;let i;try{const b=new URL(n);i=b.pathname!=="/"||n.endsWith("/")?n:`${b.origin}/thumbmark`}catch{i=`${n}/thumbmark`}const u=(function(b){try{const y=jd(b);let M=localStorage.getItem(y);return M||y===Xo||(M=localStorage.getItem(Xo),M&&kd(M,b)),M}catch{return null}})(t),{api_key:h,...d}=t,v={components:a,options:d,clientHash:B4(Z4(a)),version:"1.10.0"};if(u&&(v.visitorId=u),t.metadata){const b=typeof t.metadata=="function"?t.metadata():t.metadata;b&&((typeof b=="string"?b.length:JSON.stringify(b).length)>1e3?console.error("ThumbmarkJS: Metadata exceeds 1000 characters. Skipping metadata."):v.metadata=b)}const p=t.timeout||5e3,x=(async function(b,y,M,L){for(let S=0;S<3;S++){S>0&&await new Promise((C=>setTimeout(C,200*S)));try{return await N21(b,y,M,L)}catch(C){if(C instanceof ge||S===2)throw C}}throw new Error("Unreachable")})(i,v,t,u).finally((()=>{k8=null})),g=new Promise((b=>{setTimeout((()=>{const y=ua(t);b(y?.apiResponse||{info:{timed_out:!0},...u&&{visitorId:u}})}),p)}));return k8=Promise.race([x,g]),k8};async function k21(t,a={}){var n,i;if(typeof document>"u"||typeof window>"u")return{thumbmark:"",components:{},info:{},version:"1.10.0",error:[{type:"fatal",message:"Browser environment required"}]};try{const u={...Ja,...t},h=[],d=u.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,v={...H21,...L21,...a},{elapsed:p,resolvedComponents:x,errors:g,pipelineTimings:b}=await Wo(v,u);h.push(...g);let y={},M={},L={};if(d||u.experimental){const{elapsed:E,resolvedComponents:I,errors:Z,pipelineTimings:t1}=await Wo(A21,u);y=I,M=E,L=t1,h.push(...Z)}const S=u.api_key||u.simple_request?j21(u,x):null;let C=null;if(S)try{C=await S}catch(E){if(E instanceof ge&&E.status===403)return{error:[{type:"api_unauthorized",message:"Invalid API key or quota exceeded"}],components:{},info:{},version:"1.10.0",thumbmark:""};h.push({type:E instanceof ge?"api_error":"network_error",message:E instanceof Error?E.message:String(E)})}!((n=C?.info)===null||n===void 0)&&n.timed_out&&h.push({type:"api_timeout",message:"API request timed out"});const B=performance.now(),A=Bd(C?.components||{},u),H=performance.now()-B,j={...x,...A},_=C?.info||{uniqueness:{score:"api only"}};let F,N=0,V=0;if(C?.thumbmark)F=C.thumbmark;else{const E=performance.now(),I=Z4(j);N=performance.now()-E;const Z=performance.now();F=B4(I),V=performance.now()-Z}const R="1.10.0";d&&(async function(E,I,Z,t1={},h1=[]){var T;const O=`${Sd}/log`,K={thumbmark:E,components:I,experimental:t1,version:"1.10.0",options:Z,path:(T=window?.location)===null||T===void 0?void 0:T.pathname,...h1.length>0&&{errors:h1}};sessionStorage.setItem("_tmjs_l","1");try{await fetch(O,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(K)})}catch{}})(F,j,u,y,h).catch((()=>{}));const q=(i=L["_pipeline.filter"])!==null&&i!==void 0?i:0,$={"_pipeline.dispatch":b["_pipeline.dispatch"],"_pipeline.resolve":b["_pipeline.resolve"],"_pipeline.filter":b["_pipeline.filter"]+q+H,"_pipeline.stringify":N,"_pipeline.hash":V,"_pipeline.assembly":0},D={...p,...M,...b,...$},W=u.performance?{elapsed:D}:{},n1=performance.now(),Y={...C?.visitorId&&{visitorId:C.visitorId},thumbmark:F,components:j,info:_,version:R,...W,...h.length>0&&{error:h},...Object.keys(y).length>0&&u.experimental&&{experimental:y},...C?.requestId&&{requestId:C.requestId},...C?.metadata&&{metadata:C.metadata}};return D["_pipeline.assembly"]=performance.now()-n1,Y}catch(u){return{thumbmark:"",components:{},info:{},version:"1.10.0",error:[{type:"fatal",message:u instanceof Error?u.message:String(u)}]}}}async function Wo(t,a){const n={...Ja,...a},i=Vd(n).filter((H=>!H.includes("."))),u=Object.entries(t).filter((([H])=>{var j;return!(!((j=n?.exclude)===null||j===void 0)&&j.includes(H))})).filter((([H])=>!i.includes(H))).filter((([H])=>{var j,_,F,N;return!((j=n?.include)===null||j===void 0)&&j.some((V=>V.includes(".")))?(_=n?.include)===null||_===void 0?void 0:_.some((V=>V.startsWith(H))):((F=n?.include)===null||F===void 0?void 0:F.length)===0||((N=n?.include)===null||N===void 0?void 0:N.includes(H))})),h=u.map((([H])=>H)),d={},v=performance.now(),p=u.map((([H,j])=>{const _=performance.now(),F=j(a);return d[`_dispatch.${H}`]=performance.now()-_,F})),x=performance.now()-v,g=performance.now(),b=await(function(H,j,_){return Promise.all(H.map((F=>{const N=performance.now();let V;const R=F.then(($=>(V!==void 0&&clearTimeout(V),{value:$,elapsed:performance.now()-N}))).catch(($=>(V!==void 0&&clearTimeout(V),{value:_,elapsed:performance.now()-N,error:$ instanceof Error?$.message:String($)}))),q=new Promise(($=>{V=setTimeout((()=>{$({value:_,elapsed:performance.now()-N,error:"timeout"})}),j)}));return Promise.race([R,q])})))})(p,n?.timeout||5e3,V21),y=performance.now()-g,M={},L={},S=[];b.forEach(((H,j)=>{var _;const F=h[j];M[F]=(_=H.elapsed)!==null&&_!==void 0?_:0,H.error==="timeout"?S.push({type:"component_timeout",message:`Component '${F}' timed out`,component:F}):H.error&&S.push({type:"component_error",message:H.error,component:F}),H.value!=null&&(L[F]=H.value)}));const C=performance.now(),B=Bd(L,n),A={"_pipeline.dispatch":x,"_pipeline.resolve":y,"_pipeline.filter":performance.now()-C,...d};return{elapsed:M,resolvedComponents:B,errors:S,pipelineTimings:A}}async function F21(t){try{const a=await k21(s21);return t?{hash:a.thumbmark.toString(),data:a.components}:a.thumbmark.toString()}catch(a){throw a}}let kc=null;function R21(t){const a=String(t||"").trim().toLowerCase();if(!a)return"";const i=(a.startsWith("tm_")?a.slice(3):a).replace(/[^a-z0-9_-]/g,"");return i?`tm_${i}`:""}async function E21(){return typeof window>"u"?"":(kc||(kc=Promise.resolve().then(()=>F21()).then(R21).catch(t=>(console.warn("Failed to calculate browser fingerprint",t),""))),kc)}function R0({identitySurface:t="passive"}={}){const a=N2(),n=o1(F=>F.connected),{identifySession:i}=O2(),{value:u,status:h,save:d}=I1("identity",{cookieUserId:""}),{value:v,status:p}=I1("profile",{nickname:""}),{value:x,status:g}=I1("overseerPreference",{enabled:!1}),b=m.useRef(!1),y=m.useRef(null),M=m.useRef(null),L=m.useRef(""),S=h==="ready"&&p==="ready"&&g==="ready",C=(u?.cookieUserId||"").trim(),B=(v?.nickname||"").trim(),A=!!x?.enabled,H=t==="driver"?"driver":"passive",j=m.useCallback(()=>{M.current&&(clearTimeout(M.current),M.current=null)},[]),_=m.useCallback(async()=>{if(!(!S||!n||!a?.id||b.current)){b.current=!0;try{L.current||(L.current=await E21());const N=((await i({cookieUserId:C,fingerprintId:L.current,nickname:B,overseerEnabled:A,identitySurface:H}))?.cookieUserId||"").trim();N&&N!==C&&d(V=>({...V||{},cookieUserId:N})),y.current=a.id,j()}catch{j(),M.current=setTimeout(()=>{_()},2e3)}finally{b.current=!1}}},[j,n,C,i,H,B,A,S,d,a?.id]);m.useEffect(()=>{!S||!n||!a?.id||y.current!==a.id&&_()},[n,S,_,a?.id]),m.useEffect(()=>{!S||!n||!a?.id||_()},[S,n,a?.id,C,B,A,H,_]),m.useEffect(()=>{const F=()=>{a?.connected&&_()},N=()=>{typeof document>"u"||document.visibilityState!=="visible"||a?.connected&&_()};return window.addEventListener("online",F),document.addEventListener("visibilitychange",N),()=>{window.removeEventListener("online",F),document.removeEventListener("visibilitychange",N)}},[_,a?.connected]),m.useEffect(()=>{if(!S||!a?.connected)return;const F=setInterval(()=>{a?.connected&&_()},6e4);return()=>clearInterval(F)},[S,_,a?.connected]),m.useEffect(()=>()=>j(),[j])}const Fc=1e4,Rc=28,T21=14;function _21(t){const a=String(t||"").trim(),n=a.startsWith("#")?a.slice(1):a;if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$/.test(n))return null;const i=n.length===3?n.split("").map(u=>u+u).join(""):n;return{r:Number.parseInt(i.slice(0,2),16),g:Number.parseInt(i.slice(2,4),16),b:Number.parseInt(i.slice(4,6),16)}}function Jo(t,a){return`rgba(${t.r}, ${t.g}, ${t.b}, ${a})`}function xe({layout:t="desktop",className:a="",dismissable:n=!0}){const i=o1(j=>{const _=j.session?.globalObjective?.text;return _?String(_).trim():""}),u=o1(j=>{const _=String(j.session?.assignment?.roverId||"").trim();return _&&(Array.isArray(j.session?.roster)?j.session.roster:[]).find(V=>String(V?.id)===_)?.color||null}),h=t==="mobile-portrait"||t==="mobile-landscape"||t==="mobile",[d,v]=m.useState(!1),[p,x]=m.useState(Rc),[g,b]=m.useState(0),y=m.useRef(null),M=m.useRef(null),L=m.useRef(null);m.useEffect(()=>{if(!i){v(!1);return}if(v(!0),!h||!n)return;const j=Date.now();b(Fc);const _=setTimeout(()=>v(!1),Fc),F=setInterval(()=>{const N=Date.now()-j;b(Math.max(0,Fc-N))},250);return()=>{clearTimeout(_),clearInterval(F)}},[i,h]),m.useEffect(()=>{if(!i)return;x(Rc);let j=0;const _=()=>{const N=L.current,V=M.current;if(!N||!V)return;const R=N.clientWidth;if(!R)return;const q=V.scrollWidth;if(!q)return;const $=Math.min(1,R/q),D=Math.max(T21,Math.floor(Rc*$));x(D)};j=window.requestAnimationFrame(_);const F=new ResizeObserver(()=>{window.cancelAnimationFrame(j),j=window.requestAnimationFrame(_)});return y.current&&F.observe(y.current),()=>{window.cancelAnimationFrame(j),F.disconnect()}},[i]);const S=m.useMemo(()=>["panel-section flex w-full items-center justify-center border border-neutral-500/60 shadow-[0_1px_0_rgba(255,255,255,0.05)_inset,0_10px_24px_rgba(0,0,0,0.28)]",h?"rounded-none":"rounded","px-1 py-1 text-center font-semibold tracking-tight",a].filter(Boolean).join(" "),[a,h]),C=_21(u),B=C?{borderColor:Jo(C,.35),backgroundImage:`linear-gradient(90deg, rgba(23,23,23,0.96) 0%, rgba(38,38,38,0.94) 58%, ${Jo(C,.18)} 100%)`}:void 0;if(!i||!d)return null;const A=h?Math.ceil(g/1e3):null,H=n?{onClick:()=>v(!1),role:"button",tabIndex:0}:{};return r.jsx("div",{ref:y,className:S,style:{...B||{},fontSize:`${p}px`,lineHeight:1.1},...H,children:r.jsxs("span",{className:"flex w-full items-stretch gap-0.5 whitespace-nowrap rounded-md",children:[r.jsxs("span",{className:"flex flex-col justify-center border-r border-slate-700/60 px-0.5 text-[0.55em] font-semibold leading-tight text-slate-400",children:[r.jsx("span",{children:"Global"}),r.jsx("span",{children:"Objective"})]}),r.jsx("span",{ref:L,className:"flex-1 overflow-hidden text-slate-100",children:r.jsx("span",{ref:M,className:"block",children:i})}),h?r.jsxs("span",{className:"flex items-center border-l border-slate-700/60 px-0.5 text-[0.55em] font-semibold uppercase tracking-wide text-slate-400",children:[A,"s"]}):null]})})}const q21=3200;function D21(t={}){const a=typeof t.rewardName=="string"&&t.rewardName.trim()?t.rewardName.trim():"Unknown Event",n=Number.isFinite(Number(t.goal))?Math.max(1,Math.floor(Number(t.goal))):0,i=Number.isFinite(Number(t.count))?Math.max(0,Math.floor(Number(t.count))):n;return{rewardName:a,goal:n,count:i,ts:Date.now()}}function tn(){const t=N2(),{value:a}=I1("audio",y2),n=Number.isFinite(a?.masterVolume)?a.masterVolume:y2.masterVolume,i=Number.isFinite(a?.alertVolume)?a.alertVolume:y2.alertVolume,u=Math.max(0,Math.min(1,n*i)),[h,d]=m.useState(null),v=m.useRef(null);return m.useEffect(()=>{v.current=new Audio("/tada.mp3"),v.current.volume=u,v.current.load()},[u]),m.useEffect(()=>{let p=null;function x(){const y=v.current;y&&(y.volume=u,y.currentTime=0,y.play().catch(()=>{}))}function g(y={}){const M=D21(y);d(M),x(),p&&clearTimeout(p),p=setTimeout(()=>{d(null)},q21)}function b(y){g(y?.detail||{})}return t.on("buttonBox:rewardRun",g),window.addEventListener("buttonBox:rewardRunLocalTest",b),()=>{p&&clearTimeout(p),t.off("buttonBox:rewardRun",g),window.removeEventListener("buttonBox:rewardRunLocalTest",b)}},[u,t]),h?r.jsx("div",{className:"pointer-events-none fixed inset-0 z-[120] flex items-center justify-center bg-black/75 px-1 py-1",children:r.jsx("div",{className:"pointer-events-auto w-full max-w-2xl",children:r.jsx("div",{className:"surface rounded-none border-2 border-cyan-300 bg-amber-100/95 px-1 py-1 text-center text-black shadow-2xl",children:r.jsxs("div",{className:"flex items-center justify-center gap-1 border-2 border-blue-600 bg-yellow-100 px-0.5 py-1",children:[r.jsx("img",{src:"/party1.gif",alt:"",className:"hidden shrink-0 sm:block"}),r.jsxs("div",{children:[r.jsxs("p",{className:"font-mono text-2xl font-bold text-red-700 sm:text-3xl",children:["Running event: ",h.rewardName,"!"]}),r.jsxs("p",{className:"font-mono text-xl font-bold text-blue-800 sm:text-2xl",children:[h.count,"/",h.goal]})]}),r.jsx("img",{src:"/party2.gif",alt:"",className:"hidden shrink-0 sm:block"})]})})})}):null}const O21=4e3;function tu(...t){return t.filter(Boolean).join(" ")}function en(){const t=N2(),[a,n]=m.useState(!!t?.connected),[i,u]=m.useState(""),[h,d]=m.useState(!0),[v,p]=m.useState(!1),x=m.useRef(null);m.useEffect(()=>{const L=()=>{x.current&&(clearTimeout(x.current),x.current=null)},S=()=>{L(),d(!0),p(!1)},C=()=>{L(),x.current=setTimeout(()=>{p(!0)},O21)},B=()=>{n(!0),u(""),S(),C(),u1("socket_connect",{connected:!0})},A=_=>{n(!1),u(typeof _=="string"?_:"disconnected"),S(),x3("socket_disconnect",{reason:typeof _=="string"?_:"disconnected"},{key:`disconnect:${_||"unknown"}`,throttleMs:3e4})},H=_=>{n(!1),u(_?.message||"connect error"),S(),x3("socket_connect_error",{message:_?.message||"connect error"},{key:`connect_error:${_?.message||"unknown"}`,throttleMs:3e4})},j=()=>{n(!1),S(),x3("socket_reconnect_attempt",{connected:!1},{key:"socket_reconnect_attempt",throttleMs:3e4})};return t.on("connect",B),t.on("disconnect",A),t.on("connect_error",H),t.io.on("reconnect_attempt",j),t.connected&&C(),()=>{L(),t.off("connect",B),t.off("disconnect",A),t.off("connect_error",H),t.io.off("reconnect_attempt",j)}},[t]);const g=typeof navigator<"u"?navigator.onLine===!1:!1,b=a?"Connected to socket.io":g?"Offline":"Reconnecting...",y=a?"":i,M=a?"bg-emerald-700 text-emerald-100":g?"bg-red-800 text-red-100":"bg-amber-800 text-amber-100";return r.jsx("div",{className:tu("fixed bottom-2 left-2 z-[120] transition-opacity duration-500",!h&&"hidden",v?"opacity-0 pointer-events-none":"opacity-100"),"aria-live":"polite",children:r.jsxs("div",{className:tu("rounded-sm px-2 py-1 text-xs",M),children:[r.jsx("span",{className:"font-semibold",children:b}),y?r.jsxs("span",{className:"ml-1 opacity-85",children:["(",y,")"]}):null]})})}function U21(){const t=o1(n=>n.duplicateIdentityBlock);if(!t)return null;const a=typeof t?.message=="string"&&t.message.trim()?t.message.trim():"This driver session is already active in another tab.";return r.jsx("div",{className:"pointer-events-auto fixed inset-0 z-[2000] flex items-center justify-center bg-black px-0.5 py-0.5 text-slate-100",children:r.jsx("section",{className:"surface w-full max-w-md space-y-0.5 text-center shadow-2xl",children:r.jsxs("div",{className:"space-y-0.5",children:[r.jsx("h1",{className:"text-lg font-semibold text-white",children:"Another driver tab is already open"}),r.jsx("p",{className:"text-sm text-slate-300",children:a})]})})})}function I21(){const[t,a]=m.useState(()=>typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait");return m.useEffect(()=>{function n(){if(typeof window>"u")return;const{innerWidth:i,innerHeight:u}=window;i>=1024?a("desktop"):i>u?a("mobile-landscape"):a("mobile-portrait")}return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t}function P21({layout:t,onOpenHelpOverlay:a}){return r.jsxs("div",{className:`flex h-full ${A2} overflow-hidden`,children:[r.jsxs("div",{className:`flex min-w-0 flex-[1.22] flex-col ${A2} overflow-y-auto pr-0`,children:[r.jsx($a,{}),r.jsx(Cx,{})]}),r.jsxs("div",{className:`flex min-w-0 flex-1 flex-col ${A2} overflow-y-auto`,children:[r.jsx(xe,{layout:t}),r.jsx(O11,{layout:t,onOpenHelpOverlay:a})]})]})}function Rd({layout:t,onOpenHelpOverlay:a,roomPanelId:n}){const[i,u]=m.useState("chat"),h=o1(B=>!!B.session?.isVerified),d=o1(B=>String(B.session?.assignment?.roverId||"").trim()),v=o1(B=>{const A=String(B.session?.assignment?.roverId||"").trim();return A&&B.session?.audioForward?.[A]||null}),p=_1(B=>!!B.state.mic?.pttActive),{value:x}=I1("vipAudio",{openMicEnabled:!1,pttMode:"live"}),g=h?"bg-emerald-400":"bg-amber-400",b=!!x?.openMicEnabled,y=x?.pttMode==="clip"?"clip":"live",M=!!(d&&h&&(y==="clip"?p:b||p)),L=!!(d&&h&&y==="clip"&&v?.source==="upload"&&v?.state==="playing"),S=o1(B=>!!B.session?.overseerVote?.votingEnabled),C=m.useCallback(B=>{u(B),u1("tab_change",{tab:B,layout:t,surface:"mobile_features"})},[t]);return r.jsx("section",{className:"text-base",children:r.jsxs(Le,{defaultTab:"chat",currentTab:i,onTabChange:C,children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"chat",children:"Chat"}),r.jsx(q2,{id:"activities",children:"Activities"}),r.jsx(q2,{id:"vip",highlight:L?"green":M?"pink":"none",children:r.jsxs("span",{className:"inline-flex items-center gap-0.5",children:[r.jsx("span",{children:"VIP"}),r.jsx("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${g}`,"aria-hidden":"true",title:h?"Verified":"Not verified"})]})}),r.jsx(q2,{id:"roomcontrols",children:"Room Controls"}),r.jsx(q2,{id:"help",children:"Help"}),r.jsx(q2,{id:"settings",children:"Settings"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"chat",children:r.jsxs("div",{className:w6,children:[r.jsx(n5,{nicknameLayout:"stacked"}),r.jsxs("div",{className:w6,children:[r.jsx("div",{className:`grid ${A2} md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:r.jsx(Qa,{})}),r.jsxs("div",{className:`grid ${A2} ${S?"grid-cols-[minmax(0,1fr)_minmax(0,1fr)]":"grid-cols-[minmax(0,1fr)]"}`,children:[S?r.jsx(wd,{}):null,r.jsx(me,{hideNicknameForm:!0})]})]})]})}),r.jsx(D2,{id:"activities",children:r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsx(Md,{}),r.jsx(bd,{}),r.jsx(pd,{}),r.jsx(zd,{}),r.jsx(pe,{}),r.jsx(Oh,{})]})}),r.jsx(D2,{id:"vip",keepMounted:!0,children:r.jsx(fd,{isActive:i==="vip"})}),r.jsx(D2,{id:"roomcontrols",children:r.jsxs("div",{className:w6,children:[r.jsx(Jh,{}),r.jsx(Ia,{panelId:n})]})}),r.jsx(D2,{id:"help",children:r.jsx(sd,{layout:t,onOpenOverlay:a})}),r.jsx(D2,{id:"settings",children:r.jsx("div",{className:w6,children:r.jsx(rd,{})})})]})]})})}function $21({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){const n="h-[min(60svh,24rem)]",i=a?r.jsx(de,{layout:"portrait",className:n}):r.jsx(he,{layout:"portrait",className:n}),u=a?r.jsx(he,{layout:"portrait",className:n}):r.jsx(de,{layout:"portrait",className:n});return r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsx($a,{layoutFormat:"mobile-portrait"}),r.jsx("section",{className:"mobile-touch-control text-white",children:r.jsxs("div",{className:"mobile-touch-control grid grid-cols-2 gap-0.5 items-stretch",children:[i,u]})}),r.jsxs("div",{className:`grid ${A2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[r.jsx(ka,{panelId:"replay-sources-mobile-portrait"}),r.jsx(ke,{})]}),r.jsx(Rd,{layout:"mobile-portrait",onOpenHelpOverlay:t,roomPanelId:"mobile-portrait-room"})]})}function Z21({onOpenHelpOverlay:t,swapMobileControlColumns:a=!1}){const n="self-start h-[min(100svh,32rem)]",i=a?r.jsx(de,{layout:"landscape",className:n}):r.jsx(he,{layout:"landscape",className:n}),u=a?r.jsx(he,{layout:"landscape",className:n}):r.jsx(de,{layout:"landscape",className:n});return r.jsxs("div",{className:`flex flex-col ${A2}`,children:[r.jsxs("section",{className:`grid min-h-screen grid-cols-[minmax(0,0.7fr)_minmax(0,2.1fr)_minmax(0,0.7fr)] ${A2}`,children:[i,r.jsxs("div",{children:[r.jsx($a,{layoutFormat:"mobile-landscape"}),r.jsxs("div",{className:`grid ${A2} grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]`,children:[r.jsx(ka,{panelId:"replay-sources-mobile-landscape"}),r.jsx(ke,{})]})]}),u]}),r.jsx("div",{className:`flex flex-col ${A2} pb-0`,children:r.jsx(Rd,{layout:"mobile-landscape",onOpenHelpOverlay:t,roomPanelId:"mobile-landscape-room"})})]})}function G21(){const t=I21(),a=t==="desktop",n=t21(t);return r.jsx("div",{className:`${td} text-slate-100 ${a?"h-screen overflow-hidden":"ios-safe-screen min-h-screen"}`,children:r.jsx(Y21,{layout:t,isDesktop:a,fullscreen:n})})}function Y21({layout:t,isDesktop:a,fullscreen:n}){l5(),R0({identitySurface:"driver"}),Ug({mobile:!a});const{visible:i,mode:u,isIOS:h,nativeSupported:d,enterFullscreen:v,dismiss:p,showPrompt:x}=n,{value:g,save:b}=I1("help",{showOnLoad:!0}),{value:y,status:M,save:L}=I1("quickstart",{showOnLoad:!0}),{value:S}=I1("page",{swapMobileControlColumns:!1}),C=!!S?.swapMobileControlColumns,B=C?"left":"right",A=!a&&(h||d),[H,j]=m.useState(!1),[_,F]=m.useState(!1);m.useEffect(()=>{M==="ready"&&F(y?.showOnLoad!==!1)},[M,y?.showOnLoad]),m.useEffect(()=>{i&&u1("fullscreen_prompt_show",{layout:t,mode:u})},[u,i,t]),m.useEffect(()=>{_&&u1("quickstart_open",{layout:t})},[t,_]);const N=m.useCallback(()=>{j(!0),u1("help_open",{layout:t,source:"panel"})},[t]),V=m.useCallback(()=>{j(!1),u1("help_close",{layout:t})},[t]),R=m.useCallback(()=>{F(!1),u1("quickstart_close",{layout:t})},[t]),q=m.useCallback(async()=>{if(h){u1("fullscreen_prompt_manual_open",{layout:t,mode:"pwa-hint",source:"floating_button"}),x();return}const E=await v();u1(E?"fullscreen_enter":"fullscreen_enter_failed",{layout:t,source:"floating_button"}),E||x()},[v,h,t,x]),$=m.useCallback(E=>{const I=!!E;L(Z=>({...Z??{},showOnLoad:I})),u1("quickstart_show_on_load_change",{layout:t,enabled:I}),I||F(!1)},[t,L]),D=m.useCallback(()=>{F(!1),j(!0),u1("help_open",{layout:t,source:"quickstart"})},[t]),W=m.useCallback(async()=>{const E=await v();return u1(E?"fullscreen_enter":"fullscreen_enter_failed",{layout:t,source:"prompt"}),E},[v,t]),n1=m.useCallback(()=>{p(),u1("fullscreen_dismiss",{layout:t,mode:u})},[p,u,t]),Y=m.useMemo(()=>a?r.jsx(P21,{layout:t,onOpenHelpOverlay:N}):t==="mobile-landscape"?r.jsx(Z21,{onOpenHelpOverlay:N,swapMobileControlColumns:C}):r.jsx($21,{onOpenHelpOverlay:N,swapMobileControlColumns:C}),[a,t,N,C]);return r.jsxs(CK,{children:[r.jsx(IK,{}),r.jsx(eQ,{}),r.jsxs("main",{className:`flex w-full flex-col ${A2} text-base ${a?"h-full overflow-hidden":""}`,children:[a?null:r.jsx(xe,{layout:t}),Y]}),r.jsx(Ra,{}),r.jsx(U21,{}),r.jsx(tn,{}),r.jsx(K11,{}),r.jsx(Z11,{}),r.jsx(en,{}),r.jsx(e21,{visible:H,layout:t,onClose:V,showOnLoad:g?.showOnLoad!==!1,onToggleShowOnLoad:E=>b(I=>({...I??{},showOnLoad:!!E}))}),r.jsx(Q11,{visible:i,mode:u,onEnterFullscreen:W,onDismiss:n1}),r.jsx(n21,{visible:_,layout:t,showOnLoad:y?.showOnLoad!==!1,onToggleShowOnLoad:$,onOpenHelp:D,onClose:R}),A?r.jsx(X11,{side:B,onClick:q}):null]})}function Re(){const{session:t,setRole:a,subscribeAll:n,connected:i}=N0(),[u,h]=m.useState(!1);return m.useEffect(()=>{let d=!1;async function v(){if(t?.mode==="lockdown"){h(!1);return}try{t?.role!=="spectator"&&await a("spectator"),await n(),d||h(!0)}catch(p){console.error("Failed to enter spectator mode",p),d||h(!1)}}return v(),()=>{d=!0}},[i,t?.mode,t?.role,a,n]),u}function K21(){const[t,a]=m.useState(()=>typeof window>"u"?!1:window.matchMedia("(max-aspect-ratio: 4/3)").matches);return m.useEffect(()=>{if(typeof window>"u")return;const n=window.matchMedia("(max-aspect-ratio: 4/3)"),i=u=>a(u.matches);return n.addEventListener?n.addEventListener("change",i):n.addListener(i),()=>{n.removeEventListener?n.removeEventListener("change",i):n.removeListener(i)}},[]),t}function Q21({show:t=!1,roverId:a=null,sensors:n,batteryConfig:i,mobileHud:u=!1}){const h=K3(a,Se,Ce),d=o1(g=>a?(g.session?.roster||[]).find(M=>String(M.id)===String(a))?.battery??null:null),v=n?{batteryChargeMah:n?.batteryChargeMah??null,batteryCapacityMah:n?.batteryCapacityMah??null}:h,p=i??d,x=a5({charge:v?.batteryChargeMah??null,config:p});return!t||!x?.available?null:r.jsx("div",{className:"pointer-events-none absolute right-1 top-1/2 flex h-[70%] -translate-y-1/2 flex-col items-center justify-center rounded bg-black/60 px-0.5 pb-1 pt-1",children:r.jsx(Ae,{visual:x,orientation:"vertical",variant:"inline",compact:u,className:"h-full w-4"})})}const X21=s2.memo(Q21);function W21({roverId:t=null,label:a,fitParent:n=!1,layoutFormat:i="desktop"}){return r.jsx("div",{className:`flex flex-col gap-0.5 ${n?"h-full":""}`,children:r.jsxs("div",{className:`relative w-full overflow-hidden bg-black ${n?"h-full flex-1":"aspect-[4/3]"}`,children:[r.jsx(G8,{roverId:t,label:a}),r.jsx(Kh,{roverId:t,variant:"spectator",mobileHud:!1}),r.jsx(Yh,{roverId:t,layoutFormat:i,variant:"spectator",mobileHud:!1,labelScale:1}),r.jsx(Qh,{roverId:t,compact:!1}),r.jsx(Xh,{roverId:t,compact:!1}),r.jsx(X21,{show:!0,roverId:t,mobileHud:!1})]})})}function J21({rover:t}){return r.jsx("article",{className:"min-h-[16rem] rounded bg-zinc-900 p-0 sm:min-h-[18rem]",children:r.jsx("div",{className:"min-h-0 overflow-hidden rounded bg-black/20",children:r.jsx(W21,{roverId:t.id,label:t.name})})})}function t41({roster:t}){return t.length===0?r.jsx("p",{className:"col-span-full text-slate-400",children:"No rovers registered."}):r.jsx("section",{className:"grid grid-cols-1 gap-0.5 md:grid-cols-2",children:t.map(a=>r.jsx(J21,{rover:a},a.id))})}function e41(){return r.jsx("section",{className:"min-h-0",children:r.jsx("div",{className:"surface min-h-[14rem] overflow-hidden",children:r.jsx(Ia,{defaultOrientation:"horizontal",hideLayoutToggle:!0,hideHeader:!0,panelId:"spectator-secondary"})})})}function c41(){const t=N2(),a=o1(i=>i.logs),n=m.useMemo(()=>a.slice().reverse(),[a]);return m.useEffect(()=>{const i=()=>{t.emit("log:subscribe")};return i(),t.on("connect",i),()=>{t.off("connect",i),t.emit("log:unsubscribe")}},[t]),r.jsx(N1,{title:"Server logs",bodyClassName:"space-y-0.5 text-base",children:r.jsx("div",{className:"surface h-64 overflow-y-auto font-mono text-xs",children:a.length===0?r.jsx("p",{children:"No logs yet."}):n.map(i=>r.jsxs("div",{className:"surface",children:[r.jsx("span",{className:"text-amber-400",children:i.timestamp})," ",r.jsxs("span",{className:"text-lime-400",children:["[",i.level,"]"]})," ",i.label&&r.jsxs("span",{className:"text-teal-400",children:["[",i.label,"]"]})," ",r.jsx("span",{children:i.message})]},i.id))})})}function a41({className:t=""}){return r.jsx("div",{className:`panel ${t}`,children:r.jsx(c41,{})})}function n41(){const{session:t}=N0(),a=o1(b=>b.latestReplay),{clearLatestReplay:n}=O2(),i=t?.mode==="lockdown";l5(),R0(),Re();const u=K21(),h=t?.roster??[];if(i)return r.jsx("div",{className:"flex min-h-screen items-center justify-center bg-black text-slate-200",children:r.jsxs("div",{className:"surface max-w-md space-y-0.5 p-1 text-center text-sm",children:[r.jsx("p",{className:"text-lg font-semibold text-white",children:"Spectate disabled during lockdown."}),r.jsx("p",{className:"text-slate-300",children:"Please wait until the server leaves lockdown to view streams."})]})});const d=u?"flex min-h-screen flex-col bg-black text-slate-100 md:h-screen md:overflow-hidden":"grid min-h-screen grid-cols-1 gap-0.5 bg-black text-slate-100 md:h-full md:min-h-0 md:grid-cols-[minmax(0,1fr)_18rem] lg:grid-cols-[minmax(0,1fr)_20rem]",v=u?"order-2 flex min-h-0 min-w-0 flex-1 flex-col gap-0.5 overflow-y-auto":"order-1 flex min-h-0 min-w-0 flex-col gap-0.5 md:overflow-y-auto",p=u?"order-1 grid w-full min-h-0 items-stretch gap-0.5 border-b border-slate-800/60 bg-slate-950/90 p-0.5 grid-cols-[minmax(0,1fr)_minmax(0,0.7fr)_minmax(0,1.9fr)_minmax(0,0.7fr)]":"order-2 flex min-h-0 min-w-0 flex-col gap-0.5 border-l border-slate-800/60 bg-slate-950/90 md:h-full md:overflow-y-auto",x="",g=u?"h-64":"";return r.jsxs("div",{className:"min-h-screen bg-black text-slate-100 md:h-screen md:overflow-hidden",children:[r.jsxs("main",{className:d,children:[r.jsxs("section",{className:p,children:[u?r.jsxs("div",{className:`${x} ${g} flex flex-col gap-0.5`,children:[r.jsx(xe,{layout:"desktop",dismissable:!1,className:"text-sm"}),r.jsx(pe,{}),r.jsx("div",{className:"min-h-0 flex-1",children:r.jsx(me,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})})]}):r.jsxs("div",{className:x,children:[r.jsx(xe,{layout:"desktop",dismissable:!1,className:"text-sm"}),r.jsx(pe,{})]}),r.jsx("div",{className:`${x} ${u?`${g} overflow-y-auto`:""}`,children:r.jsx("div",{className:"panel h-full",children:r.jsx(ke,{title:"Rovers"})})}),u?null:r.jsx("div",{className:`${x} flex-1 min-h-0`,children:r.jsx(me,{hideNicknameForm:!0,hideHeader:!0,compact:!0,fillHeight:!0,className:"h-full"})}),r.jsx("div",{className:`${x} ${u?g:"flex-[1.1] min-h-0"}`,children:r.jsx(n5,{allowSpectatorInput:!0,hideSpectatorNotice:!0,fillHeight:!0})}),r.jsx("div",{className:`${x} ${u?g:""}`,children:r.jsx(a41,{className:`${u?"h-full":"h-40"} overflow-hidden`})})]}),r.jsxs("section",{className:v,children:[r.jsx(t41,{roster:h}),r.jsx(e41,{})]})]}),r.jsx(Ra,{}),r.jsx(tn,{}),r.jsx(ja,{replay:a,onClose:n})]})}function r41(){return r.jsx(n41,{})}function l41({children:t}){return r.jsx("div",{className:"flex h-full w-full items-center justify-start overflow-hidden bg-black",children:r.jsx("div",{className:"relative flex items-center justify-center overflow-hidden bg-black",style:{width:"min(100%, calc(100vh * 4 / 3))",height:"min(100%, calc(100vw * 3 / 4))",maxWidth:"100%",maxHeight:"100%",aspectRatio:"4 / 3"},children:r.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-hidden",children:t})})})}function i41({roverId:t,session:a}){const n=a?.activeDrivers?.[t]||null,u=(a?.users||[]).find(v=>v.socketId===n)?.nickname||(n?n.slice(0,6):"No driver"),h=a?.mode,d=a?.turnQueues?.[t];return h==="turns"&&d?.current?`${u}`:u}function s41({rover:t,frame:a}){const n=a?.sensors?.batteryChargeMah??null,i=t?.battery??null;return a5({batteryState:t?.batteryState??null,charge:n,config:i})}function p3({children:t,className:a="",maxSize:n=1e3,minSize:i=14,style:u=void 0}){const h=m.useRef(null),d=m.useRef(null),[v,p]=m.useState(n);return m.useLayoutEffect(()=>{const x=h.current,g=d.current;if(!x||!g)return;let b=null;const y=()=>{const S=x.clientWidth;if(!S){M();return}let C=i,B=n,A=i;for(;C<=B;){const H=Math.floor((C+B)/2);g.style.fontSize=`${H}px`,g.scrollWidth<=S?(A=H,C=H+1):B=H-1}p(A)},M=()=>{b&&cancelAnimationFrame(b),b=requestAnimationFrame(y)};M();const L=new ResizeObserver(M);return L.observe(x),()=>{b&&cancelAnimationFrame(b),L.disconnect()}},[t,n,i]),r.jsx("div",{ref:h,className:"w-full min-w-0",children:r.jsx("div",{ref:d,className:`whitespace-nowrap ${a}`,style:{fontSize:`${v}px`,lineHeight:1.1,...u||{}},children:t})})}function eu({rover:t,frame:a,driverLabel:n,sessionInfo:i,videoMode:u="snapshot",snapshotFeed:h,withDivider:d=!1,showPreview:v=!0,variant:p="stacked"}){const x=s41({rover:t,frame:a}),g=x?.available?x.percentDisplay:null,b=p==="active";return r.jsxs("div",{className:`relative flex min-w-0 flex-1 flex-col gap-4 overflow-hidden bg-black px-0 py-0 ${d?"border-r border-slate-700/60":""}`,children:[r.jsx(Ae,{visual:x,orientation:b?"vertical":"horizontal",variant:"background"}),b?r.jsxs("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col justify-between text-center",children:[r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(j4,{rover:t,fallback:t.id,as:p3,className:"leading-none",maxSize:1e3,minSize:18})}),n?r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:n})}):r.jsx("div",{}),r.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:r.jsx("div",{className:"relative",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:g==null?"--%":`${g}%`})})})]}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"relative z-10 flex min-w-0 flex-col gap-1 text-center",children:[r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(j4,{rover:t,fallback:t.id,as:p3,className:"leading-none",maxSize:1e3,minSize:18})}),n?r.jsx("div",{className:"min-w-0 bg-transparent px-0 py-0 leading-none",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:1e3,minSize:16,children:n})}):null,r.jsx("div",{className:"relative min-w-0 overflow-hidden bg-transparent px-0 py-0 leading-none",children:r.jsx("div",{className:"relative",children:r.jsx(p3,{className:"font-semibold leading-none text-white",maxSize:80,minSize:16,children:g==null?"--%":`${g}%`})})})]}),r.jsx("div",{className:"relative z-10 flex min-w-0 flex-1 flex-col gap-4",children:r.jsx("div",{className:"flex w-full min-w-0 flex-1 flex-col items-center gap-4",children:v?r.jsx("div",{className:"mt-auto w-full",children:r.jsx("div",{className:"w-full aspect-[4/3]",children:r.jsx(G8,{sessionInfo:i,videoMode:u,snapshotFeed:h,audioSessionInfo:null,label:t.name||t.id,sensors:a?.sensors||null})})}):null})})]})]})}const o41=2e4,u41=3600*1e3;function h41(t){return!!(t?.media?.audioCapture?.enabled&&t?.media?.audioCapture?.publishUrl)}function d41(){const{session:t}=N0(),a=Re();l5(),R0();const n=t?.mode==="lockdown",i=!!t?.isLocalNetwork,u=Og(),h=t?.roster??[],[d,v]=m.useState(0),p=t?.activeDrivers||{},x=m.useMemo(()=>h.filter(q=>p[q.id]),[h,p]),g=x.length?x:h,b=Uh(g.map(q=>q.id),{enabled:!n&&!i,version:t?.mode}),y=m.useMemo(()=>i?g.map(q=>({type:"rover",id:q.id,key:q.id})):[],[i,g]),M=aa(y,{enabled:!n&&i,version:t?.mode}),L=m.useMemo(()=>x.flatMap(q=>{if(!q?.id||!h41(q))return[];const $=String(q.id);return[{type:"rover",id:`${$}-audio`,key:`${$}-audio`}]}),[x]),S=aa(L,{enabled:!n,version:t?.mode}),C=m.useMemo(()=>{if(!x.length)return[];if(!i){const $=x.filter(D=>b[D.id]?.objectUrl);return $.length?$:x}const q=x.filter($=>{const D=M[$.id];return D?.url&&!D?.error});return q.length?q:x},[x,b,M,i]),B=m.useMemo(()=>C.map(q=>({type:"rover",rover:q})),[C]),A=m.useMemo(()=>B.map(q=>`r:${q.rover.id}`).join("|"),[B]);m.useEffect(()=>{v(0)},[A]),m.useEffect(()=>{if(!B.length)return;const q=setInterval(()=>{v($=>($+1)%B.length)},o41);return()=>clearInterval(q)},[B.length,A]);const H=B.length?B[d%B.length]:null,j=H?.type==="rover"?H.rover:null,_=!i&&j&&b[j.id]||null,F=i&&j&&M[j.id]||null,N=j&&S[`${j.id}-audio`]||null,V=j&&u[j.id]||null,R=j?i41({roverId:j.id,session:t}):null;return n?r.jsx("div",{className:"relative flex h-screen w-screen items-center justify-center bg-black text-slate-200",children:r.jsxs("div",{className:"surface max-w-sm space-y-0.5 p-1 text-center text-sm",children:[r.jsx("p",{className:"text-lg font-semibold text-white",children:"Mini spectator is disabled in lockdown."}),r.jsx("p",{className:"text-slate-300",children:"It will automatically resume once lockdown ends."})]})}):x.length?r.jsxs("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:[r.jsx("section",{className:"relative flex h-full shrink-0 items-center justify-start overflow-hidden bg-black",style:{width:"min(100vw, calc(100vh * 4 / 3))"},children:a?j?r.jsx(l41,{children:i?r.jsx("div",{className:"relative h-full w-full",children:B.map(q=>{const $=q.rover,D=j?.id===$.id;return r.jsx("div",{className:`absolute inset-0 ${D?"opacity-100":"opacity-0 pointer-events-none"}`,children:r.jsx(G8,{sessionInfo:M[$.id]||null,videoMode:"whep",snapshotFeed:null,audioSessionInfo:D?N:null,forceMute:!D,label:$.name||$.id,sensors:u[$.id]?.sensors||null})},$.id)})}):r.jsx(G8,{sessionInfo:null,videoMode:"snapshot",snapshotFeed:_,audioSessionInfo:N,label:j.name||j.id,sensors:V?.sensors||null})}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:x.length?"No sources available.":"No active drivers."}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"Switching to spectator…"})}),r.jsx("aside",{className:"flex h-full min-w-0 flex-1 flex-col border-l border-slate-800/60 bg-black",children:j?r.jsx(eu,{rover:j,frame:V,driverLabel:R,sessionInfo:i?F:null,videoMode:i?"whep":"snapshot",snapshotFeed:i?null:b[j.id]||null,showPreview:!1,variant:"active"}):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No active rover."})})]}):r.jsx("div",{className:"relative flex h-screen w-screen overflow-hidden bg-black text-slate-100",children:r.jsx("section",{className:"flex h-full w-full gap-x-3 bg-slate-900 px-0",children:h.length?h.map(q=>r.jsx(eu,{rover:q,frame:u[q.id]||null,driverLabel:null,sessionInfo:i&&M[q.id]||null,videoMode:i?"whep":"snapshot",snapshotFeed:i?null:b[q.id]||null,showPreview:!0,withDivider:!1},q.id)):r.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"No rovers available."})})})}function f41(){return m.useEffect(()=>{if(typeof window>"u")return;const t=setTimeout(()=>{const a=new URL(window.location.href);a.searchParams.set("refresh",Date.now().toString()),window.location.replace(a.toString())},u41);return()=>clearTimeout(t)},[]),r.jsxs(r.Fragment,{children:[r.jsx(d41,{}),r.jsx(Ra,{scale:3})]})}function Ed(t){return String(t?.nickname||t?.socketId?.slice(0,6)||"unknown").trim()}function m41({roverId:t,session:a}){const n=a?.activeDrivers?.[t]||null;if(!n)return null;const i=(a?.users||[]).find(u=>u.socketId===n);return{socketId:n,label:Ed(i||{socketId:n})}}function v41({rover:t,frame:a}){return a5({batteryState:t?.batteryState??null,charge:a?.sensors?.batteryChargeMah??null,config:t?.battery??null})}function p41(t){return t?.available?t.urgentActive?`${t.percentDisplay}% Low`:t.warnActive?`${t.percentDisplay}% Low`:`${t.percentDisplay}%`:"--"}function g41(t,a){const n=[];return t?.private?.enabled&&t?.private?.open&&n.push("Private"),(a?.urgentActive||a?.warnActive)&&n.push("Low"),n.join(" · ")}function x41(t){return t<=1?"grid-cols-1":t===2||t===4?"grid-cols-2":"grid-cols-3"}function z41(...t){return t.filter(Boolean).join(" ")}function b41({users:t=[]}){const a=m.useRef(null),n=m.useRef(null),i=m.useRef(null),[u,h]=m.useState(!1),d=m.useMemo(()=>t.filter(x=>x?.role!=="spectator").map(Ed).filter(Boolean).sort((x,g)=>x.localeCompare(g)),[t]);m.useEffect(()=>{const x=a.current,g=i.current;if(!x||!g)return;const b=()=>{h(g.scrollWidth>x.clientWidth+4)};b();const y=new ResizeObserver(b);return y.observe(x),y.observe(g),()=>y.disconnect()},[d]),m.useEffect(()=>{const x=n.current;if(!x||!u)return;const g=x.animate([{transform:"translateX(0)"},{transform:"translateX(-50%)"}],{duration:42e3,iterations:1/0,easing:"linear"});return()=>g.cancel()},[u,d]);const p=(d.length?d:["No one online"]).map((x,g)=>r.jsx("span",{className:"shrink-0 px-[1.6vw] font-black tracking-normal text-slate-100",children:x},`${x}-${g}`));return r.jsx("div",{ref:a,className:"relative h-full min-w-0 overflow-hidden border-b border-slate-800/80 bg-black",children:r.jsxs("div",{ref:n,className:z41("flex h-full w-max items-center whitespace-nowrap text-[clamp(2.5rem,5.3vh,5.8rem)] leading-none"),children:[r.jsx("div",{ref:i,className:"flex h-full items-center",children:p}),u?r.jsx("div",{className:"flex h-full items-center","aria-hidden":"true",children:p}):null]})})}function Ec(...t){return t.filter(Boolean).join(" ")}function y41({rover:t,session:a}){const i={sensors:K3(t?.id,Se,Ce)},u=v41({rover:t,frame:i}),h=m41({roverId:t?.id,session:a}),d=g41(t,u),v=p41(u),p=!!h,x=!!u?.urgentActive,g=!!u?.warnActive,b=!!t?.locked;return r.jsxs("article",{className:Ec("relative min-h-0 overflow-hidden border border-slate-800 bg-black",b?"border-red-400 ring-4 ring-red-500/80":"",!b&&p?"ring-2 ring-sky-400/80":"",!b&&x?"ring-4 ring-red-500/90":!b&&g?"ring-2 ring-amber-300/80":""),children:[r.jsx(Ae,{visual:u,variant:"background",orientation:"vertical"}),r.jsxs("div",{className:"relative z-10 grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)_auto] gap-[0.55vh] p-[0.85vw] text-center",children:[r.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start gap-[0.8vw]",children:[r.jsx("div",{className:"min-w-0",children:r.jsx(j4,{rover:t,fallback:t?.id,as:p3,className:"leading-none",maxSize:108,minSize:26})}),b?r.jsxs("div",{className:"max-w-[40vw] border-4 border-red-100 bg-red-700 px-[1vw] py-[0.55vh] text-center text-[clamp(2rem,5vh,5.2rem)] font-black leading-none text-white",children:[r.jsx("div",{children:"LOCKED"}),t?.lockReason?r.jsx("div",{className:"mt-[0.35vh] text-[clamp(1.2rem,2.9vh,3rem)] leading-none text-red-50",children:t.lockReason}):null]}):null]}),r.jsxs("div",{className:"grid min-h-0 min-w-0 grid-cols-[minmax(0,1.45fr)_minmax(0,0.85fr)] items-center gap-[1vw]",children:[r.jsx("div",{className:"min-w-0",children:r.jsx(p3,{className:Ec("font-black leading-none",p?"text-white":"text-slate-400"),maxSize:172,minSize:38,children:h?.label||"Idle"})}),r.jsx("div",{className:"min-w-0",children:r.jsx(p3,{className:Ec("font-black leading-none",x?"text-red-100":g?"text-amber-100":"text-slate-100"),maxSize:136,minSize:32,children:v})})]}),d?r.jsx("div",{className:"min-w-0 text-[clamp(1.25rem,2.5vh,2.6rem)] font-black leading-none text-amber-100",children:d}):r.jsx("div",{"aria-hidden":"true"})]})]})}function M41({roster:t=[],session:a}){return t.length?r.jsx("section",{className:`grid h-full min-h-0 ${x41(t.length)} auto-rows-fr gap-0.5 bg-slate-950 p-0.5`,children:t.map(n=>r.jsx(y41,{rover:n,session:a},n.id))}):r.jsx("section",{className:"flex h-full min-h-0 items-center justify-center border-b border-slate-800 bg-black text-[clamp(2.5rem,7vh,7rem)] font-black text-slate-500",children:"No rovers"})}function w41(){return r.jsx("section",{className:"h-full min-h-0 overflow-hidden border-t border-slate-800 bg-black",children:r.jsx("div",{className:"origin-top-left",style:{width:`calc(100% / ${4.6})`,height:`calc(100% / ${4.6})`,transform:`scale(${4.6})`},children:r.jsx(n5,{minimal:!0,fillHeight:!0,hideSpectatorNotice:!0})})})}const C41=4500;function S41(t={}){const a=String(t?.text||"").trim();if(!a)return null;const n=Number.isFinite(Number(t?.durationMs))?Math.max(1200,Math.min(15e3,Number(t.durationMs))):C41;return{id:t?.id||`display-notice-${Date.now()}`,text:a,durationMs:n}}function H41(){const t=N2(),[a,n]=m.useState(null),i=m.useRef(null);return m.useEffect(()=>{function u(){i.current&&(clearTimeout(i.current),i.current=null)}function h(d={}){const v=S41(d);v&&(u(),n(v),i.current=setTimeout(()=>{n(p=>p?.id===v.id?null:p),i.current=null},v.durationMs))}return t.on("display:notice",h),()=>{u(),t.off("display:notice",h)}},[t]),a?r.jsx("div",{className:"pointer-events-none fixed inset-0 z-[130] flex items-center justify-center bg-black px-[4vw] py-[4vh]",children:r.jsx("div",{className:"max-w-[92vw] border-4 border-cyan-200 bg-slate-950 px-[3vw] py-[2.5vh] text-center",children:r.jsx("div",{className:"whitespace-pre-wrap text-[clamp(3.2rem,11vh,11rem)] font-black leading-[0.95] text-white",children:a.text})})}):null}function A41(){const{session:t}=N0(),a=o1(u=>u.latestReplay),{clearLatestReplay:n}=O2(),i=t?.mode==="lockdown";return l5(),R0(),Re(),i?r.jsx("div",{className:"flex h-screen w-screen items-center justify-center bg-black text-[clamp(2.5rem,8vh,8rem)] font-black text-slate-200",children:"Lockdown"}):r.jsxs("div",{className:"display-page flex h-screen w-screen flex-col overflow-hidden bg-black text-slate-100",children:[r.jsx("div",{className:"h-[8vh] min-h-[4rem] shrink-0",children:r.jsx(b41,{users:t?.users||[]})}),r.jsx("div",{className:"min-h-0 flex-[0.72]",children:r.jsx(M41,{roster:t?.roster||[],session:t})}),r.jsx("div",{className:"min-h-0 flex-[1.28]",children:r.jsx(w41,{})}),r.jsx(H41,{}),r.jsx(tn,{}),r.jsx(ja,{replay:a,onClose:n})]})}function L41(){return r.jsx(A41,{})}const V41=1500,B41=700,N41=350,j41="scanner.preferredVoiceName",cu=/female|samantha|victoria|allison|zira|karen|moira|serena|ava|susan|hazel|google (us|uk) english/i,k41=/whisper|bubbles|bells|boing|bad news|bahh|cellos|deranged|good news|hysterical|pipe organ|trinoids|zarvox/i;function F41(t){return k41.test(String(t?.name||""))}function au(t){const a=typeof t?.getVoices=="function"?t.getVoices():[];if(!a.length)return null;const n=typeof window<"u"?String(window.localStorage.getItem(j41)||"").trim():"",i=n?a.find(v=>String(v?.name||"")===n):null;if(i)return i;const u=a.filter(v=>!F41(v)),h=u.find(v=>v?.default)||null,d=u.filter(v=>String(v?.lang||"").toLowerCase().startsWith("en"));return d.find(v=>cu.test(String(v?.name||"")))||u.find(v=>cu.test(String(v?.name||"")))||h||d[0]||u[0]||null}function R41(t){return t?t instanceof ArrayBuffer?t:ArrayBuffer.isView(t)?t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength):Array.isArray(t)?new Uint8Array(t).buffer:null:null}function E41(t){const a=R41(t?.buffer);if(!a)return null;const n=String(t?.mime||"audio/wav").trim()||"audio/wav",i=new Blob([a],{type:n}),u=URL.createObjectURL(i),h=new Audio(u);return h.volume=1,{play:()=>h.play().finally(()=>{h.onended=()=>URL.revokeObjectURL(u)}),stop:()=>{h.pause(),h.removeAttribute("src"),h.load(),URL.revokeObjectURL(u)}}}function T41(t,a=null){const n=m.useRef(null),i=m.useRef(null),u=m.useRef(null),h=m.useRef(null),d=m.useRef(null);m.useEffect(()=>()=>{window.clearTimeout(n.current),window.clearTimeout(i.current),window.clearTimeout(h.current),d.current?.stop()},[]),m.useEffect(()=>{const v=String(t?.speechText||"").trim(),p=t?.scannedAt?`${t.scannedAt}:${v}`:"";if(!v||!p||u.current===p)return;let x=!1;function g(){window.clearTimeout(n.current),window.clearTimeout(i.current),window.clearTimeout(h.current),n.current=null,i.current=null,h.current=null}function b(){x||(g(),n.current=window.setTimeout(()=>L(),B41))}function y(){const S=window.speechSynthesis;if(!S||typeof window.SpeechSynthesisUtterance!="function"){b();return}g(),S.cancel();const C=new window.SpeechSynthesisUtterance(v),B=au(S);B&&(C.voice=B,C.lang=B.lang),C.rate=1,C.pitch=1,C.volume=1,C.onstart=()=>{window.clearTimeout(i.current),i.current=null},C.onend=()=>{g()},C.onerror=()=>{b()},S.speak(C),i.current=window.setTimeout(()=>{S.cancel(),b()},V41)}function M(){u.current=p}function L(){x||(M(),g(),d.current?.stop(),y())}return h.current=window.setTimeout(L,N41),()=>{x=!0,g(),d.current?.stop()}},[t]),m.useEffect(()=>{const v=String(a?.scan?.speechText||"").trim(),p=a?.scan?.scannedAt?`${a.scan.scannedAt}:${v}`:"",x=String(t?.speechText||"").trim(),g=t?.scannedAt?`${t.scannedAt}:${x}`:"";if(!p||p!==g||u.current===p)return;const b=E41(a.audio);b&&(window.clearTimeout(h.current),h.current=null,u.current=p,d.current?.stop(),d.current=b,b.play().catch(()=>{u.current=p;const y=window.speechSynthesis;if(!y||typeof window.SpeechSynthesisUtterance!="function")return;y.cancel();const M=new window.SpeechSynthesisUtterance(x),L=au(y);L&&(M.voice=L,M.lang=L.lang),M.rate=1,M.pitch=1,M.volume=1,y.speak(M)}))},[t,a])}const nu={beepAllowed:!1,lastScan:null,registryError:null},ru=10*1e3,_41=5*1e3;function q41(t){const[a,n]=m.useState(()=>Date.now());return m.useEffect(()=>{if(!t)return;const i=window.setInterval(()=>{n(Date.now())},500);return()=>window.clearInterval(i)},[t]),a}function D41(t,a){if(!Number.isFinite(t))return"";const n=Math.max(0,Math.ceil((t-a)/1e3)),i=Math.floor(n/60),u=n%60;return i>0?`${i}:${String(u).padStart(2,"0")}`:`${u}s`}function O41(t){return typeof t=="string"?t:!t||typeof t!="object"?"":String(t.label||t.value||t.text||"").trim()}function U41(t){return Array.isArray(t)?t.map(a=>({title:String(a?.title||"").trim(),items:Array.isArray(a?.items)?a.items.map(n=>({text:O41(n),status:typeof n=="object"&&n?n.status:null})).filter(n=>n.text):[]})).filter(a=>a.title||a.items.length).slice(0,3):[]}function I41(){const t=window.AudioContext||window.webkitAudioContext;if(!t)return;const a=new t,n=a.createOscillator(),i=a.createGain(),u=a.currentTime;n.type="square",n.frequency.setValueAtTime(980,u),i.gain.setValueAtTime(1e-4,u),i.gain.exponentialRampToValueAtTime(.95,u+.015),i.gain.exponentialRampToValueAtTime(1e-4,u+.2),n.connect(i),i.connect(a.destination),n.start(u),n.stop(u+.22),n.onended=()=>{a.close().catch(()=>{})}}function P41(){const t=N2(),a=m.useRef(null),n=m.useRef(null),i=m.useRef(!1),[u,h]=m.useState(nu),[d,v]=m.useState({connected:!!t.connected,stale:!0,lastReceivedAt:null}),[p,x]=m.useState(null),[g,b]=m.useState(!1),{state:y,connectionState:M}=md();l5(),R0(),Re(),T41(u.lastScan,p);const L=m.useCallback(()=>{a.current?.focus()},[]);m.useEffect(()=>{L()},[L]),m.useEffect(()=>()=>{window.clearTimeout(n.current)},[]),m.useEffect(()=>{let W=!1,n1=null,Y=null,E=0;function I(O={}){W||(E=Date.now(),i.current||(i.current=!0,u1("scanner_route_ready",{beepAllowed:!!O?.beepAllowed})),h({...nu,...O&&typeof O=="object"?O:{}}),v({connected:!!t.connected,stale:!1,lastReceivedAt:E}))}function Z(O=null){x(O&&typeof O=="object"?O:null),u1("barcode_scan_audio_play",{hasPayload:!!(O&&typeof O=="object")})}function t1(){t.emit("barcode:subscribe",{},(O={})=>{if(O.state){I(O.state);return}v(K=>({...K,connected:!!t.connected,stale:!E}))})}function h1(){v(O=>({...O,connected:!0,stale:!E})),t1()}function T(){v(O=>({...O,connected:!1,stale:!0}))}return t.on("barcode:state",I),t.on("barcode:scanAudio",Z),t.on("connect",h1),t.on("disconnect",T),t1(),n1=window.setInterval(()=>{const O=!E||Date.now()-E>ru;O&&E&&x3("scanner_state_stale",{connected:!!t.connected},{key:`scanner_state_stale:${!!t.connected}`,throttleMs:60*1e3}),v(K=>({...K,connected:!!t.connected,stale:O}))},1e3),Y=window.setInterval(()=>{t.connected&&(!E||Date.now()-E>ru)&&t1()},_41),()=>{W=!0,window.clearInterval(n1),window.clearInterval(Y),t.off("barcode:state",I),t.off("barcode:scanAudio",Z),t.off("connect",h1),t.off("disconnect",T)}},[t]);const S=m.useCallback(()=>{const W=String(a.current?.value||"").trim();if(!W){L();return}u.beepAllowed&&(window.clearTimeout(n.current),b(!0),n.current=window.setTimeout(()=>{b(!1)},120),I41()),u1("barcode_scan_submit",{length:W.length,beepAllowed:u.beepAllowed}),t.emit("barcode:scan",{code:W},()=>{}),a.current.value="",L()},[L,u.beepAllowed,t]),C=u.lastScan,B=y.activeGame,A=B?.display||{},H=A.timer?.endsAt,j=q41(Number.isFinite(H)),_=D41(H,j),F=B?.status&&B.status!=="idle",N=F?A.title||B?.title||"Barcode games":C?.label||"Waiting",V=F&&A.primary||"",R=F&&A.secondary||"",q=F?U41(A.sections):[],$=Array.isArray(y.participants)?y.participants:[],D=d.connected?d.stale||M.stale?"syncing":"":"scanner offline";return r.jsxs("main",{className:`flex min-h-screen cursor-default flex-col items-center justify-center overflow-hidden px-6 text-center ${g?"bg-white text-black":"bg-black text-white"}`,onClick:L,children:[r.jsx("input",{ref:a,"aria-label":"barcode scanner input",className:"absolute left-0 top-0 h-px w-px opacity-0",autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,onKeyDown:W=>{W.key==="Enter"&&(W.preventDefault(),S())}}),r.jsx("section",{className:"flex min-h-screen w-full items-center justify-center",children:r.jsxs("div",{className:"flex max-w-full flex-col items-center gap-[3vh]",children:[r.jsx("h1",{className:"max-w-full break-words text-[17vw] font-black leading-none tracking-normal",children:N}),r.jsx("p",{className:"max-w-full break-words text-[6vw] font-bold leading-tight tracking-normal",children:V}),R?r.jsx("p",{className:"max-w-full break-words text-[4vw] font-bold leading-tight tracking-normal",children:R}):null,q.length?r.jsx("div",{className:"flex max-w-full flex-col items-center gap-[1vh]",children:q.map((W,n1)=>r.jsxs("div",{className:"max-w-full",children:[W.title?r.jsx("p",{className:"text-[2.6vw] font-bold leading-tight tracking-normal opacity-80",children:W.title}):null,r.jsx("div",{className:"flex max-w-full flex-col items-center gap-[0.4vh]",children:W.items.slice(0,8).map((Y,E)=>r.jsx("p",{className:`max-w-full break-words text-[3.1vw] leading-tight tracking-normal ${Y.status==="active"?"font-black":Y.status==="complete"?"font-semibold opacity-45":"font-bold opacity-85"}`,children:Y.text},`${Y.text}-${E}`))})]},`${W.title||"section"}-${n1}`))}):null,_?r.jsx("p",{className:"font-mono text-[7vw] font-black leading-none tracking-normal",children:_}):null,$.length?r.jsx("p",{className:"max-w-full truncate text-[3vw] font-semibold leading-tight tracking-normal",children:$.map(W=>W.nickname||W.roverId).filter(Boolean).join(" / ")}):null]})}),D?r.jsx("div",{className:"absolute bottom-4 left-4 text-left text-[2.5vw] font-bold leading-none tracking-normal opacity-80 md:text-xl",children:D}):null,r.jsx(en,{})]})}function $41(){return r.jsx(P41,{})}function Q3(t,a,n={}){return new Promise((i,u)=>{t.emit(a,n,(h={})=>{if(h.error){u(new Error(h.error));return}i(h)})})}function Z41(t){return Q3(t,"identityAdmin:listUsers")}function lu(t,a){return Q3(t,"identityAdmin:getUser",{userId:a})}function G41(t,a,n,i){return Q3(t,"identityAdmin:addSignal",{userId:a,type:n,value:i})}function Y41(t,a,n,i){return Q3(t,"identityAdmin:removeSignal",{userId:a,type:n,value:i})}function K41(t,a,n){return Q3(t,"identityAdmin:setVerified",{userId:a,enabled:n})}function Q41(t,a,n,i){return Q3(t,"identityAdmin:setDeterrence",{userId:a,enabled:n,reason:i})}function X41(t,a,n,i){return Q3(t,"identityAdmin:updateFeatureState",{userId:a,namespace:n,value:i})}function W41(t,a,n){return Q3(t,"identityAdmin:deleteFeatureState",{userId:a,namespace:n})}const da={cookieUserId:"Cookie keys",fingerprintId:"Fingerprints",nickname:"Nicknames",knownIp:"Known IPs"},J41={cookieUserId:"cookieUserIds",fingerprintId:"fingerprintIds",nickname:"nicknames",knownIp:"knownIps"};function iu(t){const a=String(t||"").trim();return a?a.length<=14?a:`${a.slice(0,8)}...${a.slice(-6)}`:"n/a"}function fa(t){const a=Number(t||0);if(!Number.isFinite(a)||a<=0)return"never";try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(a))}catch{return new Date(a).toLocaleString()}}function t31(t,a){const n=String(a||"").trim().toLowerCase();return n?[t?.id,t?.nickname,...t?.cookieUserIds||[],...t?.fingerprintIds||[],...t?.nicknames||[],...t?.knownIps||[],...t?.featureNamespaces||[]].join(" ").toLowerCase().includes(n):!0}function e31(t,a){return a==="verified"?!!t?.verified?.enabled:a==="deterred"?!!t?.deterrence?.enabled:a==="unverified"?!t?.verified?.enabled:!0}function ma(t){return JSON.stringify(t??{},null,2)}function c31(t){const a=JSON.parse(String(t||"").trim()||"{}");if(!a||typeof a!="object")throw new Error("JSON must be an object or array.");return a}const a31=[{key:"all",label:"All"},{key:"verified",label:"Verified"},{key:"deterred",label:"Deterred"},{key:"unverified",label:"Unverified"}];function su({active:t,children:a}){return r.jsx("span",{className:`rounded px-1 py-0.25 text-[0.68rem] font-semibold ${t?"bg-emerald-700 text-emerald-50":"bg-neutral-800 text-neutral-300"}`,children:a})}function n31({users:t,selectedUserId:a,query:n,filter:i,loading:u,onQuery:h,onFilter:d,onRefresh:v,onSelect:p}){const x=m.useMemo(()=>t.filter(b=>e31(b,i)&&t31(b,n)),[i,n,t]),g=r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:v,disabled:u,children:u?"Loading":"Refresh"});return r.jsxs(N1,{title:"Identity database",meta:x.length,actions:g,bodyClassName:"flex min-h-0 flex-col gap-0.5 p-0.5 text-sm",children:[r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1fr)_10rem]",children:[r.jsx("input",{className:"field-input text-sm",type:"search",placeholder:"Search users, keys, fingerprints, IPs",value:n,onChange:b=>h(b.target.value)}),r.jsx("select",{className:"field-input text-sm",value:i,onChange:b=>d(b.target.value),children:a31.map(b=>r.jsx("option",{value:b.key,children:b.label},b.key))})]}),r.jsx("div",{className:"min-h-[18rem] flex-1 overflow-y-auto",children:x.length?x.map(b=>r.jsxs("button",{type:"button",className:`surface mb-0.5 grid w-full grid-cols-[minmax(0,1fr)_auto] gap-0.5 px-1 py-0.75 text-left text-xs ${a===b.id?"border border-sky-400/70":""}`,onClick:()=>p(b.id),children:[r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block truncate text-sm font-semibold text-slate-100",children:b.nickname||"unknown user"}),r.jsx("span",{className:"block truncate font-mono text-[0.68rem] text-slate-400",children:b.id}),r.jsxs("span",{className:"block truncate text-[0.68rem] text-slate-400",children:[iu(b.cookieUserIds?.[0])," / ",iu(b.fingerprintIds?.[0])]})]}),r.jsxs("span",{className:"flex flex-col items-end gap-0.25",children:[r.jsx(su,{active:b.verified?.enabled,children:"verified"}),r.jsx(su,{active:b.deterrence?.enabled,children:"deterred"})]})]},b.id)):r.jsx("p",{className:"surface p-1 text-center text-xs text-slate-400",children:"No users match this view."})})]})}function r31({user:t}){return r.jsxs(N1,{title:"User details",bodyClassName:"grid gap-0.5 p-0.5 text-sm md:grid-cols-2",children:[r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Canonical user id"}),r.jsx("p",{className:"break-all font-mono text-xs text-lime-300",children:t.id})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Primary nickname"}),r.jsx("p",{className:"font-semibold text-slate-100",children:t.nickname||"unknown user"})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Created"}),r.jsx("p",{children:fa(t.createdAt)})]}),r.jsxs("div",{className:"surface px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Last seen"}),r.jsx("p",{children:fa(t.lastSeenAt)})]})]})}function l31({user:t,type:a,onAdd:n,onRemove:i}){const[u,h]=m.useState(""),d=t?.[J41[a]]||[],v=async p=>{p.preventDefault();const x=u.trim();x&&(await n(a,x),h(""))};return r.jsxs("div",{className:"surface space-y-0.5 px-1 py-0.75",children:[r.jsx("p",{className:"text-xs font-semibold text-slate-200",children:da[a]}),r.jsx("div",{className:"space-y-0.5",children:d.length?d.map(p=>r.jsxs("div",{className:"surface-muted grid grid-cols-[minmax(0,1fr)_auto] items-center gap-0.5 px-1 py-0.5",children:[r.jsx("span",{className:"min-w-0 break-all font-mono text-[0.7rem] text-slate-200",children:p}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>i(a,p),children:"Remove"})]},p)):r.jsx("p",{className:"text-xs text-slate-500",children:"No values."})}),r.jsxs("form",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1fr)_auto]",onSubmit:v,children:[r.jsx("input",{className:"field-input text-xs",value:u,placeholder:`Add ${da[a].toLowerCase()}`,onChange:p=>h(p.target.value)}),r.jsx("button",{type:"submit",className:"button-dark text-xs",disabled:!u.trim(),children:"Add"})]})]})}function i31({user:t,onAddSignal:a,onRemoveSignal:n}){return r.jsx(N1,{title:"Identity signals",bodyClassName:"grid gap-0.5 p-0.5 text-sm xl:grid-cols-2",children:Object.keys(da).map(i=>r.jsx(l31,{user:t,type:i,onAdd:a,onRemove:n},i))})}function s31({user:t,onVerified:a,onDeterrence:n}){const[i,u]=m.useState(t?.deterrence?.reason||"");return m.useEffect(()=>{u(t?.deterrence?.reason||"")},[t?.deterrence?.reason,t?.id]),r.jsxs(N1,{title:"Status",bodyClassName:"grid gap-0.5 p-0.5 text-sm md:grid-cols-2",children:[r.jsxs("div",{className:"surface space-y-0.5 px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Verification"}),r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-100",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-emerald-500",checked:!!t?.verified?.enabled,onChange:h=>a(h.target.checked)}),r.jsx("span",{children:"Verified"})]}),r.jsxs("p",{className:"text-xs text-slate-500",children:["Updated ",fa(t?.verified?.at)]})]}),r.jsxs("div",{className:"surface space-y-0.5 px-1 py-0.75",children:[r.jsx("p",{className:"text-xs text-slate-400",children:"Deterrence"}),r.jsxs("label",{className:"flex items-center gap-0.5 text-slate-100",children:[r.jsx("input",{type:"checkbox",className:"h-3.5 w-3.5 accent-red-500",checked:!!t?.deterrence?.enabled,onChange:h=>n(h.target.checked,i)}),r.jsx("span",{children:"Deterred"})]}),r.jsx("textarea",{className:"field-input min-h-[4rem] w-full text-xs",value:i,placeholder:"Deterrence reason",onChange:h=>u(h.target.value)}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>n(!!t?.deterrence?.enabled,i),children:"Save Reason"})]})]})}function o31({user:t,onSaveFeature:a,onDeleteFeature:n}){const i=m.useMemo(()=>Object.keys(t?.features||{}).sort(),[t?.features]),[u,h]=m.useState(""),[d,v]=m.useState("{}"),[p,x]=m.useState("");m.useEffect(()=>{const y=i.includes(u)?u:i[0]||"";h(y),v(ma(y?t.features[y]:{})),x("")},[u,i,t]);const g=async()=>{const y=u.trim();if(!y){x("Namespace required.");return}try{const M=c31(d);await a(y,M),x("")}catch(M){x(M.message||"Invalid JSON.")}},b=async()=>{const y=u.trim();y&&window.confirm(`Delete feature state "${y}" from ${t.id}?`)&&await n(y)};return r.jsxs(N1,{title:"Feature state",bodyClassName:"space-y-0.5 p-0.5 text-sm",children:[r.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1fr)_auto_auto]",children:[r.jsx("input",{className:"field-input text-sm",value:u,placeholder:"Namespace",list:"identity-feature-namespaces",onChange:y=>{const M=y.target.value;h(M),v(ma(t.features?.[M]||{}))}}),r.jsx("datalist",{id:"identity-feature-namespaces",children:i.map(y=>r.jsx("option",{value:y},y))}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:g,children:"Save"}),r.jsx("button",{type:"button",className:"button-dark text-xs",onClick:b,disabled:!u.trim(),children:"Delete"})]}),r.jsx("textarea",{className:"field-input min-h-[18rem] w-full font-mono text-xs",value:d,spellCheck:!1,onChange:y=>v(y.target.value)}),p?r.jsx("p",{className:"surface text-xs text-red-300",children:p}):null]})}function u31({user:t}){return r.jsx(N1,{title:"Raw record",bodyClassName:"p-0.5 text-xs",children:r.jsx("pre",{className:"surface max-h-[36rem] overflow-auto whitespace-pre-wrap break-words font-mono text-[0.7rem] text-lime-300",children:ma(t)})})}function h31(){const t=N2(),[a,n]=m.useState([]),[i,u]=m.useState(null),[h,d]=m.useState(""),[v,p]=m.useState("all"),[x,g]=m.useState(!1),[b,y]=m.useState(""),M=m.useCallback(async()=>{g(!0);try{const N=await Z41(t);if(n(N.users||[]),i?.id){const V=await lu(t,i.id);u(V.user||null)}y("")}catch(N){y(N.message||"Failed to load users.")}finally{g(!1)}},[i?.id,t]),L=m.useCallback(async N=>{g(!0);try{const V=await lu(t,N);u(V.user||null),y("")}catch(V){y(V.message||"Failed to load user.")}finally{g(!1)}},[t]),S=m.useCallback(N=>{u(N||null),N?.id&&n(V=>V.map(R=>R.id===N.id?{...R,...N}:R))},[]),C=m.useCallback(async(N,V)=>{if(i?.id){g(!0);try{const R=await N(i.id);S(R.user),y(V||"Saved.")}catch(R){y(R.message||"Save failed.")}finally{g(!1)}}},[S,i?.id]);m.useEffect(()=>{M()},[]);const B=(N,V)=>C(R=>G41(t,R,N,V),"Signal added."),A=(N,V)=>C(R=>Y41(t,R,N,V),"Signal removed."),H=N=>C(V=>K41(t,V,N),"Verification updated."),j=(N,V)=>C(R=>Q41(t,R,N,V),"Deterrence updated."),_=(N,V)=>C(R=>X41(t,R,N,V),"Feature state saved."),F=N=>C(V=>W41(t,V,N),"Feature state deleted.");return r.jsxs("div",{className:"grid min-h-0 flex-1 gap-0.5 lg:grid-cols-[24rem_minmax(0,1fr)]",children:[r.jsx(n31,{users:a,selectedUserId:i?.id||null,query:h,filter:v,loading:x,onQuery:d,onFilter:p,onRefresh:M,onSelect:L}),r.jsxs("div",{className:"min-h-0 space-y-0.5 overflow-y-auto",children:[b?r.jsx(N1,{title:"Status",bodyClassName:"p-0.5 text-sm text-slate-200",children:r.jsx("p",{children:b})}):null,i?r.jsxs(r.Fragment,{children:[r.jsx(r31,{user:i}),r.jsxs(Le,{defaultTab:"signals",children:[r.jsxs(Ve,{children:[r.jsx(q2,{id:"signals",children:"Signals"}),r.jsx(q2,{id:"status",children:"Status"}),r.jsx(q2,{id:"features",children:"Feature state"}),r.jsx(q2,{id:"raw",children:"Raw JSON"})]}),r.jsxs(Be,{children:[r.jsx(D2,{id:"signals",children:r.jsx(i31,{user:i,onAddSignal:B,onRemoveSignal:A})}),r.jsx(D2,{id:"status",children:r.jsx(s31,{user:i,onVerified:H,onDeterrence:j})}),r.jsx(D2,{id:"features",children:r.jsx(o31,{user:i,onSaveFeature:_,onDeleteFeature:F})}),r.jsx(D2,{id:"raw",children:r.jsx(u31,{user:i})})]})]})]}):r.jsx(N1,{title:"User details",bodyClassName:"p-1 text-center text-sm text-slate-400",children:"Select a user to inspect and edit the identity record."})]})]})}function d31(t){return t==="lockdown"}function f31(){R0({identitySurface:"passive"});const t=o1(h=>h.session?.role||null),a=o1(h=>h.connected),n=d31(t),i=t==="admin"||n;let u=null;return n?u=r.jsx(h31,{}):i?u=r.jsxs(N1,{title:"Lockdown admin required",bodyClassName:"space-y-0.5 p-1 text-sm text-slate-300",children:[r.jsx("p",{children:"This page can edit the canonical identity database, so it is limited to lockdown admins."}),r.jsx("p",{children:"Log in with a lockdown admin account to continue."})]}):u=r.jsx("div",{className:"mx-auto w-full max-w-md",children:r.jsx(Za,{})}),r.jsxs("div",{className:`${td} min-h-screen text-slate-100`,children:[r.jsx(en,{}),r.jsxs("main",{className:"mx-auto flex min-h-screen w-full max-w-7xl flex-col gap-0.5 p-1",children:[r.jsx(N1,{title:"Identity database",meta:a?t||"connected":"offline",bodyClassName:"p-0.5 text-sm text-slate-300",children:r.jsx("p",{children:"Canonical users, identity signals, verification, deterrence, and per-user feature state."})}),u]})]})}function qt(t){if(!t||!t.length)return null;const a=Math.floor(Math.random()*t.length);return t[a]||null}function m31(){if(typeof document>"u"||!document.body)return;const t=document.body.getElementsByTagName("*");if(!t||t.length<2)return;const a=qt(t),n=qt(t),i=a?.classList?.[0]||null;if(i&&n?.classList)try{n.classList.add(i)}catch{}const u=qt(t),h=qt(t),d=u?.classList?.[1]||null;if(d&&h?.classList)try{h.classList.add(d)}catch{}}function v31(){const t=o1(a=>!!a.session?.moderation?.isDeterred);return m.useEffect(()=>{if(!t)return;const a=window.setInterval(()=>{m31()},1);return()=>{window.clearInterval(a)}},[t]),null}function ou(){return typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait"}function p31(){const[t,a]=m.useState(()=>ou());return m.useEffect(()=>{function n(){a(ou())}return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t}function g31(){const t=Y3(),a=p31(),{value:n}=I1("profile",{nickname:""}),i=o1(L=>L.session),u=m.useRef(null),h=m.useRef(null),d=m.useRef(null),v=m.useRef(""),p=t.pathname||"/",x=String(n?.nickname||i?.nickname||"").trim(),g=String(i?.assignment?.roverId||"").trim(),b=String(i?.role||"").trim(),y=!!i?.isVerified,M=m.useMemo(()=>({route:p,layout:a,nickname:x,hasNickname:!!x,roverId:g,assignedRover:!!g,role:b,verified:y}),[a,x,b,p,g,y]);return m.useEffect(()=>{const L=JSON.stringify(M);v.current!==L&&(v.current=L,VK(M))},[M]),m.useEffect(()=>{u.current!==p&&(u.current=p,u1("route_enter",{route:p,layout:a}))},[a,p]),m.useEffect(()=>{h.current!==a&&(h.current=a,u1("layout_change",{route:p,layout:a}))},[a,p]),m.useEffect(()=>{!g||d.current===g||(d.current=g,u1("rover_assigned",{roverId:g,route:p,layout:a}))},[a,p,g]),null}lv.createRoot(document.getElementById("root")).render(r.jsx(m.StrictMode,{children:r.jsx(kg,{children:r.jsx(Tg,{children:r.jsx(Dg,{children:r.jsx(Nx,{children:r.jsxs(NK,{children:[r.jsx(v31,{}),r.jsxs(yp,{children:[r.jsx(g31,{}),r.jsxs(Wv,{children:[r.jsx(x6,{path:"/",element:r.jsx(G21,{})}),r.jsx(x6,{path:"/spectate",element:r.jsx(r41,{})}),r.jsx(x6,{path:"/mini",element:r.jsx(f41,{})}),r.jsx(x6,{path:"/display",element:r.jsx(L41,{})}),r.jsx(x6,{path:"/scanner",element:r.jsx($41,{})}),r.jsx(x6,{path:"/database",element:r.jsx(f31,{})})]})]})]})})})})})})); +//# sourceMappingURL=index-DRqsCa1W.js.map diff --git a/server/public/assets/index-DRqsCa1W.js.map b/server/public/assets/index-DRqsCa1W.js.map new file mode 100644 index 00000000..51822bdf --- /dev/null +++ b/server/public/assets/index-DRqsCa1W.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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ACtBA,GAAsCgmB,EAC7BG,IAAT,OACYnmB,KAAT,KACIA,GAAsCmmB,EACvCnmB,GAAoC,KAAK,MACvCA,GACAmmB,CACtB,EACA,CACYH,EAAa3gC,CACzB,CAEU,GADA8gC,EAAsB,GACZH,IAAN,EAAkB,QAChC,CACA,CACM,GAAUA,IAAN,EAAkB,CACpBN,GAAkB5E,EAAe,CAAC,EAClC6E,GAAkB7E,EAAej4B,EAAO,EAAG,EAAE,EAC7C,KACR,CACMnL,EAAG,CAGD,OAFAqoC,EAAkBjF,EAClBqF,EAAsBH,EACdG,EAAmB,CACzB,IAAK,GACL,IAAK,GACH,MAAM,MAAM9kC,EAAuB,GAAG,CAAC,EACzC,IAAK,GACH,IAAKwH,EAAQ,WAAaA,EAAO,MACnC,IAAK,GACH88B,GACEI,EACAl9B,EACA4vB,GACA,CAACmM,IAEH,MAAMlnC,EACR,IAAK,GACHsiB,GAAsC,KACtC,MACF,IAAK,GACL,IAAK,GACH,MACF,QACE,MAAM,MAAM3e,EAAuB,GAAG,CAAC,CACnD,CACQ,IACGwH,EAAQ,YAAcA,IACrBm9B,EAAapE,GAA+B,IAAMp6B,GAAG,EACvD,GAAKw+B,GACL,CAOA,GANAL,GACEI,EACAl9B,EACA4vB,GACA,CAACmM,IAEO77B,GAAag9B,EAAiB,EAAG,EAAE,IAAzC,EAA4C,MAAMroC,EACtD4nC,GAAsBz8B,EACtBk9B,EAAgB,cAAgBO,GAC9BC,GAAoB,KAClB,KACAR,EACAD,EACA9lB,GACAklB,GACAD,GACAp8B,EACA4vB,GACAsM,GACA/J,GACA4J,GACAuB,EACA,YACA,GACA,GAEFH,GAEF,MAAMtoC,CAChB,CACQ6oC,GACER,EACAD,EACA9lB,GACAklB,GACAD,GACAp8B,EACA4vB,GACAsM,GACA/J,GACA4J,GACAuB,EACA,KACA,GACA,EAEV,CACA,CACI,KACJ,OAAW,IACTP,GAAsB9E,CAAa,CACrC,CACA,SAASyF,GACPv9B,EACAqzB,EACAmK,EACAC,EACAC,EACA79B,EACAwB,EACAC,EACAC,EACAo8B,EACAX,GACAY,GACAC,EACAC,GACA,CAG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AAc,CACtC,OAAQA,EAAY,CAClB,IAAK,eACL,IAAK,SACL,IAAK,QACL,IAAK,QACL,IAAK,cACL,IAAK,OACL,IAAK,MACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,YACL,IAAK,OACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,cACL,IAAK,YACL,IAAK,aACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,SACL,IAAK,kBACL,IAAK,YACL,IAAK,mBACL,IAAK,iBACL,IAAK,oBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,OACL,IAAK,mBACL,IAAK,QACL,IAAK,aACL,IAAK,WACL,IAAK,SACL,IAAK,cACH,MAAO,GACT,IAAK,OACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,eACH,MAAO,GACT,IAAK,UACH,OAAQ/O,GAAuB,EAAE,CAC/B,KAAKC,GACH,MAAO,GACT,KAAKC,GACH,MAAO,GACT,KAAKC,GACL,KAAKC,GACH,MAAO,IACT,KAAKC,GACH,MAAO,WACT,QACE,MAAO,GACjB,CACI,QACE,MAAO,GACb,CACA,CACA,IAAIkwC,GAA4B,GAC9BC,GAAc,KACdC,GAAa,KACbC,GAAc,KACdC,GAAiB,IAAI,IACrBC,GAAwB,IAAI,IAC5BC,GAAiC,GACjCR,GACE,sPAAsP,MACpP,KAEN,SAASF,GAAuBphC,EAAchF,EAAa,CACzD,OAAQgF,EAAY,CAClB,IAAK,UACL,IAAK,WACHyhC,GAAc,KACd,MACF,IAAK,YACL,IAAK,YACHC,GAAa,KACb,MACF,IAAK,YACL,I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","names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","jsxRuntimeModule","require$$0","REACT_PORTAL_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","ReactNoopUpdateQueue","assign","emptyObject","Component","props","context","updater","partialState","callback","ComponentDummy","PureComponent","pureComponentPrototype","isArrayImpl","noop","ReactSharedInternals","hasOwnProperty","ReactElement","refProp","cloneAndReplaceKey","oldElement","newKey","isValidElement","object","escape","escaperLookup","match","userProvidedKeyEscapeRegex","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","invokeCallback","c","nextNamePrefix","i","mapChildren","func","result","count","child","lazyInitializer","payload","ctor","moduleObject","reportGlobalError","event","Children","forEachFunc","forEachContext","n","react_production","size","fn","childArray","defaultValue","childrenLength","render","compare","scope","prevTransition","currentTransition","returnValue","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","value","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","reactModule","push","heap","node","a","parentIndex","parent","peek","pop","first","last","length","halfLength","leftIndex","left","rightIndex","right","b","diff","exports","localPerformance","localDate","initialTime","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","needsPaint","localSetTimeout","localClearTimeout","localSetImmediate","advanceTimers","currentTime","timer","handleTimeout","isMessageLoopRunning","schedulePerformWorkUntilDeadline","firstTimer","requestHostTimeout","taskTimeoutID","frameInterval","startTime","shouldYieldToHost","performWorkUntilDeadline","hasMoreWork","previousPriorityLevel","continuationCallback","channel","port","ms","task","fps","eventHandler","priorityLevel","options","timeout","parentPriorityLevel","schedulerModule","React","formatProdErrorMessage","code","url","Internals","createPortal$1","containerInfo","implementation","getCrossOriginStringAs","as","input","reactDom_production","container","previousTransition","previousUpdatePriority","href","crossOrigin","integrity","fetchPriority","form","checkDCE","err","reactDomModule","Scheduler","require$$1","ReactDOM","require$$2","isValidContainer","getNearestMountedFiber","fiber","nearestMounted","getSuspenseInstanceFromFiber","suspenseState","getActivityInstanceFromFiber","activityState","assertIsMounted","findCurrentFiberUsingSlowPath","alternate","parentA","parentB","didFindChild","child$0","findCurrentHostFiberImpl","tag","REACT_LEGACY_ELEMENT_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_CACHE_SENTINEL","REACT_CLIENT_REFERENCE","getComponentNameFromType","innerType","ReactDOMSharedInternals","sharedNotPendingObject","valueStack","createCursor","cursor","contextStackCursor","contextFiberStackCursor","rootInstanceStackCursor","hostTransitionProviderCursor","pushHostContainer","nextRootInstance","getOwnHostContext","getChildHostContextProd","popHostContainer","pushHostContext","JSCompiler_inline_result","popHostContext","HostTransitionContext","prefix","suffix","describeBuiltInComponentFrame","name","x","reentry","describeNativeComponentFrame","construct","previousPrepareStackTrace","RunInRootFrame","Fake","control","x$1","x$2","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","frame","describeFiber","childFiber","getStackByFiberInDevAndProd","workInProgress","info","previous","scheduleCallback$3","cancelCallback$1","shouldYield","requestPaint","now","getCurrentPriorityLevel","ImmediatePriority","UserBlockingPriority","NormalPriority$1","LowPriority","IdlePriority","log$1","unstable_setDisableYieldValue","rendererID","injectedHook","setIsStrictModeForDevtools","newIsStrictMode","clz32","clz32Fallback","log","LN2","nextTransitionUpdateLane","nextTransitionDeferredLane","nextRetryLane","getHighestPriorityLanes","lanes","pendingSyncLanes","getNextLanes","root","wipLanes","rootHasPendingCommit","pendingLanes","nextLanes","suspendedLanes","pingedLanes","nonIdlePendingLanes","checkIfRootIsPrerendering","renderLanes","computeExpirationTime","lane","claimNextRetryLane","createLaneMap","initial","laneMap","markRootUpdated$1","updateLane","markRootFinished","finishedLanes","remainingLanes","spawnedLane","updatedLanes","suspendedRetryLanes","previouslyPendingLanes","entanglements","expirationTimes","hiddenUpdates","index$7","hiddenUpdatesForLane","update","markSpawnedDeferredLane","entangledLanes","spawnedLaneIndex","markRootEntangled","rootEntangledLanes","index$8","getBumpedLaneForHydration","renderLane","getBumpedLaneForHydrationByLane","lanesToEventPriority","resolveUpdatePriority","updatePriority","getEventPriority","runWithPriority","priority","previousPriority","randomKey","internalInstanceKey","internalPropsKey","internalContainerInstanceKey","internalEventHandlersKey","internalEventHandlerListenersKey","internalEventHandlesSetKey","internalRootNodeResourcesKey","internalHoistableMarker","detachDeletedInstance","getClosestInstanceFromNode","targetNode","targetInst","parentNode","getParentHydrationBoundary","getInstanceFromNode","getNodeFromInstance","inst","getResourcesFromRoot","resources","markNodeAsHoistable","allNativeEvents","registrationNameDependencies","registerTwoPhaseEvent","registrationName","dependencies","registerDirectEvent","VALID_ATTRIBUTE_NAME_REGEX","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","attributeName","setValueForAttribute","prefix$10","setValueForKnownAttribute","setValueForNamespacedAttribute","namespace","getToStringValue","isCheckable","elem","trackValueOnNode","valueField","currentValue","descriptor","get","set","track","updateValueIfChanged","tracker","lastValue","getActiveElement","doc","escapeSelectorAttributeValueInsideDoubleQuotesRegex","escapeSelectorAttributeValueInsideDoubleQuotes","ch","updateInput","lastDefaultValue","checked","defaultChecked","setDefaultValue","initInput","isHydrating","updateOptions","multiple","propValue","setDefaultSelected","updateTextarea","initTextarea","setTextContent","text","firstChild","unitlessNumbers","setValueForStyle","style","styleName","isCustomProperty","setValueForStyles","styles","prevStyles","styleName$16","styleName$17","isCustomElement","tagName","aliases","isJavaScriptProtocol","sanitizeURL","noop$1","currentReplayingEvent","getEventTarget","nativeEvent","restoreTarget","restoreQueue","restoreStateOfTarget","target","internalInstance","otherNode","otherProps","isInsideEventHandler","batchedUpdates$1","flushSyncWork$1","getListener","stateNode","canUseDOM","passiveBrowserEventsSupported","startText","fallbackText","getData","start","startValue","startLength","end","endValue","endLength","minEnd","getEventCharCode","keyCode","functionThatReturnsTrue","functionThatReturnsFalse","createSyntheticEvent","Interface","SyntheticBaseEvent","reactName","reactEventType","nativeEventTarget","EventInterface","SyntheticEvent","UIEventInterface","SyntheticUIEvent","lastMovementX","lastMovementY","lastMouseEvent","MouseEventInterface","getEventModifierState","SyntheticMouseEvent","DragEventInterface","SyntheticDragEvent","FocusEventInterface","SyntheticFocusEvent","AnimationEventInterface","SyntheticAnimationEvent","ClipboardEventInterface","SyntheticClipboardEvent","CompositionEventInterface","SyntheticCompositionEvent","normalizeKey","translateToKey","modifierKeyToProp","modifierStateGetter","keyArg","KeyboardEventInterface","SyntheticKeyboardEvent","PointerEventInterface","SyntheticPointerEvent","TouchEventInterface","SyntheticTouchEvent","TransitionEventInterface","SyntheticTransitionEvent","WheelEventInterface","SyntheticWheelEvent","ToggleEventInterface","SyntheticToggleEvent","END_KEYCODES","canUseCompositionEvent","documentMode","canUseTextInputEvent","useFallbackCompositionData","SPACEBAR_CHAR","hasSpaceKeypress","isFallbackCompositionEnd","domEventName","getDataFromCustomEvent","isComposing","getNativeBeforeInputChars","getFallbackBeforeInputChars","supportedInputTypes","isTextInputElement","nodeName","createAndAccumulateChangeEvent","dispatchQueue","accumulateTwoPhaseListeners","activeElement$1","activeElementInst$1","runEventInBatch","processDispatchQueue","getInstIfValueChanged","getTargetInstForChangeEvent","isInputEventSupported","JSCompiler_inline_result$jscomp$286","isSupported$jscomp$inline_427","element$jscomp$inline_428","stopWatchingForValueChange","handlePropertyChange","handleEventsForInputEventPolyfill","getTargetInstForInputEventPolyfill","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","is","y","objectIs","shallowEqual","objA","objB","keysA","keysB","currentKey","getLeafNode","getNodeForCharacterOffset","offset","nodeEnd","containsNode","outerNode","innerNode","getActiveElementDeep","hasSelectionCapabilities","skipSelectionChangeEvent","activeElement","activeElementInst","lastSelection","mouseDown","constructSelectEvent","makePrefixMap","styleProp","eventName","prefixes","vendorPrefixes","prefixedEventNames","getVendorPrefixedEventName","prefixMap","ANIMATION_END","ANIMATION_ITERATION","ANIMATION_START","TRANSITION_RUN","TRANSITION_START","TRANSITION_CANCEL","TRANSITION_END","topLevelEventsToReactNames","simpleEventPluginEvents","registerSimpleEvent","concurrentQueues","concurrentQueuesIndex","concurrentlyUpdatedLanes","finishQueueingConcurrentUpdates","endIndex","queue","pending","markUpdateLaneFromFiberToRoot","enqueueUpdate$1","enqueueConcurrentHookUpdate","getRootForUpdatedFiber","enqueueConcurrentRenderForLane","sourceFiber","isHidden","nestedUpdateCount","rootWithNestedUpdates","emptyContextObject","FiberNode","pendingProps","mode","createFiberImplClass","shouldConstruct","createWorkInProgress","current","resetWorkInProgress","createFiberFromTypeAndProps","owner","fiberTag","isHostHoistableType","createFiberFromFragment","elements","createFiberFromText","content","createFiberFromDehydratedFragment","dehydratedNode","createFiberFromPortal","portal","CapturedStacks","createCapturedValueAtFiber","source","existing","forkStack","forkStackIndex","treeForkProvider","treeForkCount","idStack","idStackIndex","treeContextProvider","treeContextId","treeContextOverflow","pushTreeFork","totalChildren","pushTreeId","baseIdWithLeadingBit","baseLength","numberOfOverflowBits","pushMaterializedTreeId","popTreeContext","restoreSuspendedTreeContext","suspendedContext","hydrationParentFiber","nextHydratableInstance","hydrationErrors","rootOrSingletonContext","HydrationMismatchException","throwOnHydrationMismatch","queueHydrationError","prepareToHydrateHostInstance","instance","listenToNonDelegatedEvent","mediaEventTypes","checkForUnmatchedText","popToNextHostParent","popHydrationState","JSCompiler_temp","shouldSetTextContent","getNextHydratableInstanceAfterHydrationBoundary","isSingletonScope","previousHydratableOnEnteringScopedSingleton","getNextHydratable","resetHydrationState","upgradeHydrationErrorsToRecoverable","queuedErrors","workInProgressRootRecoverableErrors","valueCursor","currentlyRenderingFiber$1","lastContextDependency","pushProvider","providerFiber","nextValue","popProvider","scheduleContextWorkOnParentPath","propagationRoot","propagateContextChanges","contexts","forcePropagateEntireTree","list","nextFiber","dependency","propagateParentContextChanges","isInsidePropagationBailout","currentParent","checkIfContextChanged","currentDependencies","prepareToReadContext","readContext","readContextForConsumer","readContextDuringReconciliation","consumer","AbortControllerLocal","listeners","signal","listener","scheduleCallback$2","NormalPriority","CacheContext","createCache","releaseCache","cache","currentEntangledListeners","currentEntangledPendingCount","currentEntangledLane","currentEntangledActionThenable","entangleAsyncAction","transition","entangledListeners","requestTransitionLane","resolve","pingEngtangledActionScope","chainThenableValue","thenableWithOverride","prevOnStartTransitionFinish","globalMostRecentTransitionTime","resumedCache","peekCacheFromPool","cacheResumedFromPreviousRender","workInProgressRoot","pushTransition","offscreenWorkInProgress","prevCachePool","getSuspendedCache","cacheFromPool","SuspenseException","SuspenseyCommitException","SuspenseActionException","noopSuspenseyCommitThenable","isThenableResolved","trackUsedThenable","thenableState","checkIfUseWrappedInAsyncCatch","fulfilledThenable","rejectedThenable","suspendedThenable","resolveLazy","lazyType","getSuspendedThenable","rejectedReason","thenableState$1","thenableIndexCounter$1","unwrapThenable","coerceRef","throwOnInvalidObjectTypeImpl","returnFiber","newChild","createChildReconciler","shouldTrackSideEffects","deleteChild","childToDelete","deletions","deleteRemainingChildren","currentFirstChild","mapRemainingChildren","existingChildren","useFiber","placeChild","newFiber","lastPlacedIndex","newIndex","placeSingleChild","updateTextNode","textContent","updateElement","elementType","updateFragment","updatePortal","fragment","createChild","updateSlot","oldFiber","updateFromMap","newIdx","reconcileChildrenArray","newChildren","resultingFirstChild","previousNewFiber","nextOldFiber","reconcileChildrenIterator","step","reconcileChildFibersImpl","firstChildFiber","reconcileChildFibers","mountChildFibers","hasForceUpdate","initializeUpdateQueue","cloneUpdateQueue","createUpdate","enqueueUpdate","updateQueue","executionContext","entangleTransitions","queueLanes","enqueueCapturedUpdate","capturedUpdate","newFirst","newLast","clone","didReadFromEntangledAsyncAction","suspendIfUpdateReadFromEntangledAsyncAction","entangledActionThenable","processUpdateQueue","workInProgress$jscomp$0","instance$jscomp$0","firstBaseUpdate","lastBaseUpdate","pendingQueue","lastPendingUpdate","firstPendingUpdate","newState","isHiddenUpdate","workInProgressRootRenderLanes","workInProgressRootSkippedLanes","callCallback","commitCallbacks","callbacks","currentTreeHiddenStackCursor","prevEntangledRenderLanesCursor","pushHiddenContext","entangledRenderLanes","reuseHiddenContextOnStack","popHiddenContext","suspenseHandlerStackCursor","shellBoundary","pushPrimaryTreeSuspenseHandler","handler","suspenseStackCursor","pushDehydratedActivitySuspenseHandler","pushOffscreenSuspenseHandler","reuseSuspenseHandlerOnStack","popSuspenseHandler","findFirstSuspended","row","state","isSuspenseInstancePending","isSuspenseInstanceFallback","currentlyRenderingFiber","currentHook","workInProgressHook","didScheduleRenderPhaseUpdate","didScheduleRenderPhaseUpdateDuringThisPass","shouldDoubleInvokeUserFnsInHooksDEV","localIdCounter","thenableIndexCounter","globalClientIdCounter","throwInvalidHookError","areHookInputsEqual","nextDeps","prevDeps","renderWithHooks","secondArg","nextRenderLanes","HooksDispatcherOnMount","HooksDispatcherOnUpdate","renderWithHooksAgain","finishRenderingHooks","ContextOnlyDispatcher","didRenderTooFewHooks","didReceiveUpdate","numberOfReRenders","HooksDispatcherOnRerender","TransitionAwareHostComponent","dispatcher","maybeThenable","useThenable","checkDidRenderIdHook","didRenderIdHook","bailoutHooks","resetHooksOnUnwind","mountWorkInProgressHook","hook","updateWorkInProgressHook","nextCurrentHook","nextWorkInProgressHook","createFunctionComponentUpdateQueue","use","useMemoCache","memoCache","basicStateReducer","updateReducer","updateReducerImpl","baseQueue","baseFirst","newBaseQueueFirst","newBaseQueueLast","didReadFromEntangledAsyncAction$60","revertLane","rerenderReducer","dispatch","lastRenderPhaseUpdate","updateSyncExternalStore","isHydrating$jscomp$0","snapshotChanged","updateEffect","subscribeToStore","pushSimpleEffect","updateStoreInstance","pushStoreConsistencyCheck","renderedSnapshot","nextSnapshot","checkIfSnapshotChanged","forceStoreRerender","latestGetSnapshot","scheduleUpdateOnFiber","mountStateImpl","initialStateInitializer","updateOptimisticImpl","dispatchActionState","actionQueue","setPendingState","setState","isRenderPhaseUpdate","actionNode","runActionStateAction","prevState","handleActionReturnValue","onActionError","error$66","nextState","onActionSuccess","notifyActionListeners","actionStateReducer","oldState","mountActionState","initialStateProp","ssrFormState","JSCompiler_inline_result$jscomp$0","inRootOrSingleton","dispatchSetState","dispatchOptimisticSetState","updateActionState","stateHook","updateActionStateImpl","currentStateHook","actionStateActionEffect","rerenderActionState","updateRef","mountEffectImpl","fiberFlags","hookFlags","updateEffectImpl","mountEffect","useEffectEventImpl","componentUpdateQueue","events","updateEvent","updateInsertionEffect","updateLayoutEffect","imperativeHandleEffect","refCleanup","updateImperativeHandle","mountDebugValue","updateCallback","updateMemo","nextCreate","mountDeferredValueImpl","requestDeferredLane","updateDeferredValueImpl","prevValue","startTransition","pendingState","finishedState","thenableForFinishedState","dispatchSetStateInternal","requestUpdateLane","startHostTransition","formFiber","formData","ensureFormComponentIsStateful","requestFormReset$1","existingStateHook","initialResetState","useHostTransitionStatus","updateId","updateRefresh","refreshCache","provider","root$69","dispatchReducerAction","enqueueRenderPhaseUpdate","entangleTransitionUpdate","currentState","eagerState","throwIfDuringRender","identifierPrefix","idWithLeadingBit","booleanOrThenable","applyDerivedStateFromProps","getDerivedStateFromProps","nextProps","classComponentUpdater","checkShouldComponentUpdate","oldProps","newProps","nextContext","callComponentWillReceiveProps","resolveClassComponentProps","baseProps","propName$73","defaultOnUncaughtError","defaultOnCaughtError","defaultOnRecoverableError","logUncaughtError","errorInfo","onUncaughtError","e$74","logCaughtError","boundary","onCaughtError","e$75","createRootErrorUpdate","createClassErrorUpdate","initializeClassErrorUpdate","getDerivedStateFromError","legacyErrorBoundariesThatAlreadyFailed","stack","throwException","rootRenderLanes","renderDidSuspendDelayIfPossible","workInProgressRootExitStatus","attachPingListener","wrapperError","workInProgressRootConcurrentErrors","SelectiveHydrationException","reconcileChildren","nextChildren","updateForwardRef","propsWithoutRef","bailoutOnAlreadyFinishedWork","updateMemoComponent","updateSimpleMemoComponent","checkScheduledUpdateOrContext","prevProps","updateFunctionComponent","updateOffscreenComponent","deferHiddenOffscreenComponent","bailoutOffscreenComponent","nextBaseLanes","remainingChildLanes","mountActivityChildren","mountWorkInProgressOffscreenFiber","retryActivityComponentWithoutHydrating","updateActivityComponent","didSuspend","canHydrateHydrationBoundary","dehydrated","markRef","replayFunctionComponent","updateClassComponent","contextType","unresolvedOldProps","oldContext","contextType$jscomp$0","mountHostRootWithoutHydrating","SUSPENDED_MARKER","mountSuspenseOffscreenState","getRemainingWorkInPrimaryTree","primaryTreeDidDefer","workInProgressDeferredLane","updateSuspenseComponent","showFallback","nextPrimaryChildren","mountSuspensePrimaryChildren","retrySuspenseComponentWithoutHydrating","digest","primaryChildren","offscreenProps","scheduleSuspenseWorkOnFiber","initSuspenseListRenderState","isBackwards","tail","lastContentRow","tailMode","renderState","updateSuspenseListComponent","revealOrder","suspenseContext","shouldForceFallback","attemptEarlyBailoutIfNoScheduledUpdate","state$102","didSuspendBefore","beginWork","$$typeof","getResource","getOwnerDocumentFromRootContainer","setInitialProperties","resolveSingletonInstance","canHydrateInstance","canHydrateTextInstance","markUpdate","preloadInstanceAndSuspendIfNeeded","shouldRemainOnPreviousScreen","preloadResourceAndSuspendIfNeeded","resource","preloadResource","scheduleRetryEffect","retryQueue","workInProgressSuspendedRetryLanes","cutOffTailIfNeeded","hasRenderedATailFallback","lastTailNode","lastTailNode$106","bubbleProperties","completedWork","didBailout","newChildLanes","subtreeFlags","child$107","completeWork","nextResource","ownerDocument","listenToAllSupportedEvents","workInProgressRootRenderTargetTime","unwindWork","unwindInterruptedWork","interruptedWork","commitHookEffectListMount","flags","finishedWork","lastEffect","firstEffect","captureCommitPhaseError","commitHookEffectListUnmount","nearestMountedAncestor$jscomp$0","destroy","nearestMountedAncestor","destroy_","commitClassCallbacks","safelyCallComponentWillUnmount","safelyAttachRef","instanceToUse","safelyDetachRef","error$140","commitHostMount","commitHostUpdate","domElement","updateProperties","isHostParent","getHostSibling","insertOrAppendPlacementNodeIntoContainer","before","insertOrAppendPlacementNode","commitHostSingletonAcquisition","singleton","attributes","offscreenSubtreeIsHidden","offscreenSubtreeWasHidden","needsFormReset","PossiblyWeakSet","nextEffect","commitBeforeMutationEffects","eventsEnabled","_enabled","selection","anchorOffset","focusNode","indexWithinAnchor","indexWithinFocus","next","selectionInformation","resolvedPrevProps","clearContainerSparingly","commitLayoutEffectOnFiber","finishedRoot","recursivelyTraverseLayoutEffects","error$139","commitActivityHydrationCallbacks","commitSuspenseHydrationCallbacks","retryDehydratedSuspenseBoundary","registerSuspenseInstanceRetry","prevOffscreenSubtreeWasHidden","recursivelyTraverseReappearLayoutEffects","detachFiberAfterEffects","hostParent","hostParentIsContainer","recursivelyTraverseDeletionEffects","commitDeletionEffectsOnFiber","deletedFiber","prevHostParent","prevHostParentIsContainer","releaseSingletonInstance","clearHydrationBoundary","retryIfBlockedOn","getRetryCache","retryCache","attachSuspenseRetryListeners","wakeables","wakeable","retry","resolveRetryWakeable","recursivelyTraverseMutationEffects","root$jscomp$0","parentFiber","commitMutationEffectsOnFiber","currentHoistableRoot","commitReconciliationEffects","hoistableRoot","currentResource","maybeNodes","getHydratableHoistableCache","mountHoistable","acquireResource","tagCaches","getHoistableRoot","recursivelyResetForms","globalMostRecentFallbackTime","wasHidden","prevOffscreenSubtreeIsHidden","recursivelyTraverseDisappearLayoutEffects","display","hideOrUnhideDehydratedBoundary","hostParentFiber","parent$141","before$142","parent$143","before$144","finishedRoot$jscomp$0","includeWorkInProgressEffects","hiddenCallbacks","commitOffscreenPassiveMountEffects","previousCache","commitCachePassiveMountEffect","recursivelyTraversePassiveMountEffects","committedLanes","committedTransitions","commitPassiveMountOnFiber","_finishedWork$memoize2","id","onPostCommit","recursivelyTraverseAtomicPassiveEffects","recursivelyTraverseReconnectPassiveEffects","committedLanes$jscomp$0","committedTransitions$jscomp$0","suspenseyCommitFlag","recursivelyAccumulateSuspenseyCommit","suspendedState","accumulateSuspenseyCommitOnFiber","suspendResource","previousHoistableRoot","detachAlternateSiblings","previousFiber","recursivelyTraversePassiveUnmountEffects","commitPassiveUnmountEffectsInsideOfDeletedTree_begin","commitPassiveUnmountOnFiber","recursivelyTraverseDisconnectPassiveEffects","deletedSubtreeRoot","sibling","DefaultAsyncDispatcher","resourceType","cacheForType","PossiblyWeakMap","workInProgressSuspendedReason","workInProgressThrownValue","workInProgressRootDidSkipSuspendedSiblings","workInProgressRootIsPrerendering","workInProgressRootDidAttachPingListener","workInProgressRootInterleavedUpdatedLanes","workInProgressRootPingedLanes","workInProgressRootDidIncludeRecursiveRenderUpdate","workInProgressTransitions","pendingEffectsStatus","pendingEffectsRoot","pendingFinishedWork","pendingEffectsLanes","pendingEffectsRemainingLanes","pendingPassiveTransitions","pendingRecoverableErrors","prepareFreshStack","markRootSuspended","ensureRootIsScheduled","performWorkOnRoot","forceSync","shouldTimeSlice","exitStatus","renderRootConcurrent","renderRootSync","renderWasConcurrent","isRenderConsistentWithExternalStores","wasRootDehydrated","scheduleTimeout","commitRootWhenReady","recoverableErrors","transitions","didIncludeRenderPhaseUpdate","didSkipSuspendedSiblings","suspendedCommitReason","completedRenderStartTime","completedRenderEndTime","timeoutOffset","waitForCommitToBeReady","commitRoot","check","didAttemptEntireTree","index$6","flushSyncWorkAcrossRoots_impl","resetWorkInProgressStack","timeoutHandle","cancelTimeout","allEntangledLanes","index$4","handleThrow","thrownValue","pushDispatcher","prevDispatcher","pushAsyncDispatcher","prevAsyncDispatcher","shouldYieldForPrerendering","prevExecutionContext","unitOfWork","reason","throwAndUnwindWorkLoop","workLoopSync","thrownValue$165","performUnitOfWork","replaySuspendedUnitOfWork","hostFiber","completeUnitOfWork","workLoopConcurrentByScheduler","thrownValue$167","suspendedReason","unwindUnitOfWork","skipSiblings","flushPendingEffects","scheduleCallback$1","flushPassiveEffects","flushMutationEffects","flushLayoutEffects","flushSpawnedWork","rootMutationHasEffect","priorSelectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","win","start$jscomp$0","end$jscomp$0","startMarker","endMarker","range","rootHasLayoutEffect","releaseRootPooledCache","onRecoverableError","recoverableError","renderPriority","captureCommitPhaseErrorOnRoot","rootFiber","pingCache","threadIDs","pingSuspendedRoot","retryTimedOutBoundary","boundaryFiber","retryLane","firstScheduledRoot","lastScheduledRoot","didScheduleMicrotask","mightHavePendingSyncWork","isFlushingWork","currentEventTransitionLane","scheduleImmediateRootScheduleTask","syncTransitionLanes","onlyLegacy","didPerformSomeWork","root$170","performSyncWorkOnRoot","processRootScheduleInImmediateTask","processRootScheduleInMicrotask","shouldAttemptEagerTransition","prev","scheduleTaskForRootDuringMicrotask","index$5","expirationTime","performWorkOnRootViaSchedulerTask","didTimeout","originalCallbackNode","workInProgressRootRenderLanes$jscomp$0","scheduleMicrotask","actionScopeLane","coerceFormActionProp","actionProp","createFormDataWithSubmitter","submitter","temp","extractEvents$1","maybeTargetInst","i$jscomp$inline_1577","eventName$jscomp$inline_1578","domEventName$jscomp$inline_1579","capitalizedEvent$jscomp$inline_1580","nonDelegatedEvents","eventSystemFlags","_dispatchQueue$i","previousInstance","i$jscomp$0","_dispatchListeners$i","currentTarget","targetElement","listenerSetKey","addTrappedEventListener","listenToNativeEvent","isCapturePhaseListener","listeningMarker","rootContainerElement","targetContainer","listenerWrapper","dispatchDiscreteEvent","dispatchContinuousEvent","dispatchEvent","dispatchEventForPluginEventSystem","targetInst$jscomp$0","ancestorInst","nodeTag","grandTag","SyntheticEventCtor","inCapturePhase","accumulateTargetOnly","reactEventName","lastHostComponent","_instance","createDispatchListener","getParent","tempB","accumulateEnterLeaveListenersForEvent","getTargetInstFunc","handleEventFunc","fallbackData","eventType","targetFiber","captureName","_instance2","common","_instance3","NORMALIZE_NEWLINES_REGEX","NORMALIZE_NULL_AND_REPLACEMENT_REGEX","normalizeMarkupForTextOrAttribute","markup","serverText","clientText","setProp","setPropOnCustomElement","hasSrc","hasSrcSet","propKey","propValue$184","lastProps","lastProp","propKey$201","propKey$217","propKey$222","propKey$227","propKey$232","isLikelyStaticResource","initiatorType","estimateBandwidth","bits","resourceEntries","entry","transferSize","duration","overlapEntry","overlapStartTime","overlapTransferSize","overlapInitiatorType","namespaceURI","parentNamespace","currentPopstateTransitionEvent","localPromise","handleErrorInNextTick","parentInstance","hydrationInstance","depth","nextNode","node$jscomp$0","nextNode$jscomp$0","suspenseInstance","anyProps","nodeType","data","targetInstance","rootContainerInstance","preloadPropsMap","preconnectsSet","previousDispatcher","flushSyncWork","requestFormReset","prefetchDNS","preconnect","preload","preloadModule","preinitScript","preinitStyle","preinitModuleScript","previousWasRendering","wasRendering","formInst","globalDocument","preconnectAs","rel","limitedEscapedHref","preloadSelector","getStyleKey","getScriptKey","getStylesheetSelectorFromKey","getScriptSelectorFromKey","precedence","adoptPreloadPropsForStylesheet","link","reject","insertStylesheet","src","scripts","adoptPreloadPropsForScript","currentProps","styles$243","resource$244","preloadStylesheet","stylesheetPropsFromRawProps","rawProps","preloadProps","styleProps","instance$249","linkInstance","nodes","prior","stylesheetProps","scriptProps","keyAttribute","caches","nodeKey","hostContext","onUnsuspend","estimatedBytesWithinLimit","insertSuspendedStylesheets","commit","stylesheetTimer","unsuspend","imgTimer","precedencesByRoot","insertStylesheetIntoRoot","precedences","FiberRootNode","hydrate","onDefaultTransitionIndicator","formState","createFiberRoot","initialChildren","hydrationCallbacks","isStrictMode","getContextForSubtree","parentComponent","updateContainerImpl","markRetryLaneImpl","markRetryLaneIfNotHydrated","attemptContinuousHydration","attemptHydrationAtCurrentPriority","blockedOn","findInstanceBlockingEvent","return_targetInst","clearIfContinuousEvent","queueIfContinuousEvent","discreteReplayableEvents","findInstanceBlockingTarget","hasScheduledReplayAttempt","queuedFocus","queuedDrag","queuedMouse","queuedPointers","queuedPointerCaptures","queuedExplicitHydrationTargets","accumulateOrCreateContinuousQueuedReplayableEvent","existingQueuedEvent","pointerId","attemptExplicitHydrationTarget","queuedTarget","attemptReplayContinuousQueuedEvent","queuedEvent","targetContainers","nextBlockedOn","nativeEventClone","attemptReplayContinuousQueuedEventInMap","map","replayUnblockedEvents","scheduleCallbackIfUnblocked","unblocked","lastScheduledReplayQueue","scheduleReplayQueueIfNeeded","formReplayingQueue","submitterOrAction","unblock","formProps","defaultOnDefaultTransitionIndicator","handleNavigate","pendingResolve","handleNavigateComplete","isCancelled","startFakeNavigation","currentEntry","ReactDOMRoot","internalRoot","ReactDOMHydrationRoot","isomorphicReactPackageVersion$jscomp$inline_1840","componentOrElement","internals$jscomp$inline_2347","hook$jscomp$inline_2348","reactDomClient_production","clientModule","PopStateEventType","createBrowserHistory","createBrowserLocation","window2","globalHistory","pathname","search","hash","createLocation","createBrowserHref","to","createPath","getUrlBasedHistory","invariant","message","warning","cond","createKey","getHistoryState","location","parsePath","path","parsedPath","hashIndex","searchIndex","getLocation","createHref2","validateLocation","v5Compat","getIndex","handlePop","nextIndex","delta","history","historyState","replace2","createURL","createBrowserURLImpl","isAbsolute","base","matchRoutes","routes","locationArg","basename","matchRoutesImpl","allowPartial","stripBasename","branches","flattenRoutes","rankRouteBranches","matches","decoded","decodePath","matchRouteBranch","parentsMeta","parentPath","_hasParentOptionalSegments","flattenRoute","route","hasParentOptionalSegments","relativePath","meta","joinPaths","routesMeta","computeScore","exploded","explodeOptionalSegments","segments","rest","isOptional","required","restExploded","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","s","initialScore","score","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","normalizePathname","pattern","matcher","compiledParams","compilePath","pathnameBase","captureGroups","memo2","paramName","splatValue","caseSensitive","params","regexpSource","_","v","startIndex","nextChar","ABSOLUTE_URL_REGEX","isAbsoluteUrl","resolvePath","fromPathname","toPathname","oldPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","field","dest","getPathContributingMatches","getResolveToMatches","pathMatches","idx","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","isRouteErrorResponse","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","React.createContext","DataRouterStateContext","ViewTransitionContext","FetchersContext","AwaitContext","NavigationContext","LocationContext","RouteContext","RouteErrorContext","useHref","relative","useInRouterContext","navigator","React2.useContext","useResolvedPath","joinedPathname","useLocation","navigateEffectWarning","useIsomorphicLayoutEffect","cb","React2.useLayoutEffect","useNavigate","isDataRoute","useNavigateStable","useNavigateUnstable","dataRouterContext","routePathnamesJson","activeRef","React2.useRef","React2.useCallback","React2.createContext","React2.useMemo","useRoutes","useRoutesImpl","dataRouterState","unstable_onError","future","parentMatches","routeMatch","parentParams","parentPathname","parentPathnameBase","parentRoute","warningOnce","locationFromContext","parsedLocationArg","parentSegments","renderedMatches","_renderMatches","React2.createElement","DefaultErrorComponent","useRouteError","lightgrey","preStyles","codeStyles","devInfo","React2.Fragment","defaultErrorElement","RenderErrorBoundary","React2.Component","RenderedRoute","routeContext","errors","errorIndex","m","renderFallback","fallbackIndex","loaderData","errors2","needsToRunLoader","onError","outlet","shouldRenderHydrateFallback","errorElement","hydrateFallbackElement","matches2","getChildren","getDataRouterConsoleError","hookName","useDataRouterContext","ctx","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","useRouteId","routeId","router","alreadyWarned","React3.memo","DataRoutes","Route","Router","basenameProp","locationProp","navigationType","staticProp","navigationContext","React3.useMemo","locationContext","trailingPathname","React3.createElement","Routes","createRoutesFromChildren","React3.Children","React3.isValidElement","treePath","React3.Fragment","defaultMethod","defaultEncType","isHtmlElement","isButtonElement","isFormElement","isInputElement","isModifiedEvent","shouldProcessLinkClick","_formDataSupportsSubmitter","isFormDataSubmitterSupported","supportedFormEncTypes","getFormEncType","encType","getFormSubmissionInfo","method","body","attr","invariant2","singleFetchUrl","reqUrl","extension","loadRouteModule","routeModulesCache","routeModule","isHtmlLinkDescriptor","getKeyedPrefetchLinks","manifest","routeModules","links","mod","dedupeLinkDescriptors","getNewMatchesForLinks","page","nextMatches","currentMatches","isNew","matchPathChanged","manifestRoute","routeChoice","getModuleLinkHrefs","includeHydrateFallback","dedupeHrefs","hrefs","sortKeys","obj","sorted","keys","descriptors","preloads","deduped","useDataRouterContext2","React8.useContext","useDataRouterStateContext","FrameworkContext","React8.createContext","useFrameworkContext","usePrefetchBehavior","prefetch","theirElementProps","frameworkContext","maybePrefetch","setMaybePrefetch","React8.useState","shouldPrefetch","setShouldPrefetch","onFocus","onBlur","onMouseEnter","onMouseLeave","onTouchStart","React8.useRef","React8.useEffect","entries","observer","setIntent","cancelIntent","composeEventHandlers","theirHandler","ourHandler","PrefetchPageLinks","linkProps","React8.useMemo","React8.createElement","PrefetchPageLinksImpl","useKeyedPrefetchLinks","keyedPrefetchLinks","setKeyedPrefetchLinks","interrupted","newMatchesForData","newMatchesForAssets","dataHrefs","routesParams","foundOptOutRoute","m2","moduleHrefs","React8.Fragment","mergeRefs","refs","isBrowser","BrowserRouter","historyRef","React10.useRef","setStateImpl","React10.useState","React10.useCallback","React10.startTransition","React10.useLayoutEffect","React10.createElement","ABSOLUTE_URL_REGEX2","Link","React10.forwardRef","onClick","discover","reloadDocument","preventScrollReset","viewTransition","forwardedRef","React10.useContext","absoluteHref","isExternal","currentUrl","targetUrl","prefetchRef","prefetchHandlers","internalOnClick","useLinkClickHandler","handleClick","React10.Fragment","NavLink","ariaCurrentProp","classNameProp","routerState","isTransitioning","useViewTransitionState","nextLocationPathname","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","className","Form","fetcherKey","navigate","onSubmit","submit","useSubmit","formAction","useFormAction","formMethod","submitHandler","submitMethod","getDataRouterConsoleError2","useDataRouterContext3","replaceProp","fetcherId","getUniqueFetcherId","currentRouteId","indexValues","qs","vtContext","currentPath","nextPath","PACKET_TYPES","PACKET_TYPES_REVERSE","ERROR_PACKET","withNativeBlob","withNativeArrayBuffer","isView","encodePacket","supportsBinary","encodeBlobAsBase64","fileReader","toArray","TEXT_ENCODER","encodePacketToBinary","packet","encoded","chars","lookup","decode","base64","bufferLength","len","p","encoded1","encoded2","encoded3","encoded4","arraybuffer","bytes","decodePacket","encodedPacket","binaryType","mapBinary","decodeBase64Packet","SEPARATOR","encodePayload","packets","encodedPackets","decodePayload","encodedPayload","decodedPacket","createPacketEncoderStream","controller","payloadLength","header","view","TEXT_DECODER","totalLength","chunks","acc","chunk","concatChunks","buffer","j","createPacketDecoderStream","maxPayload","expectedLength","isBinary","headerArray","protocol","Emitter","mixin","on","args","nextTick","setTimeoutFn","globalThisShim","defaultBinaryType","pick","k","NATIVE_SET_TIMEOUT","globalThis","NATIVE_CLEAR_TIMEOUT","installTimerFunctions","opts","BASE64_OVERHEAD","byteLength","utf8Length","str","l","randomString","encode","qry","pairs","pair","TransportError","description","Transport","details","onPause","schema","query","hostname","encodedQuery","Polling","pause","total","close","hasCORS","empty","BaseXHR","isSSL","req","xhrStatus","Request","createRequest","uri","_a","xhr","e","fromError","unloadHandler","terminationEvent","hasXHR2","newRequest","XHR","forceBase64","xdomain","isReactNative","BaseWS","protocols","closeEvent","ev","lastPacket","WebSocketCtor","WS","_packet","WT","stream","decoderStream","reader","encoderStream","read","done","transports","re","parts","parse","pathNames","queryKey","regx","names","$0","$1","$2","withEventListeners","OFFLINE_EVENT_LISTENERS","SocketWithoutUpgrade","parsedUri","t","transportName","transport","delay","payloadSize","hasExpired","msg","cleanupAndClose","waitForUpgrade","SocketWithUpgrade","failed","onTransportOpen","cleanup","freezeTransport","onerror","onTransportClose","onclose","onupgrade","upgrades","filteredUpgrades","o","DEFAULT_TRANSPORTS","loc","host","toString","withNativeFile","hasBinary","toJSON","deconstructPacket","buffers","packetData","pack","_deconstructPacket","placeholder","newData","reconstructPacket","_reconstructPacket","RESERVED_EVENTS","PacketType","Encoder","replacer","deconstruction","Decoder","isBinaryEvent","BinaryReconstructor","buf","isInteger","isObject","binData","isNamespaceValid","nsp","isAckIdValid","isDataValid","isPacketValid","Socket","io","_b","_c","ack","isTransportWritable","isConnected","arg1","arg2","responseArgs","force","self","sent","pid","subDestroy","compress","Backoff","rand","deviation","min","max","jitter","Manager","_parser","parser","Engine","socket","openSubDestroy","errorSub","nsps","attempt","parsed","sameNamespace","newConnection","SETTINGS_COOKIE","SETTINGS_MAX_AGE","parseCookieValue","raw","loadSettings","cookiePrefix","part","saveSettings","settings","serialized","cookie","resolvedUrl","transportPref","SocketContext","createContext","SocketProvider","jsx","useSocket","useContext","INITIAL_STATE","SessionContext","useAckEmitter","useCallback","resp","normalizeSelector","selector","isPlainObject","prototype","shareUnchangedTree","changed","reconciled","sharedValue","previousKeys","nextKeys","hadKey","SessionProvider","emitWithAck","stateRef","useRef","subscribersRef","getState","sub","nextSelected","equalityFn","normalizedSelector","useEffect","onConnect","onDisconnect","handleSession","nextSession","handleLogInit","handleLogEntry","handleAdminLogInit","handleAdminLogEntry","handleLlmState","nextStatus","handleAlertNew","handleReplayStatus","nextJob","handleReplayReady","selfSocketId","requesterSocketId","requestedByThisBrowser","handleReplayFailed","handleOverseerState","handleOverseerMemory","memory","handleDuplicateIdentity","actions","useMemo","username","password","cookieUserId","fingerprintId","nickname","overseerEnabled","identitySurface","role","roverId","locked","entityId","colorHex","sourcesOrPayload","title","mime","dataBase64","levels","safety","controls","alert","replay","store","useSessionSelector","selectorRef","equalityRef","selected","setSelected","useState","useSessionActions","useSession","EMPTY_FRAMES","EMPTY_FRAME","DEFAULT_VISUAL_THROTTLE_MS","TelemetryContext","shallowArrayEqual","shallowObjectEqual","leftKeys","rightKeys","selectFrameIdentity","TelemetryProvider","sessionRole","framesRef","roverSubscribersRef","allSubscribersRef","visualAllSubscribersRef","selectorSubscribersRef","pendingVisualRoversRef","visualAllPendingRef","sessionRoleRef","visualPolicyRef","visualTimerRef","defaultVisualThrottleMs","spectator","mobile","throttleMsForEntry","notifyRover","evaluateSelectorEntries","notifyRawSelectors","flushVisualSelectors","roverIds","notifyVisualSelectors","visualEntries","immediateEntries","throttledEntries","lowest","notifyVisualAll","throttleMs","policy","handleSensorFrame","sensors","handleRoverHostStats","stats","receivedAt","useVisualTelemetryFrames","useSyncExternalStore","useTelemetryVisualPolicy","useTelemetrySelector","selectionState","setSelectionState","renderedSelected","publishSelected","useVisualTelemetrySelector","EMPTY_BATTERY_TELEMETRY","EMPTY_DOCK_TELEMETRY","EMPTY_SPECTATOR_TELEMETRY","EMPTY_HOST_STATS","EMPTY_OVERCURRENT_FLAGS","EMPTY_MAIN_BRUSH_AUDIO","bucketNumber","sensorNumber","batteryTelemetryEqual","dockTelemetryEqual","hostStatsEqual","selectLightBumpTelemetry","lightBumpTelemetryEqual","selectBatteryTelemetry","selectOvercurrentFlags","wheelOvercurrents","selectMainBrushAudioTelemetry","mainBrushAudioTelemetryEqual","overcurrentFlagsEqual","selectDockTelemetry","selectSpectatorTelemetry","spectatorTelemetryEqual","selectHostStats","cx","values","hexToRgb","hex","normalized","expanded","rgba","rgb","alpha","CardFrame","hideHeader","headerClassName","bodyClassName","fillHeight","clipOverflow","showHeader","ownRoverColor","accentRgb","cardStyle","headerStyle","jsxs","EMPTY_STATS","EMPTY_WIFI","valueOrDash","finiteNumber","numeric","clampPercent","thresholdTone","warnAt","badAt","toneTextClass","tone","toneFillClass","formatPercent","formatTemp","formatVoltage","formatDbm","formatFrequency","formatBitrate","formatBytes","units","scaled","unitIndex","formatMemoryKb","formatUsedTotal","used","formatter","usedValue","totalValue","memoryUsedKb","available","diskUsedBytes","free","formatUptime","seconds","days","hours","minutes","wifiQualityPercent","wifi","quality","tempPercent","tempTone","signalBars","signalDbm","signalTone","powerStatus","powerTone","formatPacketCount","formatTraffic","warningMessages","messages","PiHostStatsCard","warnings","wifiQuality","bars","memoryUsed","diskUsed","currentPowerTone","currentTempTone","currentSignalTone","ColumnTitle","Meter","StatRow","BarRow","SignalBars","label","compact","valueClassName","detail","percent","width","heights","fillClass","height","active","clockStores","nowMs","normalizeDelay","delayMs","getStore","stopStore","publish","ensureVisibilityHandler","startStore","useSharedClock","enabled","setNow","SettingsContext","SettingsProvider","loaded","reload","saveAll","nextData","success","setNamespace","baseData","contextValue","useSettings","useSettingsNamespace","defaults","status","save","replace","reset","HEX_RE","normalizeRoverColor","roverNameChromeStyle","color","safeAlpha","classNames","resolveText","rover","fallback","rosterEntry","candidates","candidate","RoverLabel","resolvedRoverId","resolvedColor","CLOSE_AFTER_VIDEO_END_MS","CLOSE_IF_VIDEO_NEVER_PLAYS_MS","normalizeUrl","ReplayReadyPopup","onClose","variant","fallbackCloseTimerRef","endedCloseTimerRef","onCloseRef","videoUrl","clearCloseTimers","closePopup","handleVideoPlaying","handleVideoEnded","videoLifecycleProps","isPanel","isFloatingPanel","isModal","messageUrl","card","normalizeSources","selectedKeysEqual","ReplaySourcesPanel","panelId","replaySources","assignmentRoverId","roster","replayState","latestReplay","triggerReplay","sources","busy","setBusy","setError","setSuccess","setTitle","titleDirty","setTitleDirty","includeSidebar","setIncludeSidebar","activeJobId","setActiveJobId","dismissedPanelReplayId","setDismissedPanelReplayId","includeSidebarSettingKey","titleSettingKey","savedIncludeSidebar","savedTitle","activeReplayJob","latestReplayJobId","showPanelReplay","defaultTitle","roverName","allowed","grouped","hasReplayCooldown","replayCooldownEndsAt","cooldownNow","remainingMs","replayDisabled","selectedSet","activeJobStatusText","titleText","toggleKey","handleReplay","resolvedTitle","listWrapClass","GroupList","items","onToggle","item","DefaultContext","IconContext","_excluded","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","_extends","ownKeys","r","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","Tree2Element","tree","GenIcon","IconBase","conf","svgProps","computedSize","Fa500Px","FaAccessibleIcon","FaAccusoft","FaAcquisitionsIncorporated","FaAdn","FaAdversal","FaAffiliatetheme","FaAirbnb","FaAlgolia","FaAlipay","FaAmazonPay","FaAmazon","FaAmilia","FaAndroid","FaAngellist","FaAngrycreative","FaAngular","FaAppStoreIos","FaAppStore","FaApper","FaApplePay","FaApple","FaArtstation","FaAsymmetrik","FaAtlassian","FaAudible","FaAutoprefixer","FaAvianex","FaAviato","FaAws","FaBandcamp","FaBattleNet","FaBehanceSquare","FaBehance","FaBimobject","FaBitbucket","FaBitcoin","FaBity","FaBlackTie","FaBlackberry","FaBloggerB","FaBlogger","FaBluetoothB","FaBluetooth","FaBootstrap","FaBtc","FaBuffer","FaBuromobelexperte","FaBuyNLarge","FaBuysellads","FaCanadianMapleLeaf","FaCcAmazonPay","FaCcAmex","FaCcApplePay","FaCcDinersClub","FaCcDiscover","FaCcJcb","FaCcMastercard","FaCcPaypal","FaCcStripe","FaCcVisa","FaCentercode","FaCentos","FaChrome","FaChromecast","FaCloudflare","FaCloudscale","FaCloudsmith","FaCloudversify","FaCodepen","FaCodiepie","FaConfluence","FaConnectdevelop","FaContao","FaCottonBureau","FaCpanel","FaCreativeCommonsBy","FaCreativeCommonsNcEu","FaCreativeCommonsNcJp","FaCreativeCommonsNc","FaCreativeCommonsNd","FaCreativeCommonsPdAlt","FaCreativeCommonsPd","FaCreativeCommonsRemix","FaCreativeCommonsSa","FaCreativeCommonsSamplingPlus","FaCreativeCommonsSampling","FaCreativeCommonsShare","FaCreativeCommonsZero","FaCreativeCommons","FaCriticalRole","FaCss3Alt","FaCss3","FaCuttlefish","FaDAndDBeyond","FaDAndD","FaDailymotion","FaDashcube","FaDeezer","FaDelicious","FaDeploydog","FaDeskpro","FaDev","FaDeviantart","FaDhl","FaDiaspora","FaDigg","FaDigitalOcean","FaDiscord","FaDiscourse","FaDochub","FaDocker","FaDraft2Digital","FaDribbbleSquare","FaDribbble","FaDropbox","FaDrupal","FaDyalog","FaEarlybirds","FaEbay","FaEdgeLegacy","FaEdge","FaElementor","FaEllo","FaEmber","FaEmpire","FaEnvira","FaErlang","FaEthereum","FaEtsy","FaEvernote","FaExpeditedssl","FaFacebookF","FaFacebookMessenger","FaFacebookSquare","FaFacebook","FaFantasyFlightGames","FaFedex","FaFedora","FaFigma","FaFirefoxBrowser","FaFirefox","FaFirstOrderAlt","FaFirstOrder","FaFirstdraft","FaFlickr","FaFlipboard","FaFly","FaFontAwesomeAlt","FaFontAwesomeFlag","FaFontAwesomeLogoFull","FaFontAwesome","FaFonticonsFi","FaFonticons","FaFortAwesomeAlt","FaFortAwesome","FaForumbee","FaFoursquare","FaFreeCodeCamp","FaFreebsd","FaFulcrum","FaGalacticRepublic","FaGalacticSenate","FaGetPocket","FaGgCircle","FaGg","FaGitAlt","FaGitSquare","FaGit","FaGithubAlt","FaGithubSquare","FaGithub","FaGitkraken","FaGitlab","FaGitter","FaGlideG","FaGlide","FaGofore","FaGoodreadsG","FaGoodreads","FaGoogleDrive","FaGooglePay","FaGooglePlay","FaGooglePlusG","FaGooglePlusSquare","FaGooglePlus","FaGoogleWallet","FaGoogle","FaGratipay","FaGrav","FaGripfire","FaGrunt","FaGuilded","FaGulp","FaHackerNewsSquare","FaHackerNews","FaHackerrank","FaHips","FaHireAHelper","FaHive","FaHooli","FaHornbill","FaHotjar","FaHouzz","FaHtml5","FaHubspot","FaIdeal","FaImdb","FaInnosoft","FaInstagramSquare","FaInstagram","FaInstalod","FaIntercom","FaInternetExplorer","FaInvision","FaIoxhost","FaItchIo","FaItunesNote","FaItunes","FaJava","FaJediOrder","FaJenkins","FaJira","FaJoget","FaJoomla","FaJsSquare","FaJs","FaJsfiddle","FaKaggle","FaKeybase","FaKeycdn","FaKickstarterK","FaKickstarter","FaKorvue","FaLaravel","FaLastfmSquare","FaLastfm","FaLeanpub","FaLess","FaLine","FaLinkedinIn","FaLinkedin","FaLinode","FaLinux","FaLyft","FaMagento","FaMailchimp","FaMandalorian","FaMarkdown","FaMastodon","FaMaxcdn","FaMdb","FaMedapps","FaMediumM","FaMedium","FaMedrt","FaMeetup","FaMegaport","FaMendeley","FaMicroblog","FaMicrosoft","FaMix","FaMixcloud","FaMixer","FaMizuni","FaModx","FaMonero","FaNapster","FaNeos","FaNimblr","FaNodeJs","FaNode","FaNpm","FaNs8","FaNutritionix","FaOctopusDeploy","FaOdnoklassnikiSquare","FaOdnoklassniki","FaOldRepublic","FaOpencart","FaOpenid","FaOpera","FaOptinMonster","FaOrcid","FaOsi","FaPage4","FaPagelines","FaPalfed","FaPatreon","FaPaypal","FaPennyArcade","FaPerbyte","FaPeriscope","FaPhabricator","FaPhoenixFramework","FaPhoenixSquadron","FaPhp","FaPiedPiperAlt","FaPiedPiperHat","FaPiedPiperPp","FaPiedPiperSquare","FaPiedPiper","FaPinterestP","FaPinterestSquare","FaPinterest","FaPlaystation","FaProductHunt","FaPushed","FaPython","FaQq","FaQuinscape","FaQuora","FaRProject","FaRaspberryPi","FaRavelry","FaReact","FaReacteurope","FaReadme","FaRebel","FaRedRiver","FaRedditAlien","FaRedditSquare","FaReddit","FaRedhat","FaRenren","FaReplyd","FaResearchgate","FaResolving","FaRev","FaRocketchat","FaRockrms","FaRust","FaSafari","FaSalesforce","FaSass","FaSchlix","FaScribd","FaSearchengin","FaSellcast","FaSellsy","FaServicestack","FaShirtsinbulk","FaShopify","FaShopware","FaSimplybuilt","FaSistrix","FaSith","FaSketch","FaSkyatlas","FaSkype","FaSlackHash","FaSlack","FaSlideshare","FaSnapchatGhost","FaSnapchatSquare","FaSnapchat","FaSoundcloud","FaSourcetree","FaSpeakap","FaSpeakerDeck","FaSpotify","FaSquarespace","FaStackExchange","FaStackOverflow","FaStackpath","FaStaylinked","FaSteamSquare","FaSteamSymbol","FaSteam","FaStickerMule","FaStrava","FaStripeS","FaStripe","FaStudiovinari","FaStumbleuponCircle","FaStumbleupon","FaSuperpowers","FaSupple","FaSuse","FaSwift","FaSymfony","FaTeamspeak","FaTelegramPlane","FaTelegram","FaTencentWeibo","FaTheRedYeti","FaThemeco","FaThemeisle","FaThinkPeaks","FaTiktok","FaTradeFederation","FaTrello","FaTripadvisor","FaTumblrSquare","FaTumblr","FaTwitch","FaTwitterSquare","FaTwitter","FaTypo3","FaUber","FaUbuntu","FaUikit","FaUmbraco","FaUncharted","FaUniregistry","FaUnity","FaUnsplash","FaUntappd","FaUps","FaUsb","FaUsps","FaUssunnah","FaVaadin","FaViacoin","FaViadeoSquare","FaViadeo","FaViber","FaVimeoSquare","FaVimeoV","FaVimeo","FaVine","FaVk","FaVnv","FaVuejs","FaWatchmanMonitoring","FaWaze","FaWeebly","FaWeibo","FaWeixin","FaWhatsappSquare","FaWhatsapp","FaWhmcs","FaWikipediaW","FaWindows","FaWix","FaWizardsOfTheCoast","FaWodu","FaWolfPackBattalion","FaWordpressSimple","FaWordpress","FaWpbeginner","FaWpexplorer","FaWpforms","FaWpressr","FaXbox","FaXingSquare","FaXing","FaYCombinator","FaYahoo","FaYammer","FaYandexInternational","FaYandex","FaYarn","FaYelp","FaYoast","FaYoutubeSquare","FaYoutube","FaZhihu","FaAd","FaAddressBook","FaAddressCard","FaAdjust","FaAirFreshener","FaAlignCenter","FaAlignJustify","FaAlignLeft","FaAlignRight","FaAllergies","FaAmbulance","FaAmericanSignLanguageInterpreting","FaAnchor","FaAngleDoubleDown","FaAngleDoubleLeft","FaAngleDoubleRight","FaAngleDoubleUp","FaAngleDown","FaAngleLeft","FaAngleRight","FaAngleUp","FaAngry","FaAnkh","FaAppleAlt","FaArchive","FaArchway","FaArrowAltCircleDown","FaArrowAltCircleLeft","FaArrowAltCircleRight","FaArrowAltCircleUp","FaArrowCircleDown","FaArrowCircleLeft","FaArrowCircleRight","FaArrowCircleUp","FaArrowDown","FaArrowLeft","FaArrowRight","FaArrowUp","FaArrowsAltH","FaArrowsAltV","FaArrowsAlt","FaAssistiveListeningSystems","FaAsterisk","FaAt","FaAtlas","FaAtom","FaAudioDescription","FaAward","FaBabyCarriage","FaBaby","FaBackspace","FaBackward","FaBacon","FaBacteria","FaBacterium","FaBahai","FaBalanceScaleLeft","FaBalanceScaleRight","FaBalanceScale","FaBan","FaBandAid","FaBarcode","FaBars","FaBaseballBall","FaBasketballBall","FaBath","FaBatteryEmpty","FaBatteryFull","FaBatteryHalf","FaBatteryQuarter","FaBatteryThreeQuarters","FaBed","FaBeer","FaBellSlash","FaBell","FaBezierCurve","FaBible","FaBicycle","FaBiking","FaBinoculars","FaBiohazard","FaBirthdayCake","FaBlenderPhone","FaBlender","FaBlind","FaBlog","FaBold","FaBolt","FaBomb","FaBone","FaBong","FaBookDead","FaBookMedical","FaBookOpen","FaBookReader","FaBook","FaBookmark","FaBorderAll","FaBorderNone","FaBorderStyle","FaBowlingBall","FaBoxOpen","FaBoxTissue","FaBox","FaBoxes","FaBraille","FaBrain","FaBreadSlice","FaBriefcaseMedical","FaBriefcase","FaBroadcastTower","FaBroom","FaBrush","FaBug","FaBuilding","FaBullhorn","FaBullseye","FaBurn","FaBusAlt","FaBus","FaBusinessTime","FaCalculator","FaCalendarAlt","FaCalendarCheck","FaCalendarDay","FaCalendarMinus","FaCalendarPlus","FaCalendarTimes","FaCalendarWeek","FaCalendar","FaCameraRetro","FaCamera","FaCampground","FaCandyCane","FaCannabis","FaCapsules","FaCarAlt","FaCarBattery","FaCarCrash","FaCarSide","FaCar","FaCaravan","FaCaretDown","FaCaretLeft","FaCaretRight","FaCaretSquareDown","FaCaretSquareLeft","FaCaretSquareRight","FaCaretSquareUp","FaCaretUp","FaCarrot","FaCartArrowDown","FaCartPlus","FaCashRegister","FaCat","FaCertificate","FaChair","FaChalkboardTeacher","FaChalkboard","FaChargingStation","FaChartArea","FaChartBar","FaChartLine","FaChartPie","FaCheckCircle","FaCheckDouble","FaCheckSquare","FaCheck","FaCheese","FaChessBishop","FaChessBoard","FaChessKing","FaChessKnight","FaChessPawn","FaChessQueen","FaChessRook","FaChess","FaChevronCircleDown","FaChevronCircleLeft","FaChevronCircleRight","FaChevronCircleUp","FaChevronDown","FaChevronLeft","FaChevronRight","FaChevronUp","FaChild","FaChurch","FaCircleNotch","FaCircle","FaCity","FaClinicMedical","FaClipboardCheck","FaClipboardList","FaClipboard","FaClock","FaClone","FaClosedCaptioning","FaCloudDownloadAlt","FaCloudMeatball","FaCloudMoonRain","FaCloudMoon","FaCloudRain","FaCloudShowersHeavy","FaCloudSunRain","FaCloudSun","FaCloudUploadAlt","FaCloud","FaCocktail","FaCodeBranch","FaCode","FaCoffee","FaCog","FaCogs","FaCoins","FaColumns","FaCommentAlt","FaCommentDollar","FaCommentDots","FaCommentMedical","FaCommentSlash","FaComment","FaCommentsDollar","FaComments","FaCompactDisc","FaCompass","FaCompressAlt","FaCompressArrowsAlt","FaCompress","FaConciergeBell","FaCookieBite","FaCookie","FaCopy","FaCopyright","FaCouch","FaCreditCard","FaCropAlt","FaCrop","FaCross","FaCrosshairs","FaCrow","FaCrown","FaCrutch","FaCube","FaCubes","FaCut","FaDatabase","FaDeaf","FaDemocrat","FaDesktop","FaDharmachakra","FaDiagnoses","FaDiceD20","FaDiceD6","FaDiceFive","FaDiceFour","FaDiceOne","FaDiceSix","FaDiceThree","FaDiceTwo","FaDice","FaDigitalTachograph","FaDirections","FaDisease","FaDivide","FaDizzy","FaDna","FaDog","FaDollarSign","FaDollyFlatbed","FaDolly","FaDonate","FaDoorClosed","FaDoorOpen","FaDotCircle","FaDove","FaDownload","FaDraftingCompass","FaDragon","FaDrawPolygon","FaDrumSteelpan","FaDrum","FaDrumstickBite","FaDumbbell","FaDumpsterFire","FaDumpster","FaDungeon","FaEdit","FaEgg","FaEject","FaEllipsisH","FaEllipsisV","FaEnvelopeOpenText","FaEnvelopeOpen","FaEnvelopeSquare","FaEnvelope","FaEquals","FaEraser","FaEthernet","FaEuroSign","FaExchangeAlt","FaExclamationCircle","FaExclamationTriangle","FaExclamation","FaExpandAlt","FaExpandArrowsAlt","FaExpand","FaExternalLinkAlt","FaExternalLinkSquareAlt","FaEyeDropper","FaEyeSlash","FaEye","FaFan","FaFastBackward","FaFastForward","FaFaucet","FaFax","FaFeatherAlt","FaFeather","FaFemale","FaFighterJet","FaFileAlt","FaFileArchive","FaFileAudio","FaFileCode","FaFileContract","FaFileCsv","FaFileDownload","FaFileExcel","FaFileExport","FaFileImage","FaFileImport","FaFileInvoiceDollar","FaFileInvoice","FaFileMedicalAlt","FaFileMedical","FaFilePdf","FaFilePowerpoint","FaFilePrescription","FaFileSignature","FaFileUpload","FaFileVideo","FaFileWord","FaFile","FaFillDrip","FaFill","FaFilm","FaFilter","FaFingerprint","FaFireAlt","FaFireExtinguisher","FaFire","FaFirstAid","FaFish","FaFistRaised","FaFlagCheckered","FaFlagUsa","FaFlag","FaFlask","FaFlushed","FaFolderMinus","FaFolderOpen","FaFolderPlus","FaFolder","FaFont","FaFootballBall","FaForward","FaFrog","FaFrownOpen","FaFrown","FaFunnelDollar","FaFutbol","FaGamepad","FaGasPump","FaGavel","FaGem","FaGenderless","FaGhost","FaGift","FaGifts","FaGlassCheers","FaGlassMartiniAlt","FaGlassMartini","FaGlassWhiskey","FaGlasses","FaGlobeAfrica","FaGlobeAmericas","FaGlobeAsia","FaGlobeEurope","FaGlobe","FaGolfBall","FaGopuram","FaGraduationCap","FaGreaterThanEqual","FaGreaterThan","FaGrimace","FaGrinAlt","FaGrinBeamSweat","FaGrinBeam","FaGrinHearts","FaGrinSquintTears","FaGrinSquint","FaGrinStars","FaGrinTears","FaGrinTongueSquint","FaGrinTongueWink","FaGrinTongue","FaGrinWink","FaGrin","FaGripHorizontal","FaGripLinesVertical","FaGripLines","FaGripVertical","FaGuitar","FaHSquare","FaHamburger","FaHammer","FaHamsa","FaHandHoldingHeart","FaHandHoldingMedical","FaHandHoldingUsd","FaHandHoldingWater","FaHandHolding","FaHandLizard","FaHandMiddleFinger","FaHandPaper","FaHandPeace","FaHandPointDown","FaHandPointLeft","FaHandPointRight","FaHandPointUp","FaHandPointer","FaHandRock","FaHandScissors","FaHandSparkles","FaHandSpock","FaHandsHelping","FaHandsWash","FaHands","FaHandshakeAltSlash","FaHandshakeSlash","FaHandshake","FaHanukiah","FaHardHat","FaHashtag","FaHatCowboySide","FaHatCowboy","FaHatWizard","FaHdd","FaHeadSideCoughSlash","FaHeadSideCough","FaHeadSideMask","FaHeadSideVirus","FaHeading","FaHeadphonesAlt","FaHeadphones","FaHeadset","FaHeartBroken","FaHeart","FaHeartbeat","FaHelicopter","FaHighlighter","FaHiking","FaHippo","FaHistory","FaHockeyPuck","FaHollyBerry","FaHome","FaHorseHead","FaHorse","FaHospitalAlt","FaHospitalSymbol","FaHospitalUser","FaHospital","FaHotTub","FaHotdog","FaHotel","FaHourglassEnd","FaHourglassHalf","FaHourglassStart","FaHourglass","FaHouseDamage","FaHouseUser","FaHryvnia","FaICursor","FaIceCream","FaIcicles","FaIcons","FaIdBadge","FaIdCardAlt","FaIdCard","FaIgloo","FaImage","FaImages","FaInbox","FaIndent","FaIndustry","FaInfinity","FaInfoCircle","FaInfo","FaItalic","FaJedi","FaJoint","FaJournalWhills","FaKaaba","FaKey","FaKeyboard","FaKhanda","FaKissBeam","FaKissWinkHeart","FaKiss","FaKiwiBird","FaLandmark","FaLanguage","FaLaptopCode","FaLaptopHouse","FaLaptopMedical","FaLaptop","FaLaughBeam","FaLaughSquint","FaLaughWink","FaLaugh","FaLayerGroup","FaLeaf","FaLemon","FaLessThanEqual","FaLessThan","FaLevelDownAlt","FaLevelUpAlt","FaLifeRing","FaLightbulb","FaLink","FaLiraSign","FaListAlt","FaListOl","FaListUl","FaList","FaLocationArrow","FaLockOpen","FaLock","FaLongArrowAltDown","FaLongArrowAltLeft","FaLongArrowAltRight","FaLongArrowAltUp","FaLowVision","FaLuggageCart","FaLungsVirus","FaLungs","FaMagic","FaMagnet","FaMailBulk","FaMale","FaMapMarkedAlt","FaMapMarked","FaMapMarkerAlt","FaMapMarker","FaMapPin","FaMapSigns","FaMap","FaMarker","FaMarsDouble","FaMarsStrokeH","FaMarsStrokeV","FaMarsStroke","FaMars","FaMask","FaMedal","FaMedkit","FaMehBlank","FaMehRollingEyes","FaMeh","FaMemory","FaMenorah","FaMercury","FaMeteor","FaMicrochip","FaMicrophoneAltSlash","FaMicrophoneAlt","FaMicrophoneSlash","FaMicrophone","FaMicroscope","FaMinusCircle","FaMinusSquare","FaMinus","FaMitten","FaMobileAlt","FaMobile","FaMoneyBillAlt","FaMoneyBillWaveAlt","FaMoneyBillWave","FaMoneyBill","FaMoneyCheckAlt","FaMoneyCheck","FaMonument","FaMoon","FaMortarPestle","FaMosque","FaMotorcycle","FaMountain","FaMousePointer","FaMouse","FaMugHot","FaMusic","FaNetworkWired","FaNeuter","FaNewspaper","FaNotEqual","FaNotesMedical","FaObjectGroup","FaObjectUngroup","FaOilCan","FaOm","FaOtter","FaOutdent","FaPager","FaPaintBrush","FaPaintRoller","FaPalette","FaPallet","FaPaperPlane","FaPaperclip","FaParachuteBox","FaParagraph","FaParking","FaPassport","FaPastafarianism","FaPaste","FaPauseCircle","FaPause","FaPaw","FaPeace","FaPenAlt","FaPenFancy","FaPenNib","FaPenSquare","FaPen","FaPencilAlt","FaPencilRuler","FaPeopleArrows","FaPeopleCarry","FaPepperHot","FaPercent","FaPercentage","FaPersonBooth","FaPhoneAlt","FaPhoneSlash","FaPhoneSquareAlt","FaPhoneSquare","FaPhoneVolume","FaPhone","FaPhotoVideo","FaPiggyBank","FaPills","FaPizzaSlice","FaPlaceOfWorship","FaPlaneArrival","FaPlaneDeparture","FaPlaneSlash","FaPlane","FaPlayCircle","FaPlay","FaPlug","FaPlusCircle","FaPlusSquare","FaPlus","FaPodcast","FaPollH","FaPoll","FaPooStorm","FaPoo","FaPoop","FaPortrait","FaPoundSign","FaPowerOff","FaPray","FaPrayingHands","FaPrescriptionBottleAlt","FaPrescriptionBottle","FaPrescription","FaPrint","FaProcedures","FaProjectDiagram","FaPumpMedical","FaPumpSoap","FaPuzzlePiece","FaQrcode","FaQuestionCircle","FaQuestion","FaQuidditch","FaQuoteLeft","FaQuoteRight","FaQuran","FaRadiationAlt","FaRadiation","FaRainbow","FaRandom","FaReceipt","FaRecordVinyl","FaRecycle","FaRedoAlt","FaRedo","FaRegistered","FaRemoveFormat","FaReplyAll","FaReply","FaRepublican","FaRestroom","FaRetweet","FaRibbon","FaRing","FaRoad","FaRobot","FaRocket","FaRoute","FaRssSquare","FaRss","FaRubleSign","FaRulerCombined","FaRulerHorizontal","FaRulerVertical","FaRuler","FaRunning","FaRupeeSign","FaSadCry","FaSadTear","FaSatelliteDish","FaSatellite","FaSave","FaSchool","FaScrewdriver","FaScroll","FaSdCard","FaSearchDollar","FaSearchLocation","FaSearchMinus","FaSearchPlus","FaSearch","FaSeedling","FaServer","FaShapes","FaShareAltSquare","FaShareAlt","FaShareSquare","FaShare","FaShekelSign","FaShieldAlt","FaShieldVirus","FaShip","FaShippingFast","FaShoePrints","FaShoppingBag","FaShoppingBasket","FaShoppingCart","FaShower","FaShuttleVan","FaSignInAlt","FaSignLanguage","FaSignOutAlt","FaSign","FaSignal","FaSignature","FaSimCard","FaSink","FaSitemap","FaSkating","FaSkiingNordic","FaSkiing","FaSkullCrossbones","FaSkull","FaSlash","FaSleigh","FaSlidersH","FaSmileBeam","FaSmileWink","FaSmile","FaSmog","FaSmokingBan","FaSmoking","FaSms","FaSnowboarding","FaSnowflake","FaSnowman","FaSnowplow","FaSoap","FaSocks","FaSolarPanel","FaSortAlphaDownAlt","FaSortAlphaDown","FaSortAlphaUpAlt","FaSortAlphaUp","FaSortAmountDownAlt","FaSortAmountDown","FaSortAmountUpAlt","FaSortAmountUp","FaSortDown","FaSortNumericDownAlt","FaSortNumericDown","FaSortNumericUpAlt","FaSortNumericUp","FaSortUp","FaSort","FaSpa","FaSpaceShuttle","FaSpellCheck","FaSpider","FaSpinner","FaSplotch","FaSprayCan","FaSquareFull","FaSquareRootAlt","FaSquare","FaStamp","FaStarAndCrescent","FaStarHalfAlt","FaStarHalf","FaStarOfDavid","FaStarOfLife","FaStar","FaStepBackward","FaStepForward","FaStethoscope","FaStickyNote","FaStopCircle","FaStop","FaStopwatch20","FaStopwatch","FaStoreAltSlash","FaStoreAlt","FaStoreSlash","FaStore","FaStream","FaStreetView","FaStrikethrough","FaStroopwafel","FaSubscript","FaSubway","FaSuitcaseRolling","FaSuitcase","FaSun","FaSuperscript","FaSurprise","FaSwatchbook","FaSwimmer","FaSwimmingPool","FaSynagogue","FaSyncAlt","FaSync","FaSyringe","FaTableTennis","FaTable","FaTabletAlt","FaTablet","FaTablets","FaTachometerAlt","FaTag","FaTags","FaTape","FaTasks","FaTaxi","FaTeethOpen","FaTeeth","FaTemperatureHigh","FaTemperatureLow","FaTenge","FaTerminal","FaTextHeight","FaTextWidth","FaThLarge","FaThList","FaTh","FaTheaterMasks","FaThermometerEmpty","FaThermometerFull","FaThermometerHalf","FaThermometerQuarter","FaThermometerThreeQuarters","FaThermometer","FaThumbsDown","FaThumbsUp","FaThumbtack","FaTicketAlt","FaTimesCircle","FaTimes","FaTintSlash","FaTint","FaTired","FaToggleOff","FaToggleOn","FaToiletPaperSlash","FaToiletPaper","FaToilet","FaToolbox","FaTools","FaTooth","FaTorah","FaToriiGate","FaTractor","FaTrademark","FaTrafficLight","FaTrailer","FaTrain","FaTram","FaTransgenderAlt","FaTransgender","FaTrashAlt","FaTrashRestoreAlt","FaTrashRestore","FaTrash","FaTree","FaTrophy","FaTruckLoading","FaTruckMonster","FaTruckMoving","FaTruckPickup","FaTruck","FaTshirt","FaTty","FaTv","FaUmbrellaBeach","FaUmbrella","FaUnderline","FaUndoAlt","FaUndo","FaUniversalAccess","FaUniversity","FaUnlink","FaUnlockAlt","FaUnlock","FaUpload","FaUserAltSlash","FaUserAlt","FaUserAstronaut","FaUserCheck","FaUserCircle","FaUserClock","FaUserCog","FaUserEdit","FaUserFriends","FaUserGraduate","FaUserInjured","FaUserLock","FaUserMd","FaUserMinus","FaUserNinja","FaUserNurse","FaUserPlus","FaUserSecret","FaUserShield","FaUserSlash","FaUserTag","FaUserTie","FaUserTimes","FaUser","FaUsersCog","FaUsersSlash","FaUsers","FaUtensilSpoon","FaUtensils","FaVectorSquare","FaVenusDouble","FaVenusMars","FaVenus","FaVestPatches","FaVest","FaVial","FaVials","FaVideoSlash","FaVideo","FaVihara","FaVirusSlash","FaVirus","FaViruses","FaVoicemail","FaVolleyballBall","FaVolumeDown","FaVolumeMute","FaVolumeOff","FaVolumeUp","FaVoteYea","FaVrCardboard","FaWalking","FaWallet","FaWarehouse","FaWater","FaWaveSquare","FaWeightHanging","FaWeight","FaWheelchair","FaWifi","FaWind","FaWindowClose","FaWindowMaximize","FaWindowMinimize","FaWindowRestore","FaWineBottle","FaWineGlassAlt","FaWineGlass","FaWonSign","FaWrench","FaXRay","FaYenSign","FaYinYang","FaRegAddressBook","FaRegAddressCard","FaRegAngry","FaRegArrowAltCircleDown","FaRegArrowAltCircleLeft","FaRegArrowAltCircleRight","FaRegArrowAltCircleUp","FaRegBellSlash","FaRegBell","FaRegBookmark","FaRegBuilding","FaRegCalendarAlt","FaRegCalendarCheck","FaRegCalendarMinus","FaRegCalendarPlus","FaRegCalendarTimes","FaRegCalendar","FaRegCaretSquareDown","FaRegCaretSquareLeft","FaRegCaretSquareRight","FaRegCaretSquareUp","FaRegChartBar","FaRegCheckCircle","FaRegCheckSquare","FaRegCircle","FaRegClipboard","FaRegClock","FaRegClone","FaRegClosedCaptioning","FaRegCommentAlt","FaRegCommentDots","FaRegComment","FaRegComments","FaRegCompass","FaRegCopy","FaRegCopyright","FaRegCreditCard","FaRegDizzy","FaRegDotCircle","FaRegEdit","FaRegEnvelopeOpen","FaRegEnvelope","FaRegEyeSlash","FaRegEye","FaRegFileAlt","FaRegFileArchive","FaRegFileAudio","FaRegFileCode","FaRegFileExcel","FaRegFileImage","FaRegFilePdf","FaRegFilePowerpoint","FaRegFileVideo","FaRegFileWord","FaRegFile","FaRegFlag","FaRegFlushed","FaRegFolderOpen","FaRegFolder","FaRegFontAwesomeLogoFull","FaRegFrownOpen","FaRegFrown","FaRegFutbol","FaRegGem","FaRegGrimace","FaRegGrinAlt","FaRegGrinBeamSweat","FaRegGrinBeam","FaRegGrinHearts","FaRegGrinSquintTears","FaRegGrinSquint","FaRegGrinStars","FaRegGrinTears","FaRegGrinTongueSquint","FaRegGrinTongueWink","FaRegGrinTongue","FaRegGrinWink","FaRegGrin","FaRegHandLizard","FaRegHandPaper","FaRegHandPeace","FaRegHandPointDown","FaRegHandPointLeft","FaRegHandPointRight","FaRegHandPointUp","FaRegHandPointer","FaRegHandRock","FaRegHandScissors","FaRegHandSpock","FaRegHandshake","FaRegHdd","FaRegHeart","FaRegHospital","FaRegHourglass","FaRegIdBadge","FaRegIdCard","FaRegImage","FaRegImages","FaRegKeyboard","FaRegKissBeam","FaRegKissWinkHeart","FaRegKiss","FaRegLaughBeam","FaRegLaughSquint","FaRegLaughWink","FaRegLaugh","FaRegLemon","FaRegLifeRing","FaRegLightbulb","FaRegListAlt","FaRegMap","FaRegMehBlank","FaRegMehRollingEyes","FaRegMeh","FaRegMinusSquare","FaRegMoneyBillAlt","FaRegMoon","FaRegNewspaper","FaRegObjectGroup","FaRegObjectUngroup","FaRegPaperPlane","FaRegPauseCircle","FaRegPlayCircle","FaRegPlusSquare","FaRegQuestionCircle","FaRegRegistered","FaRegSadCry","FaRegSadTear","FaRegSave","FaRegShareSquare","FaRegSmileBeam","FaRegSmileWink","FaRegSmile","FaRegSnowflake","FaRegSquare","FaRegStarHalf","FaRegStar","FaRegStickyNote","FaRegStopCircle","FaRegSun","FaRegSurprise","FaRegThumbsDown","FaRegThumbsUp","FaRegTimesCircle","FaRegTired","FaRegTrashAlt","FaRegUserCircle","FaRegUser","FaRegWindowClose","FaRegWindowMaximize","FaRegWindowMinimize","FaRegWindowRestore","roleColors","isBotMessage","formatTime","ts","date","displayName","CHAT_ROW_FULL_HEIGHT_AVATAR_CLASS","DiscordAvatar","guildIconUrl","userAvatarUrl","ProfileAvatar","imageUrl","ChatIdentity","toolsToggle","discordLabel","isBot","nameClass","chatRowClass","ChatMessageRow","isTyping","isSpectator","open","setOpen","toolCalls","hasToolCalls","isOpen","hasText","rowText","statusLabel","argsText","ButtonBoxTile","buttonId","goal","rewardNumber","rewardName","rewardDescription","dailyCount","dailyLimit","limited","hasDailyLimit","safeDailyCount","limitReached","cleanDescription","LIFETIME_MS","BUTTONBOX_LIFETIME_MS","BARCODE_SCAN_LIFETIME_MS","DEFAULT_COLOR","buildKey","getAlertLifetime","buildAlertToken","timestamp","buildToastRecord","lifetimeMs","expiresAt","getToastRgb","getToastAccent","isGenericAlert","AlertFeed","scale","alerts","buttonBoxButtons","pushAlert","toasts","setToasts","latestTokensRef","timersRef","clearToastTimer","removeToast","currentToasts","toast","scheduleToastRemoval","onButtonIncrement","button","onBarcodeScanned","latest","previousTokens","newItems","nextByKey","nextToasts","activeKeys","activeKeySet","pauseToast","resumeToast","startedAt","dismissToast","containerStyle","containerClass","AlertToastShell","safe","getSafeWikiUrl","rawUrl","onDismiss","onResume","accent","generic","genericBackgroundColor","genericBorderColor","shellClass","AlertToast","BarcodeScanToast","wikiUrl","AUX_LIMITS","DRIVE_LIMITS","MANUAL_DOCK_ASSIST_MAX_SPEED","COMMAND_DELAY_MS","SONG_NOTE_RANGE","SONG_DEFAULT_NOTE","SONG_DEFAULT_DURATION","SONG_REPEAT_MS","HORN_MAX_MS","HORN_MAX_FREQUENCY","HORN_HEAT_UP_PER_SEC","HORN_HEAT_RESUME_THRESHOLD","OI_COMMANDS","DEFAULT_KEYMAP","DEFAULT_MACROS","createDriveState","createAuxState","createCameraState","createSongState","createHornState","createMicState","createManualDockAssistState","initialControlState","controlReducer","vector","speeds","sourceKey","clamp","clampUnit","clampRange","normalizeDriveVector","computeDifferentialSpeeds","maxSpeed","baseSpeed","boostSpeed","forward","turn","bytesToBase64","safeBytes","binary","sleep","useCommandPipeline","driveTransform","auxTransform","servoConfig","headlight","laser","horn","headlightState","laserState","emitCommand","enableSensorStream","sendDriveDirect","rawPayload","transformed","sendAuxMotors","main","side","vacuum","sendServoAngle","angle","sendOiCommand","keyOrBytes","runMacroSteps","macro","sendHeadlight","sendLaser","sendHorn","sendSong","notes","payloadNotes","KEY_ALIASES","BINDING_CODE_MAP","canonicalizeKeyInput","lower","deriveCodeForKey","canonical","createKeyToken","createCodeToken","tokensForEvent","tokens","keyToken","codeToken","normalizeKeymapEntries","keymap","bindings","formatKeyLabel","INPUT_SETTINGS_DEFAULTS","GAMEPAD_PROFILE_DEFAULT","GAMEPAD_SETTINGS_DEFAULTS","HORN_SETTINGS_DEFAULTS","AUDIO_SETTINGS_DEFAULTS","VIDEO_SETTINGS_DEFAULTS","OVERCURRENT_GROUPS","DEFAULT_OVERCURRENT_LIMITS","createInitialCaps","group","useOvercurrentLimiter","overcurrentFlags","caps","setCaps","lastTickRef","flagsRef","hasAnyOvercurrent","motor","needsRecoveryTick","shouldTick","interval","deltaMs","deltaSec","downRate","upRate","releaseDelay","prevEntry","prevCap","prevClear","over","nextClear","allowRecover","nextCap","scales","perGroup","cap","overcurrent","motors","groups","adminImmune","applyDriveOvercurrentScale","leftScale","rightScale","applyAuxOvercurrentScale","mainScale","sideScale","vacuumScale","ControlSystemContext","snapshot","CONTROL_ACTION_NAMES","cloneKeymap","clampServoAngle","removeDriveSequenceBackoff","steps","last3","backoffStep","pauseStep","stopStep","isBackoffStep","isPauseStep","isStopStep","ControlSystemProvider","useReducer","snapshotRef","actionImplementationsRef","stableActions","getControlSnapshot","subscribeControlSnapshot","currentSnapshot","subscriber","notifyControlSubscribers","prevModeRef","pendingLightsRef","servoAngleRef","hornAutoStopRef","hornStartAtRef","hornHeatTickRef","controlSettings","saveControlSettings","pageSettings","hornSettings","driveMacroBackoffEnabled","homeAssistantEntities","roomLightsLockedOn","homeAssistantSetState","overcurrentLimiter","pipeline","turnOnAllLights","targets","ent","prevMode","mergedKeymap","preserved","setMode","recordControlIntent","driveSpeedsRef","auxValuesRef","limiterScaleToken","limiterDriveSentAtRef","limiterAuxSentAtRef","outputRateMs","drive","aux","driveActive","auxActive","setDriveVector","speedOptions","capped","computed","setAuxMotors","updateKeyBinding","bindingId","keyValue","resetKeyBindings","setServoAngle","clamped","nudgeServo","baseline","goServoHome","setCameraPrecisionMode","runMacro","macroId","macroToRun","stopAllMotion","command","setSensorStream","enable","setHeadlight","headlightOn","toggleHeadlight","setLaser","laserOn","toggleLaser","setSongNote","note","normalizedHornSettings","waveform","num","stopHornRef","startHorn","stopHorn","holdMs","currentHeat","added","nextHeat","nextOverheated","hornStateRef","hornNeedsTick","dt","overheated","setManualDockAssistActive","nextActive","minAngle","toggleManualDockAssist","registerInputState","setMicPttActive","actionImplementations","useLayoutEffect","useControlSelector","useControlActions","messageSound","MAX_EVENT_NAME_LENGTH","MAX_PROPERTY_KEY_LENGTH","MAX_STRING_VALUE_LENGTH","throttledEvents","getAdapter","normalizeEventName","normalizeValue","trimmed","normalizePayload","clean","normalizedKey","normalizedValue","trackAnalyticsEvent","adapter","cleanPayload","identifyAnalyticsSession","trackAnalyticsEventThrottled","lastTrackedAt","CHAT_TIMELINE_DEFAULT","CHAT_ACTIONS_DEFAULT","CHAT_FOCUS_DEFAULT","ChatTimelineContext","ChatActionsContext","ChatFocusContext","ChatContext","ChatProvider","session","audioSettings","profileSettings","setMessages","typing","setTyping","isChatFocused","setIsChatFocused","panelInputRef","hudInputRef","audioRef","typingRef","typingAlertRef","typingStateRef","masterVolume","alertVolume","effectiveAlertVolume","profileImage","rebuildTyping","resolveTypingKey","playSound","audio","handleMessage","handleTyping","lastAlertAt","handleInit","seen","setTypingActive","shouldSendStop","sendMessage","tts","registerInputRef","el","focusChat","blurChat","onInputFocus","onInputBlur","timelineValue","actionsValue","focusValue","useChatTimeline","useChatActions","useChatFocus","keyboardCaptureLocked","setKeyboardCaptureLocked","isKeyboardCaptureLocked","TEXT_INPUT_TYPES","isTextEntryActive","useManualDockAssist","manageLifecycle","dockTelemetry","chargingLabel","docked","charging","wasDockedRef","enterAssist","exitAssist","toggleAssist","justDocked","justUndocked","statusTone","visible","clampKeyboardSpeed","resolveKeyboardSpeeds","inputSettings","bindingActive","bindingSet","computeKeyboardDriveVector","backward","boost","slow","isPrecisionDriveActive","computeKeyboardAuxMotors","getKeyboardDriveSpeedOptions","keyboardSpeeds","SOURCE","ZERO_VECTOR","ZERO_AUX","NOTE_MIN","NOTE_MAX","TILT_INTERVAL_MIN","TILT_INTERVAL_MAX","TILT_SPEED_MIN","TILT_SPEED_MAX","PRECISION_SERVO_NUDGE_DEGREES","VIDEO_FILTER_SEQUENCE","normalizeVideoFilter","nextVideoFilter","currentIndex","clampTiltInterval","clampTiltSpeed","mapTiltSpeedToInterval","speed","ratio","mapTiltIntervalToSpeed","clampedInterval","shouldIgnoreEvent","KeyboardInputManager","rawKeymap","cameraNudgeDegrees","songNote","hornActive","homeAssistant","dockAssist","videoSettings","saveVideoSettings","videoColorFilter","actionTokens","token","servoRepeatMs","tiltSpeed","servoStep","activeTokensRef","lastVectorRef","lastAuxRef","servoIntervalRef","songIntervalRef","hornActiveRef","latestRef","driveFromKeys","tokensSnapshot","precisionActive","stopServoLoop","computeServoDirection","up","down","ensureServoLoop","tick","nextDirection","stopSongLoop","computeSongDirection","triggerSongChange","direction","finalNote","ensureSongLoop","resetAll","triggerHomeAssistantCycle","targetState","ha","eligible","cycleVideoFilter","nextFilter","handleKeyDown","tokenSet","newlyPressed","started","handleKeyUp","handleBlur","latestResetAllRef","CURVE_EXPO","getPadSignature","pad","mapping","axes","buttons","cloneProfile","profile","createProfileForPad","baseProfile","applyCurve","curve","abs","applyAxisDeadzone","deadzone","applyRadialDeadzone","mag","readAxis","padState","readButton","btn","resolveAxisSource","resolveAxisPairSource","rawX","rawY","resolveButtonSource","threshold","computeGamepadOutputs","calibration","driveBinding","driveSource","driveX","driveY","driveDeadzone","driveCurved","cameraBinding","cameraSource","cameraDeadzone","cameraAxis","auxDeadzone","mainBinding","mainSource","mainAxis","sideBinding","sideSource","sideAxis","vacuumSource","allAuxSource","mainReverseSource","sideReverseSource","driveMacroSource","dockMacroSource","headlightSource","laserSource","rafId","lastState","hasDeviceListeners","deviceChangeHandler","hasConnectedPads","readGamepads","pads","buildPadState","updateState","loop","stopLoop","startLoop","subscribeGamepadHub","handleDeviceChange","useGamepadHubState","DRIVE_RATE_MS","AUX_RATE_MS","areVectorsEqual","areAuxEqual","vectorMagnitude","isAuxIdle","pickActivePad","activeSignature","GamepadInputManager","cameraAngle","cameraConfig","gamepadSettings","saveGamepadSettings","profileCacheRef","reverseStateRef","buttonStateRef","lastDriveSentAtRef","lastAuxSentAtRef","lastServoAtRef","lastServoAngleRef","ensureProfile","signature","nextProfile","handleButtonEdge","pressed","handleCameraAxis","axisValue","cameraMode","sensitivity","nextAngle","home","hubState","activePad","outputs","auxSideScale","mainMagnitude","sideMagnitude","clampFreq","HornControl","disabled","onStart","onStop","keyLabel","heat","defaultShowSettings","showSettingsToggle","compactSettings","showSettings","setShowSettings","saveHornSettings","setWaveform","settingsRootRef","activePointerIdRef","freqs","setFreqs","f","clampedHeat","buttonClasses","formattedWaveform","updateWaveform","updateFreq","handleWheel","handlePointerDown","handlePointerUp","handlePointerCancel","settingsToggle","freq","isBoolean","GPIOToggleControl","heightClass","optimistic","setOptimistic","suppressClickRef","suppressClickTimerRef","hasState","displayOn","statusClasses","handleToggle","DRIVE_PAD_REPEAT_MS","DRIVE_PAD_SPEED_MODES","AUX_ZERO","AUX_ALL_FORWARD","AUX_ALL_BACKWARD","MobileAuxButton","onPress","onRelease","VacuumControls","clampCameraAngle","formatCameraAngle","VerticalCameraTilt","onChange","trackRef","pointerIdRef","valuePercent","disabledClass","valueFromPointer","rect","usableHeight","rawPercent","unclamped","stepped","sendPointerValue","handlePointerMove","handlePointerEnd","CAMERA_TILT_STEP_DEGREES","CAMERA_TILT_PRECISION_STEP_DEGREES","AuxColumnContent","camera","pipelineHorn","activeAuxButtonRef","cameraEnabled","headlightAvailable","laserAvailable","hornAvailable","hornBlocked","cameraMin","cameraMax","cameraValue","cameraDisabled","cameraTiltStep","handleHeadlightToggle","nextOn","handleLaserToggle","handleHornStart","handleAuxPress","handleAuxRelease","AuxColumn","layout","deriveDriveDockStateFromTelemetry","oiLabel","oiNormalized","useDriveDockState","StatusRow","toneClasses","KeyPill","ActionPill","DockModal","instructions","onConfirm","onCancel","StepList","DriveDockAction","expand","fill","driveDockState","compactHeightClass","isMobile","driving","dockingInProgress","setPending","confirmOpen","setConfirmOpen","showModal","setShowModal","manualAssistActive","driveDisabled","dockDisabled","driveKeyLabel","dockKeyLabel","dockInstructions","startDriveInstructions","dockValue","dockTone","chargeValue","chargeTone","handleReturnToDrive","handleStartDrive","handleConfirmDock","handleOpenDock","baseCardClasses","ctaText","ctaLayout","compactLayout","ctaSize","emeraldCta","amberCta","indigoCta","cyanCta","orangeCta","filledHeight","compactHeight","layoutClass","compactDockedDriving","Fragment","inProgressCopy","numberColor","PAD_MARGIN","CELL_COUNT","DEFAULT_PAD_SIZE","DRIVE_CELLS","DRIVE_CELL_BY_POSITION","cell","STOP_CELL","getViewportSize","getPadSize","viewport","availableWidth","clampPadCenter","clientX","clientY","padSize","halfPad","minX","maxX","minY","maxY","cellFromPointer","cellSize","localX","localY","col","FloatingPadOverlay","center","activeCellId","createPortal","isStop","baseClass","activeClass","FloatingJoystick","activeInputLabel","onCellChange","containerRef","activePadRef","activeCellIdRef","setActivePad","stopTracking","updateActiveCell","currentPad","firstTokenForAction","actionId","getSpeedModeConfig","speedMode","ControlPadPanel","setSpeedMode","setActiveInputLabel","speedModeRef","activeCellRef","repeatTimerRef","clearRepeatTimer","buildVirtualKeyTokens","modeId","speedModeConfig","sendDriveCell","lastEvent","stopDrivePad","startRepeatTimer","handleCellChange","handleSpeedModeChange","nextMode","speedValue","MovementColumnContent","dockedNotDriving","expandAction","MovementColumn","useRoomCameraSnapshots","sourceList","version","feeds","setFeeds","objectUrls","ids","idsKey","idsRef","connectionNonce","setConnectionNonce","statsRef","debugSnapshots","handleConnect","cancelled","currentIds","handleFrame","sizeBytes","prevStats","nextStats","avgBytes","blob","prevUrl","handleStatus","RoomCameraFeed","feed","blink","setBlink","statusText","EmptyState","ORIENTATIONS","CAMERA_VISIBILITY_ROOT_MARGIN","normalizeOrientation","useCameraPanelSubscriptionGate","panelRef","isPanelVisible","setIsPanelVisible","panel","intersectsViewport","publishVisibility","handlePageVisibilityChange","RoomCameraPanel","defaultOrientation","forcedOrientation","hideLayoutToggle","cameras","cameraIds","feedMap","orientationSettings","saveOrientationSettings","orientation","setOrientation","storedOrientation","effectiveOrientation","showLayoutToggle","applyOrientation","option","PointCloudViewer","hostRef","rendererRef","cameraRef","sceneRef","objectRef","controlsRef","threeRef","visibleRef","frameRef","renderOnce","renderer","scene","disposeRenderedObject","rebuildGeometry","currentFrame","THREE","strideBytes","gridPointCount","positions","colors","valid","zValues","z","geometry","indices","maxDepthStepMeters","canConnect","minZ","d","material","resizeObserver","intersectionObserver","initRenderer","threeModule","controlsModule","__vitePreload","OrbitControls","nextVisible","EMPTY_KINECT_STATUS","normalizeKinectStatus","normalizeBinaryPayload","buildStatusPill","cooldownText","lastError","KinectPanel","activeView","setActiveView","pointCloudFrame","setPointCloudFrame","colorUrl","setColorUrl","requestError","setRequestError","setNowMs","handlePointCloudFrame","handleColorFrame","nextUrl","cooldownRemainingMs","controlsDisabled","statusPill","visibleError","emitRequest","RTC_CONFIG","encodeBase64","buildAuthHeader","credential","WhepPlayer","video","onStatus","audioOnly","receiveAudio","pc","mediaTrack","offer","response","answerSdp","receiver","sender","normalizeEntry","dedupeEntries","unique","useVideoRequests","setSources","normalizedEntries","entriesRef","requestEntry","useRoverSnapshots","RESTART_DELAY_MS","UNMUTE_RETRY_MS","AUDIO_RETRY_MS","BRUSH_CURRENT_THRESHOLD_MA","DUCK_RELEASE_FADE_MS","VIDEO_FILTER_STYLES","hasRoverAudioCapture","RoverMediaPlayer","sessionInfo","audioSessionInfo","videoMode","snapshotFeed","forceMute","assignedRoverId","effectiveRoverId","hasAudio","autoVideoEnabled","autoAudioEnabled","autoEntries","autoSources","resolvedSessionInfo","resolvedAudioSessionInfo","autoSnapshots","resolvedSnapshotFeed","resolvedLabel","mainBrushTelemetry","resolvedMainBrushTelemetry","videoRef","restartTimer","audioRestartTimer","audioPlayInterval","unmuteTimer","volumeFadeFrameRef","appliedVolumeRef","setStatus","setDetail","audioStatus","setAudioStatus","audioDetail","setAudioDetail","restartToken","setRestartToken","audioRestartToken","setAudioRestartToken","muted","setMuted","hasDedicatedAudio","usingSnapshot","videoFilter","videoFilterStyle","mediaStyle","roverVolume","mainBrushDuckEnabled","mainBrushDuckAmount","baseRoverGain","mainBrushActive","duckGain","effectiveRoverGain","debugAudio","audioDebugStateRef","logAudio","audioEl","scheduleRestart","scheduleAudioRestart","ensurePlayback","attemptUnmute","scheduleRetry","tryPlay","player","resetMuteId","targetVolume","currentVolume","progress","attemptPlay","handlePlay","handlePause","handleEnded","handleError","handleWaiting","handleCanPlay","handleStalled","snapshotStatus","renderedStatus","renderedAudioStatus","showConnectingOverlay","useDriverVideoModePolicy","users","turnQueues","socketId","activeDrivers","isTurnsMode","turnInfo","activeDriverId","isActiveDriver","nextDriverId","isNextDriver","deadline","msUntilTurn","totalRovers","totalDrivers","turnRoverId","turnSocketId","shouldUsePreviewByLoad","isPreSwitchWindow","getSessionSocials","socials","getSocialById","socialId","sanitizeCssColor","resolveIcon","iconName","icon","SocialButton","socialFromId","resolvedIcon","Icon","bgColor","isInline","TurnsOverlay","mobileHud","lastControlIntentAt","showTurnCue","setShowTurnCue","turnCueStartAt","setTurnCueStartAt","noticeFlashActive","setNoticeFlashActive","notTurnFlashAt","setNotTurnFlashAt","lastTurnRef","lastIntentRef","timerTextClass","timerPadClass","titleClass","subClass","cueTimerClass","cuePadClass","idleDeadline","msUntilIdleSkip","showNotTurnNotice","showPreviewReason","turnSeconds","idleSkipSeconds","turnTimerText","notTurnCountdownText","showCountdown","turnTimerFlashActive","lastTurn","nextActiveDriverId","lastIntent","nextIntent","TurnsOverlay$1","useHudMapSetting","RoverLabelOverlay","roverColor","driverLabel","labelScale","labelPadClass","labelTextClass","labelPosClass","labelWrapperStyle","SpectatorTelemetryOverlay","telemetry","voltageMv","currentMa","batteryChargeMah","statusPadClass","telemetryPosClass","telemetryTextClass","telemetryEntries","oiTone","chargingTone","labelText","clamp01","toRad","angleDeg","polarToCartesian","cy","rad","describeArc","startDeg","endDeg","startPt","endPt","currentColor","lightBumpColor","norm","buildSegments","totalSpan","gap","startAngle","ArcSegment","rInner","rOuter","pulse","opacity","rMid","strokeWidth","CurvedArcBar","backgroundColor","fillColor","fillFromEnd","safePercent","backgroundPath","fillPath","fillSpan","fillStart","fillEnd","ConeSegment","rBase","rTip","mid","eased","filledR","barR","fg","tip","filledA","filledB","WheelVisual","drop","pct","barH","currentW","dropW","currentFill","sign","currentCenterX","dropCenterX","dropLabelRotation","groupWidth","groupHeight","SideBrushVisual","armLength","spinDuration","deg","x2","y2","ReadoutBar","valueText","missing","fillWidth","cellWidth","byte","barHeight","hue","barX","barY","MainBrushVisual","dirtLeft","dirtRight","rollerWidth","rollerHeight","patternA","patternB","dur","dir","renderDirtDot","dotCx","dotCy","numericValue","radius","stroke","rawNumber","useTopDownTelemetry","EMPTY_BUMP_TELEMETRY","selectBumpTelemetry","bumps","BumpLayer","bumpDepress","bumpLeftOffset","bumpRightOffset","BumpLayer$1","EMPTY_CLIFF_TELEMETRY","selectCliffTelemetry","cliffSignalPercent","CliffLayer","seg","CliffLayer$1","EMPTY_ELECTRICAL_TELEMETRY","selectElectricalTelemetry","formatCurrent","voltagePercent","clampDisplay","currentPercent","ElectricalReadoutLayer","ElectricalReadoutLayer$1","EMPTY_LIGHT_BUMP_TELEMETRY","LightBumpLayer","lightValues","lightMaxSamples","maxLight","tipR","baseR","LightBumpLayer$1","EMPTY_MAIN_BRUSH_TELEMETRY","selectMainBrushTelemetry","MainBrushLayer","MainBrushLayer$1","EMPTY_SIDE_BRUSH_TELEMETRY","selectSideBrushTelemetry","SideBrushLayer","SideBrushLayer$1","EMPTY_WHEEL_TELEMETRY","selectWheelTelemetry","wheelOver","WheelLayer","WheelLayer$1","LIGHT_LABELS","buildGeometry","offsetY","centerX","centerY","innerCircle","lightRingInner","lightRingOuter","cliffRingInner","cliffRingOuter","wheelLineOffset","lightAngles","maxCornerReadoutWidth","readoutWidth","readoutHeight","readoutInset","bottomReadoutY","TopDownMapContent","overrideSize","overlay","TopDownMapContent$1","HudMapOverlay","show","mapPosition","layoutFormat","portraitMobile","mapSize","mapScale","mapStyle","TopDownMap","HudOverlay","showTopDown","spectatorTelemetry","rosterInfo","derivedDriverLabel","activeId","u","resolvedSensors","resolvedRoverColor","resolvedDriverLabel","showHudMapDesktop","resolvedShowTopDown","resolvedMapPosition","HudOverlay$1","ManualDockAssistOverlay","popupMessage","setPopupMessage","timerRef","prevActiveRef","prevActive","toneClass","ManualDockAssistOverlay$1","DISMISS_AFTER_INPUT_MS","LARGE_FADE_MS","RoverDescriptionOverlay","displayKey","controlIntentAt","rosterDescription","resolvedDescription","resolvedControlIntentAt","resolvedDisplayKey","largeVisible","setLargeVisible","largeFading","setLargeFading","fadeTimerRef","hideTimerRef","OVERCURRENT_LABELS","OvercurrentOverlay","selectedOvercurrents","internalLimiter","resolvedOvercurrents","resolvedOvercurrentLimiter","overcurrentMotors","limiterCaps","limiterFill","driveCap","auxCap","limiterActive","safeLabels","padClass","textClass","subTextClass","safeFill","OvercurrentOverlay$1","WARN_DISPLAY_PERCENT","buildBatteryVisual","batteryState","charge","percentDisplayFromState","warnActiveFromState","urgentActiveFromState","full","warn","urgent","percentDisplay","computeDisplayPercent","warnActive","urgentActive","warnOffset","upperSpan","LowBatteryOverlay","batteryConfig","batteryTelemetry","rosterBatteryConfig","resolvedBatteryTelemetry","resolvedBatteryConfig","battery","LowBatteryOverlay$1","LightBumpBars","selectedValues","hueFor","LightBumpBars$1","WARN_FLASH_MS","URGENT_FLASH_MS","BatteryBar","visual","showLabel","isBackground","isVertical","resolvedShowLabel","warnPercent","markerClass","markerStyle","isUrgent","isWarn","animationDuration","fillTone","baseTone","baseToneStrong","fillStyle","barShellClass","labelClass","labelPillClass","BatteryBar$1","DriverBottomStrip","batteryVisual","detectSafari","userAgent","vendor","HudChatInput","currentRoverId","roverRoster","ttsSettings","draft","setDraft","sending","setSending","canChat","hideHudChat","ttsSupported","ttsPayload","engine","pitch","voice","inputClass","buttonClass","handleSend","HudChatInput$1","memo","DriverVideo","COLOR_SWATCHES","StatusBadge","buildTileStyle","entity","unavailable","isOn","supportsColor","LampSwatch","swatch","onSetColor","onSetWhite","LampTile","connected","controlsLocked","disableToggle","disableColor","tileStyle","tileTone","handleTileToggle","handleTileKeyDown","HomeAssistantControls","homeAssistantToggle","homeAssistantSetLightColor","homeAssistantSetLightWhite","entities","lightPolicy","lockState","onKeyLabel","offKeyLabel","AuthPanel","login","setUsername","setPassword","loading","setLoading","handleLogin","formatBattery","batteryClass","RoverRoster","emptyText","renderActions","isPrivateOpen","isLocked","buildLlmLargeIndicatorFromState","runtime","output","buildLlmConversationRowsFromMessages","modelMessages","rawOutput","rows","LlmCommentaryPanel","onClearHistory","clearingHistory","selectedRunId","setSelectedRunId","counters","timings","selectedRun","run","largeIndicator","conversationRows","statPills","pill","OverseerControlPanel","showPayload","setShowPayload","cfg","renderModelMessages","ReplaySnapshotHealth","health","snapshots","roverColorFor","replaySummary","roverStale","roomStale","AdminIpLogPanel","logs","MODES","AdminPanelContent","lockRover","requestControl","setGlobalObjective","setAdminReason","rebootRover","updateRover","rebootServer","setAudioLevels","setPrivateSafety","llmControl","overseerControl","adminLogs","llmCommentaryState","overseerControlState","lockStates","setLockStates","rebootStates","setRebootStates","updateStates","setUpdateStates","serverRebooting","setServerRebooting","clearingLlmHistory","setClearingLlmHistory","clearingOverseerHistory","setClearingOverseerHistory","currentGoal","goalUpdatedAt","goalDraft","setGoalDraft","currentReason","reasonUpdatedAt","reasonDraft","setReasonDraft","currentAudioLevels","audioLevelDraft","setAudioLevelDraft","privateSafetyDrafts","setPrivateSafetyDrafts","isAdmin","isLockdownAdmin","currentMode","handleLockToggle","handleModeChange","handleForceControl","handleReboot","handleUpdate","handleServerReboot","handleClearLlmHistory","handleClearOverseerHistory","handleGoalSave","handleGoalClear","handleReasonSave","handleReasonClear","handleAudioLevelDraft","handleAudioLevelsSave","handleTestRewardOverlay","lockMap","updatePrivateSafetyDraft","patch","handlePrivateSafetySave","KEY_ACTIONS","groupActions","clampSpeed","useKeyCapture","onCapture","setActive","startCapture","cancel","captureFromEvent","SettingsGroupLabel","SpeedField","BindingRow","onCaptureStart","onCaptureKeyDown","KeymapSettings","saveInputSettings","keyboardSettings","updateKeyboardSpeed","updateTiltInterval","mappedInterval","NUMBER_FORMAT","ACTIONS","CAPTURE_AXIS_THRESHOLD","CAPTURE_BUTTON_THRESHOLD","SliderField","formatSource","invert","snapshotBaseline","detectAxisCapture","deltas","top","detectButtonCapture","buildDescriptorFromCapture","axisDescriptor","MappingRow","isCapturing","onClear","onInvert","GamepadMappingSettings","captureAction","setCaptureAction","baselineRef","activeProfile","setActiveSignature","updateCalibration","updateBinding","nextBinding","handleClear","binding","handleInvert","axisKey","diagnostics","section","GROUP_LABELS","formatPct","ProgressBar","OvercurrentLimiterPanel","pageBackgroundClass","themeGapClass","themeStackClass","TabsContext","useTabsContext","TAB_VARIANTS","TAB_HIGHLIGHTS","DEFAULT_VARIANT","Tabs","defaultTab","currentTab","onTabChange","internalTab","setInternalTab","tabOrder","setTabOrder","registerTab","activeTab","setActiveTab","TabList","Tab","highlight","variantStyles","highlightClass","buttonClassName","TabPanels","TabPanel","keepMounted","SessionSnapshot","MAX_ENTRIES","MAX_PAYLOAD_LENGTH","formatValue","nested","formatArgs","arg","SocketLogPanel","setEntries","pushEntry","handleIncoming","handleOutgoing","restoreEmit","originalEmit","manualTabs","VIDEO_FILTER_OPTIONS","SettingRow","SettingHelp","RangeSetting","SettingsPanel","canControl","hudMapDesktop","setHudMapDesktop","savePageSettings","saveAudioSettings","connectionTransport","swapMobileControlColumns","videoFilterCycleKeyLabel","sensorButtons","handleSensorToggle","handleTransportChange","handleAudioRange","handleMainBrushDuckEnabled","handleSwapMobileControlColumns","handleDriveMacroBackoffEnabled","handleVideoFilterChange","tab","AdminPanel","HELP_CONTENT","getHelpContent","renderSegments","renderLine","line","Hero","hero","chip","ListBlock","block","CalloutBlock","KeyboardGroup","KeyboardBlock","GamepadBlock","BlockRenderer","HelpContentView","mainBlocks","asideBlocks","HelpPanel","onOpenOverlay","NicknameForm","setNickname","nicknameInput","setNicknameInput","saving","setSaving","handleSave","FLITE_VOICES","CHROME_TTS_VOICES","ESPEAK_PITCHES","GOOGLE_TTS_VALUES","DEFAULT_GOOGLE_TTS_VALUE","DEFAULT_GOOGLE_TTS_VOICE","TTS_SETTINGS_DEFAULTS","formatGoogleSpeedLabel","engineSpeed","resolveTtsSettings","useChatComposerSessionState","allowSpectatorInput","ChatMessageList","listRef","typingRows","listClass","MemoizedNicknameForm","TtsControls","speak","onSpeakChange","googlePitch","googleSpeed","saveTtsSettings","compactSelectClass","nextVoice","ChatComposer","hideSpectatorNotice","setSpeak","effectiveSpeak","MemoizedChatMessageList","MemoizedChatComposer","ChatPanel","hideInput","minimal","effectiveHideInput","effectiveTitle","SocialButtonsGrid","LinkButtonsPanel","formatLabel","user","selfId","RoverQueuesPanel","assignedRoverName","rebootOwnRover","rebootPending","setRebootPending","canRequest","adminCapable","hasDeadlines","rosterItems","known","extra","handleRequest","targetRoverId","lookupUser","handleRebootOwnRover","headerActions","remainingSeconds","currentId","currentIdx","nextId","isSelfCurrent","isSelfNext","showTimer","isGrantedClosedPrivate","lockedBlocked","lockLabel","buttonLabel","canClickRow","isCurrent","isNext","RawUserPilePanel","hideNicknameForm","baseListClass","formatDegrees","CameraTiltControl","onCommit","keyDownLabel","keyUpLabel","labelRowClass","valueClass","sliderClass","endpointClass","endpointLabelClass","accentClass","showValue","showEndpoints","shouldShowEndpoints","draggingRef","throttleRef","scheduleSend","handleSlider","commitSlider","mergedSliderClass","slider","COOKIE_KEY_REGEX","fieldClass","flowWrapClass","innerFlowClass","maskKey","MAX_UPLOAD_BYTES","TARGET_SAMPLE_RATE","waitForIceGatheringComplete","timeoutMs","isPeerTransportReady","conn","ice","waitForPeerConnected","onState","configureSenderForLowLatency","waitForOutboundAudioFlow","senders","report","mergeFloatChunks","sum","merged","pcm16FromFloat32","samples","out","encodeWavMono16","sampleRate","pcm","dataSize","writeString","StatusIndicator","VipAudioUploadCard","ownRoverId","audioForwardByRover","playUploadedAudio","stopUploadedAudio","startMicWhip","readyMicWhip","stopMicWhip","pttActive","vipAudio","saveVipAudio","selectedUpload","setSelectedUpload","working","setWorking","openMicEnabled","clipMode","micState","setMicState","clipState","setClipState","setMessage","streamRef","audioTrackRef","whipPcRef","micActiveRef","activeRoverRef","clipStreamRef","clipAudioContextRef","clipSourceRef","clipProcessorRef","clipMuteGainRef","clipChunksRef","clipRecordingRef","clipSampleRateRef","selectedForwardState","pipelineConnected","uploadPlaying","micRelayActive","micHot","whipLinkActive","clipRecording","clipSending","pttKeyLabel","setPttMode","handleUploadPlay","handleUploadStop","stopMicCapture","startWhipMic","startPayload","whipUrl","audioTrack","teardownClipPipeline","ensureClipPipeline","processor","muteGain","finishClipRecording","send","wasRecording","wavBytes","startClipRecording","syncLiveMic","prewarmClip","syncClipPtt","ROOMBA_NOTE_MIN","ROOMBA_NOTE_MAX","ROOMBA_DURATION_TICK_MS","BEEPER_READY_GUARD_MS","ROOMBA_SONG_MAX_NOTES","DEFAULT_LIVE_NOTE_TICKS","DEFAULT_FILE_NOTE_TICKS","DEFAULT_ARPEGGIO_NOTE_TICKS","DEFAULT_ARPEGGIO_NOTE_LIMIT","DEFAULT_ARRANGER_DENSITY","PRACTICAL_MIN_NOTE_TICKS","MAX_FILE_NOTE_TICKS","FILE_CHUNK_GAP_THRESHOLD_MS","PLAYBACK_MODES","LIVE_DEVICE_EMPTY_VALUE","parseMidi","Parser","headerChunk","parseHeader","tracks","trackChunk","parseTrack","format","numTracks","timeDivision","readEvent","lastEventTypeByte","eventTypeByte","metatypeByte","hourByte","FRAME_RATES","param1","velocity","b0","b1","b2","b3","midiParser","writeMidi","w","Writer","writeHeader","writeTrack","h","writeEvent","useByte9ForNoteOff","deltaTime","denominator","noteByte","value14","lsb14","msb14","arr","midiWriter","midiFile","number","clampRoombaNote","clampRoombaDurationTicks","ticks","clampPracticalDurationTicks","roombaTicksToMs","formatTrackLabel","noteCount","channels","channelLabel","collectAbsoluteEvents","createTempoMap","tempoEvents","tickToMs","tempoMap","ticksPerBeat","elapsedMs","previousTick","microsecondsPerBeat","tempo","deltaTicks","remainingTicks","extractTrackNotes","absoluteEvents","activeNotes","trackName","noteNumber","startMs","endMs","summarizeChannels","counts","summary","buildPartSourceLabel","channelInfo","trackLabel","buildPlayableParts","partNumber","visibleLabel","inferPartRole","average","getDefaultSelectedPartIds","playable","pitchedParts","getPresetPartIds","preset","groupNotesForArrangement","toleranceMs","noteDurationToRoombaTicks","fallbackTicks","maxTicks","naturalTicks","sortBestLeadNotes","sortBestBassNotes","chooseBestNote","selectedPartsById","selectedPartIds","makeEvent","atMs","durationTicks","suppressNoisyRepeats","minGapMs","lastByNote","lastAt","arrangeRoombaBeeperEvents","selectedParts","fallbackParts","density","monoFallbackTicks","monoMaxTicks","arpeggioTicks","arpeggioLimit","partCountCap","lastBassAt","groupIndex","byPart","partId","partNotes","roleRank","bassNotes","melodyNotes","harmonyNotes","leadNote","bassSpacingMs","bassNote","harmonyNote","repeatGapMs","createChunk","buildRoombaSongChunks","sortedEvents","cursorMs","noteDurationMs","hasOpenChunk","gapAfterCurrentChunk","safeNote","parseMidiFile","file","extracted","getNow","VipMidiBeeperCard","selectedFileName","setSelectedFileName","parsedMidi","setParsedMidi","setSelectedPartIds","playbackMode","setPlaybackMode","setMonoMaxTicks","arpeggioNoteTicks","setArpeggioNoteTicks","arpeggioNoteLimit","setArpeggioNoteLimit","arrangerDensity","setArrangerDensity","liveNoteTicks","setLiveNoteTicks","playbackState","setPlaybackState","setStats","midiAccessState","setMidiAccessState","midiInputs","setMidiInputs","selectedInputId","setSelectedInputId","liveEnabled","setLiveEnabled","midiAccessRef","activeInputRef","playbackRunRef","playbackTimersRef","beeperBusyUntilRef","playbackCursorMsRef","playbackStartedAtRef","playbackConfigRef","playableParts","beeperOptions","beeperEvents","songChunks","midiSupported","selectedInput","selectedPartSet","clearPlaybackTimers","applyPartPreset","togglePart","currentSet","stopPlayback","sendBeeperNote","safeDuration","sendBeeperChunk","buildNextPlaybackChunk","partIds","handleFileChange","nextMidi","defaultParts","handlePlayFile","runId","scheduleNextChunk","sourceGapMs","refreshMidiInputs","access","inputs","requestMidiAccess","handleMidiMessage","VipVerificationCard","pendingRequestId","currentStoredKey","requestVerification","applyIdentityKey","onMessage","fullWidth","requestFlowStep","setRequestFlowStep","requestKeyInput","setRequestKeyInput","confirmNickname","setConfirmNickname","beginRequestFlow","cancelRequestFlow","handleRequestSubmit","applied","wrapClass","VipIdentityCard","restoreFlowStep","setRestoreFlowStep","restoreKeyInput","setRestoreKeyInput","beginRestoreFlow","cancelRestoreFlow","handleRestoreSubmit","VipPrivateRoverAccessCard","requestableRovers","pendingRequests","requestPrivateRoverAccess","pendingByRover","setPendingByRover","pendingMap","inFlight","normalizeHttpUrl","VipProfileImageCard","isVerified","saveProfile","stored","setInput","normalizedInput","hasUnsaved","canSave","VipPanel","identifySession","identity","saveIdentity","requestablePrivateRovers","pendingPrivateRoverRequests","nextRaw","FLASH_MS","REWARD_FLASH_MS","LIMIT_FLASH_MS","BUTTON_TONES","ButtonBoxPanel","incFlash","setIncFlash","limitFlash","setLimitFlash","rewardFlash","setRewardFlash","limitTimersRef","rewardTimersRef","prevRewardAtRef","audioCtxRef","nextMap","nextTs","prevTs","oldTimer","playTone","Ctor","osc","gain","peakGain","onIncrement","incActive","limitActive","rewardActive","STATE_STALE_MS","RESUBSCRIBE_MS","EMPTY_BARCODE_GAME_STATE","normalizeState","useBarcodeGameState","connectionState","setConnectionState","disposed","staleTimer","retryTimer","lastReceivedAt","handleState","subscribeToGameState","handleDisconnect","isStale","voteForGame","gameId","clampRgbChannel","normalizeRgb","themeColor","g","getGameTheme","useClock","formatTimer","endsAt","totalSeconds","GameChoice","game","onVote","theme","StatGrid","stat","getSectionItemText","DisplaySections","sections","visibleSections","sectionIndex","itemIndex","ParticipantsBlock","participants","knownParticipants","displayNames","participant","CounterList","Leaderboard","players","ownPlayer","hasOwnPoints","BarcodeGamesPanel","pendingGameId","setPendingGameId","activeSignatureRef","participantCountRef","activeGame","votingDisabled","timerEndsAt","timerText","games","activeTheme","handleVote","mapByRoverId","mergeOdometerMap","formatDistance","mm","formatAge","ageMs","roverLabel","OdometerPanel","sessionOdometers","sessionOdometerMap","liveOdometerMap","setLiveOdometerMap","odometer","odometerMap","visibleRows","primaryRoverId","primaryRover","primary","OdometerSummary","RoverOdometerList","ignoredSamples","Metric","DetailCard","badgeClass","positionLabel","LiftCard","lift","liftUp","liftDown","configured","activeTarget","position","upAvailable","downAvailable","lastActionAt","commandCooldownMs","cooldownActive","blocked","canRun","cooldownSeconds","humanizeUiState","metricToneClass","StatusTile","hideLabel","NeatoCard","neato","neatoStart","neatoSendHome","neatoLocate","neatoClearErrors","neatoPowerCycle","uiStateLabel","robotStateRaw","batteryLabel","voltage","voltageLabel","robotError","robotAlert","canStart","canSendHome","canLocate","canClearErrors","canPowerCycle","canRunStart","canRunSendHome","canRunLocate","canRunClearErrors","canRunPowerCycle","runAction","headerStatus","headerTone","batteryTone","primaryState","formatUpdatedAt","OverseerMemoryPopup","updatedAt","OverseerPreferencePanelBody","vote","overseerMemory","memoryOpen","setMemoryOpen","running","OverseerPreferencePanel","CHAT_DOCK_INITIAL_HEIGHT","CHAT_DOCK_MIN_HEIGHT","CHAT_DOCK_MAX_HEIGHT","CHAT_DOCK_BOTTOM_INSET","TopDownMapPanel","DriveDockPanel","hideInlineControls","headlightLabel","laserLabel","hornLabel","upLabel","downLabel","trackedControls","RightPaneTabs","onOpenHelpOverlay","chatDockRef","chatDockHeight","setChatDockHeight","ownAudioForward","vipDotClass","pttMode","vipMicActive","vipClipPlaying","showOverseerPreferencePanel","handleTabChange","chatDock","animationFrame","settledFirstFrame","settledSecondFrame","measureChatDock","availableHeight","nextHeight","currentHeight","scheduleMeasure","scheduleSettledMeasure","PRIVILEGED_ROLES","LOCKDOWN_ROLES","RESTRICTED_MODES","getModeDetails","ModeGateOverlay","timezone","restricted","privileged","serverTime","turnSound","useAudio","volume","TurnAlertListener","assignments","seenRoversRef","newlyMine","FullscreenPrompt","onEnterFullscreen","isIOSMode","FloatingFullscreenButton","sideClass","MOBILE_LAYOUTS","detectIOS","ua","supportsFullscreen","useFullscreenPrompt","settingsStatus","isMobileLayout","setVisible","forceVisible","setForceVisible","hasShownPrompt","isIOS","nativeSupported","markShown","reevaluate","dismiss","enterFullscreen","request","showPrompt","HelpOverlay","showOnLoad","onToggleShowOnLoad","handleCheckbox","keepShowing","ControlRow","DesktopQuickstart","MobileQuickstart","QuickstartOverlay","onOpenHelp","isDesktop","wordListText","capitalize","word","pickRandomWord","words","useDefaultNickname","attemptedRef","generated","S","M","C","P","A","E","T","R","I","O","L","B","$","D","N","U","F","V","W","H","G","q","Y","X","Z","Q","ee","te","ne","oe","ie","ae","se","ce","le","ue","me","pe","fingerprintPromise","normalizeThumbmark","safeBody","getBrowserFingerprintId","getFingerprint","useUserIdentitySync","identityStatus","profileStatus","overseerPreference","overseerPreferenceStatus","inFlightRef","lastAckSocketRef","retryTimerRef","fingerprintRef","ready","normalizedIdentitySurface","clearRetry","sendIdentify","nextKey","handleOnline","handleVisibility","MOBILE_DISMISS_MS","MAX_FONT_PX","MIN_FONT_PX","GlobalObjectiveBanner","dismissable","goalText","fontSize","setFontSize","setRemainingMs","textRef","textContainerRef","elapsed","adjustFont","textContainer","needed","nextSize","frameStyle","dismissProps","SHOW_MS","RewardRunOverlay","setOverlay","onRewardRun","onLocalRewardRun","CONNECTED_FADE_DELAY_MS","cls","SocketConnectionPill","setConnected","lastReason","setLastReason","faded","setFaded","clearFadeTimer","scheduleFade","onConnectError","onReconnectAttempt","offline","DuplicateIdentityOverlay","duplicateIdentityBlock","useLayoutMode","updateMode","innerWidth","innerHeight","DesktopLayout","MobileFeatureTabs","roomPanelId","MobilePortraitLayout","columnHeight","firstColumn","secondColumn","MobileLandscapeLayout","columnClass","App","fullscreen","AppWithProviders","fullscreenVisible","fullscreenMode","fullscreenIsIOS","fullscreenNativeSupported","helpSettings","saveHelpSettings","quickstartSettings","quickstartStatus","saveQuickstartSettings","fullscreenButtonSide","showFloatingFullscreenButton","helpVisible","setHelpVisible","quickstartVisible","setQuickstartVisible","openHelp","closeHelp","closeQuickstart","handleFloatingFullscreen","entered","setQuickstartShowOnLoad","openHelpFromQuickstart","handleFullscreenPromptEnter","handleFullscreenPromptDismiss","renderedLayout","useSpectatorMode","setRole","subscribeAll","setReady","ensureSpectator","usePortraitLayout","isPortrait","setIsPortrait","media","handleChange","VerticalBatteryOverlay","VerticalBatteryOverlay$1","SpectateVideo","fitParent","RoverSpectatorCard","RoverRow","SecondaryRow","LogPanel","rendered","LogsRow","SpectatorContent","clearLatestReplay","inLockdown","isPortraitLayout","mainClass","contentClass","sidebarClass","topBarItemClass","portraitItemHeight","SpectatorAppRoot","FitViewportFrame","formatDriverLabel","getBatteryVisual","AutoFitText","maxSize","minSize","textEl","raf","fit","scheduleFit","low","high","best","ro","InfoColumn","withDivider","showPreview","batteryPercent","isActiveView","ROTATE_MS","HARD_REFRESH_MS","MiniSummaryContent","spectatorReady","canSpectateVideo","frames","setIndex","driverRoster","snapshotRoster","snapshotFeeds","videoEntries","videoSources","audioEntries","audioSources","roverPool","withSnapshot","withVideo","rotationPool","rotationKey","activeEntry","activeRover","activeSnapshot","activeVideo","activeAudio","activeFrame","MiniSummaryAppRoot","formatUserName","findDriverForRover","getDisplayBatteryVisual","formatBatteryText","buildRoverStateText","states","gridClassForRoverCount","OnlinePeopleStrip","viewportRef","contentRef","overflowing","setOverflowing","updateOverflow","animation","itemNodes","DisplayRoverCell","driver","stateText","batteryText","DisplayRoverGrid","DisplayChatFeed","DEFAULT_DURATION_MS","normalizeNotice","durationMs","DisplayNoticeOverlay","notice","setNotice","clearNoticeTimer","handleNotice","ServerDisplayContent","ServerDisplayAppRoot","SPEECH_START_TIMEOUT_MS","SPEECH_RETRY_DELAY_MS","SERVER_AUDIO_GRACE_MS","SCANNER_VOICE_STORAGE_KEY","PREFERRED_VOICE_PATTERN","NOVELTY_VOICE_PATTERN","isNoveltyVoice","pickScannerVoice","synth","voices","savedVoiceName","savedVoice","usableVoices","defaultVoice","englishVoices","normalizeAudioBuffer","playServerAudio","audioBuffer","objectUrl","useScannerSpeech","scan","serverAudioEvent","startTimerRef","spokenScanKeyRef","fallbackTimerRef","serverAudioPlayerRef","speechText","scanKey","clearSpeechTimers","retryLater","speakBrowserOnce","speakWithBrowserFallback","utterance","preferredVoice","markSpoken","currentSpeechText","currentScanKey","EMPTY_SCANNER_STATE","SCANNER_STATE_STALE_MS","SCANNER_RESUBSCRIBE_MS","normalizeDisplaySections","playSubmitBeep","AudioContextClass","audioContext","oscillator","ScannerContent","inputRef","flashTimerRef","scannerReadyTrackedRef","scannerState","setScannerState","scannerConnectionState","setScannerConnectionState","scanAudioEvent","setScanAudioEvent","flashActive","setFlashActive","barcodeGameState","barcodeGameConnectionState","focusInput","handleScannerState","handleScanAudio","subscribeToScannerState","submitScan","lastScan","showGameDisplay","secondary","displaySections","syncMessage","ScannerAppRoot","emitIdentityAdmin","listUsers","getUser","userId","addSignal","removeSignal","setVerified","setDeterrence","updateFeatureState","deleteFeatureState","SIGNAL_LABELS","SIGNAL_FIELDS","maskValue","formatDateTime","userMatchesQuery","needle","userMatchesFilter","filter","stringifyJson","parseEditableJson","FILTERS","StatusPill","UserListCard","selectedUserId","onQuery","onFilter","onRefresh","onSelect","filtered","UserDetailsCard","SignalEditor","onAdd","onRemove","SignalsCard","onAddSignal","onRemoveSignal","StatusCard","onVerified","onDeterrence","setReason","FeatureStateCard","onSaveFeature","onDeleteFeature","namespaces","setText","nextNamespace","ns","remove","RawRecordCard","IdentityDatabasePanel","setUsers","selectedUser","setSelectedUser","setQuery","setFilter","refreshUsers","updated","selectUser","applyUserUpdate","runMutation","operation","successMessage","handleAddSignal","handleRemoveSignal","handleVerified","handleDeterrence","handleSaveFeature","handleDeleteFeature","isLockdownAdminRole","DatabaseAdminApp","isLoggedInAdmin","getRandomElement","corruptDomOnce","sourceA","targetA","classA","sourceB","targetB","classB","DeterrenceChaos","isDeterred","detectLayout","useAnalyticsLayout","setLayout","updateLayout","AnalyticsReporter","previousRouteRef","previousLayoutRef","previousRoverRef","previousIdentityRef","verified","createRoot","StrictMode","SpectatorApp","MiniSummaryApp","ServerDisplayApp","ScannerApp"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,53,54,55,171,172,173,200],"sources":["../../../webui/node_modules/react/cjs/react-jsx-runtime.production.js","../../../webui/node_modules/react/jsx-runtime.js","../../../webui/node_modules/react/cjs/react.production.js","../../../webui/node_modules/react/index.js","../../../webui/node_modules/scheduler/cjs/scheduler.production.js","../../../webui/node_modules/scheduler/index.js","../../../webui/node_modules/react-dom/cjs/react-dom.production.js","../../../webui/node_modules/react-dom/index.js","../../../webui/node_modules/react-dom/cjs/react-dom-client.production.js","../../../webui/node_modules/react-dom/client.js","../../../webui/node_modules/react-router/dist/development/chunk-4WY6JWTD.mjs","../../../webui/node_modules/engine.io-parser/build/esm/commons.js","../../../webui/node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../../../webui/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../../../webui/node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../../../webui/node_modules/engine.io-parser/build/esm/index.js","../../../webui/node_modules/@socket.io/component-emitter/lib/esm/index.js","../../../webui/node_modules/engine.io-client/build/esm/globals.js","../../../webui/node_modules/engine.io-client/build/esm/util.js","../../../webui/node_modules/engine.io-client/build/esm/contrib/parseqs.js","../../../webui/node_modules/engine.io-client/build/esm/transport.js","../../../webui/node_modules/engine.io-client/build/esm/transports/polling.js","../../../webui/node_modules/engine.io-client/build/esm/contrib/has-cors.js","../../../webui/node_modules/engine.io-client/build/esm/transports/polling-xhr.js","../../../webui/node_modules/engine.io-client/build/esm/transports/websocket.js","../../../webui/node_modules/engine.io-client/build/esm/transports/webtransport.js","../../../webui/node_modules/engine.io-client/build/esm/transports/index.js","../../../webui/node_modules/engine.io-client/build/esm/contrib/parseuri.js","../../../webui/node_modules/engine.io-client/build/esm/socket.js","../../../webui/node_modules/socket.io-client/build/esm/url.js","../../../webui/node_modules/socket.io-parser/build/esm/is-binary.js","../../../webui/node_modules/socket.io-parser/build/esm/binary.js","../../../webui/node_modules/socket.io-parser/build/esm/index.js","../../../webui/node_modules/socket.io-client/build/esm/on.js","../../../webui/node_modules/socket.io-client/build/esm/socket.js","../../../webui/node_modules/socket.io-client/build/esm/contrib/backo2.js","../../../webui/node_modules/socket.io-client/build/esm/manager.js","../../../webui/node_modules/socket.io-client/build/esm/index.js","../../../webui/src/settings/constants.js","../../../webui/src/settings/persistence.js","../../../webui/src/lib/socket.js","../../../webui/src/context/SocketContext.jsx","../../../webui/src/context/SessionContext.jsx","../../../webui/src/context/TelemetryContext.jsx","../../../webui/src/context/telemetryViews.js","../../../webui/src/components/CardFrame/index.jsx","../../../webui/src/components/PiHostStatsCard/index.jsx","../../../webui/src/hooks/useSharedClock.js","../../../webui/src/settings/SettingsProvider.jsx","../../../webui/src/lib/roverColor.js","../../../webui/src/components/RoverLabel/index.jsx","../../../webui/src/components/ReplaySourcesPanel/ReplayReadyPopup.jsx","../../../webui/src/components/ReplaySourcesPanel/index.jsx","../../../webui/node_modules/react-icons/lib/iconContext.mjs","../../../webui/node_modules/react-icons/lib/iconBase.mjs","../../../webui/node_modules/react-icons/fa/index.mjs","../../../webui/src/components/ChatMessageRow/index.jsx","../../../webui/src/components/ButtonBoxTile/index.jsx","../../../webui/src/components/AlertFeed/index.jsx","../../../webui/src/controls/constants.js","../../../webui/src/controls/controlReducer.js","../../../webui/src/controls/controlMath.js","../../../webui/src/controls/commandPipeline.js","../../../webui/src/controls/keymapUtils.js","../../../webui/src/settings/namespaces.js","../../../webui/src/controls/overcurrentLimiter.js","../../../webui/src/controls/ControlContext.jsx","../../../webui/src/assets/message.mp3","../../../webui/src/analytics/index.js","../../../webui/src/context/ChatContext.jsx","../../../webui/src/controls/inputs/keyboardCaptureLock.js","../../../webui/src/controls/inputs/inputFocusUtils.js","../../../webui/src/features/manualDockAssist/useManualDockAssist.js","../../../webui/src/controls/inputs/driveIntent.js","../../../webui/src/controls/inputs/KeyboardInputManager.jsx","../../../webui/src/controls/inputs/gamepadBindings.js","../../../webui/src/controls/inputs/gamepadHub.js","../../../webui/src/controls/inputs/GamepadInputManager.jsx","../../../webui/src/components/HornControl/index.jsx","../../../webui/src/components/GPIOToggleControl/index.jsx","../../../webui/src/components/MobileControls/constants.js","../../../webui/src/components/MobileControls/MobileAuxButton.jsx","../../../webui/src/components/MobileControls/VacuumControls.jsx","../../../webui/src/components/MobileControls/VerticalCameraTilt.jsx","../../../webui/src/components/MobileControls/AuxColumn.jsx","../../../webui/src/components/DriveDockAction/driveDockState.js","../../../webui/src/components/DriveDockAction/index.jsx","../../../webui/src/components/MobileControls/FloatingJoystick.jsx","../../../webui/src/components/MobileControls/ControlPadPanel.jsx","../../../webui/src/components/MobileControls/MovementColumn.jsx","../../../webui/src/hooks/useRoomCameraSnapshots.js","../../../webui/src/components/RoomCameraFeed/index.jsx","../../../webui/src/components/RoomCameraPanel/index.jsx","../../../webui/src/components/KinectPanel/PointCloudViewer.jsx","../../../webui/src/components/KinectPanel/utils.js","../../../webui/src/components/KinectPanel/index.jsx","../../../webui/src/lib/whepPlayer.js","../../../webui/src/hooks/useVideoRequests.js","../../../webui/src/hooks/useRoverSnapshots.js","../../../webui/src/components/RoverMediaPlayer/constants.js","../../../webui/src/components/RoverMediaPlayer/index.jsx","../../../webui/src/hooks/useDriverVideoModePolicy.js","../../../webui/src/lib/socials.js","../../../webui/src/components/SocialButton/index.jsx","../../../webui/src/components/HudOverlays/TurnsOverlay/index.jsx","../../../webui/src/hooks/useHudMapSetting.js","../../../webui/src/components/HudOverlays/HudOverlay/RoverLabelOverlay.jsx","../../../webui/src/components/HudOverlays/HudOverlay/SpectatorTelemetryOverlay.jsx","../../../webui/src/components/TopDownMap/helpers.js","../../../webui/src/components/TopDownMap/visuals.jsx","../../../webui/src/components/TopDownMap/layers/layerTelemetry.js","../../../webui/src/components/TopDownMap/layers/BumpLayer/index.jsx","../../../webui/src/components/TopDownMap/layers/CliffLayer/index.jsx","../../../webui/src/components/TopDownMap/layers/ElectricalReadoutLayer/index.jsx","../../../webui/src/components/TopDownMap/layers/LightBumpLayer/index.jsx","../../../webui/src/components/TopDownMap/layers/MainBrushLayer/index.jsx","../../../webui/src/components/TopDownMap/layers/SideBrushLayer/index.jsx","../../../webui/src/components/TopDownMap/layers/WheelLayer/index.jsx","../../../webui/src/components/TopDownMap/TopDownMapContent.jsx","../../../webui/src/components/HudOverlays/HudOverlay/HudMapOverlay.jsx","../../../webui/src/components/HudOverlays/HudOverlay/index.jsx","../../../webui/src/components/HudOverlays/ManualDockAssistOverlay/index.jsx","../../../webui/src/components/HudOverlays/RoverDescriptionOverlay/index.jsx","../../../webui/src/components/HudOverlays/OvercurrentOverlay/constants.js","../../../webui/src/components/HudOverlays/OvercurrentOverlay/index.jsx","../../../webui/src/lib/battery.js","../../../webui/src/components/HudOverlays/LowBatteryOverlay/index.jsx","../../../webui/src/components/HudOverlays/LightBumpBars/index.jsx","../../../webui/src/components/BatteryBar/index.jsx","../../../webui/src/components/HudOverlays/DriverBottomStrip/index.jsx","../../../webui/src/components/HudOverlays/HudChatInput/index.jsx","../../../webui/src/components/DriverVideo/index.jsx","../../../webui/src/components/HomeAssistantControls/index.jsx","../../../webui/src/components/AuthPanel/index.jsx","../../../webui/src/components/RoverRoster/index.jsx","../../../webui/src/components/AdminPanel/llmHelpers.js","../../../webui/src/components/AdminPanel/LlmCommentaryPanel.jsx","../../../webui/src/components/AdminPanel/OverseerControlPanel.jsx","../../../webui/src/components/AdminPanel/ReplaySnapshotHealth.jsx","../../../webui/src/components/AdminPanel/AdminIpLogPanel.jsx","../../../webui/src/components/AdminPanel/AdminPanelContent.jsx","../../../webui/src/components/KeymapSettings/index.jsx","../../../webui/src/components/GamepadMappingSettings/constants.js","../../../webui/src/components/GamepadMappingSettings/SliderField.jsx","../../../webui/src/components/GamepadMappingSettings/helpers.js","../../../webui/src/components/GamepadMappingSettings/GamepadMappingSettingsContent.jsx","../../../webui/src/components/OvercurrentLimiterPanel/index.jsx","../../../webui/src/themeFlags.js","../../../webui/src/components/Tabs/index.jsx","../../../webui/src/components/SessionSnapshot/index.jsx","../../../webui/src/components/SocketLogPanel/index.jsx","../../../webui/src/components/vip/VipAudioUploadCard/KeyPill.jsx","../../../webui/src/components/SettingsPanel/index.jsx","../../../webui/src/help/content.js","../../../webui/src/components/HelpContentView/index.jsx","../../../webui/src/components/HelpPanel/index.jsx","../../../webui/src/components/NicknameForm/index.jsx","../../../webui/src/components/ChatPanel/index.jsx","../../../webui/src/components/SocialButtonsGrid/index.jsx","../../../webui/src/components/UserListPanel/index.jsx","../../../webui/src/components/RoverQueuesPanel/index.jsx","../../../webui/src/components/RawUserPilePanel/index.jsx","../../../webui/src/components/CameraTiltControl/index.jsx","../../../webui/src/components/vip/constants.js","../../../webui/src/components/vip/VipAudioUploadCard/constants.js","../../../webui/src/components/vip/VipAudioUploadCard/base64.js","../../../webui/src/components/vip/VipAudioUploadCard/whipTransport.js","../../../webui/src/components/vip/VipAudioUploadCard/audioCodec.js","../../../webui/src/components/vip/VipAudioUploadCard/StatusIndicator.jsx","../../../webui/src/components/vip/VipAudioUploadCard/VipAudioUploadCardContent.jsx","../../../webui/src/components/vip/VipMidiBeeperCard/constants.js","../../../webui/node_modules/midi-file/lib/midi-parser.js","../../../webui/node_modules/midi-file/lib/midi-writer.js","../../../webui/node_modules/midi-file/index.js","../../../webui/src/components/vip/VipMidiBeeperCard/midiBeeperUtils.js","../../../webui/src/components/vip/VipMidiBeeperCard/StatusRow.jsx","../../../webui/src/components/vip/VipMidiBeeperCard/index.jsx","../../../webui/src/components/vip/VipVerificationCard.jsx","../../../webui/src/components/vip/VipIdentityCard.jsx","../../../webui/src/components/vip/VipPrivateRoverAccessCard.jsx","../../../webui/src/components/vip/VipProfileImageCard.jsx","../../../webui/src/components/VipPanel/index.jsx","../../../webui/src/components/ButtonBoxPanel/index.jsx","../../../webui/src/barcodeGames/useBarcodeGameState.js","../../../webui/src/components/BarcodeGamesPanel/index.jsx","../../../webui/src/components/OdometerPanel/index.jsx","../../../webui/src/components/LiftCard/index.jsx","../../../webui/src/components/NeatoCard/index.jsx","../../../webui/src/components/OverseerPreferencePanel/index.jsx","../../../webui/src/components/RightPaneTabs/index.jsx","../../../webui/src/components/ModeGateOverlay/index.jsx","../../../webui/src/assets/turn_alert.mp3","../../../webui/src/components/TurnAlertListener/index.jsx","../../../webui/src/components/FullscreenPrompt/index.jsx","../../../webui/src/components/FloatingFullscreenButton/index.jsx","../../../webui/src/hooks/useFullscreenPrompt.js","../../../webui/src/components/HelpOverlay/index.jsx","../../../webui/src/components/QuickstartOverlay/index.jsx","../../../webui/src/assets/wordlist.txt?raw","../../../webui/src/hooks/useDefaultNickname.js","../../../webui/node_modules/@thumbmarkjs/thumbmarkjs/dist/thumbmark.esm.js","../../../webui/src/lib/browserFingerprint.js","../../../webui/src/hooks/useUserIdentitySync.js","../../../webui/src/components/GlobalObjectiveBanner/index.jsx","../../../webui/src/components/RewardRunOverlay/index.jsx","../../../webui/src/components/SocketConnectionPill/index.jsx","../../../webui/src/components/DuplicateIdentityOverlay/index.jsx","../../../webui/src/App.jsx","../../../webui/src/hooks/useSpectatorMode.js","../../../webui/src/spectate/SpectatorApp/hooks/usePortraitLayout.js","../../../webui/src/components/HudOverlays/VerticalBatteryOverlay/index.jsx","../../../webui/src/components/SpectateVideo/index.jsx","../../../webui/src/spectate/SpectatorApp/components/RoverSpectatorCard.jsx","../../../webui/src/spectate/SpectatorApp/components/RoverRow.jsx","../../../webui/src/spectate/SpectatorApp/components/SecondaryRow.jsx","../../../webui/src/components/LogPanel/index.jsx","../../../webui/src/spectate/SpectatorApp/components/LogsRow.jsx","../../../webui/src/spectate/SpectatorApp/SpectatorContent.jsx","../../../webui/src/spectate/SpectatorApp/SpectatorAppRoot.jsx","../../../webui/src/mini/MiniSummaryApp/components/FitViewportFrame.jsx","../../../webui/src/mini/MiniSummaryApp/utils.js","../../../webui/src/mini/MiniSummaryApp/components/AutoFitText.jsx","../../../webui/src/mini/MiniSummaryApp/components/InfoColumn.jsx","../../../webui/src/mini/MiniSummaryApp/constants.js","../../../webui/src/mini/MiniSummaryApp/MiniSummaryContent.jsx","../../../webui/src/mini/MiniSummaryApp/MiniSummaryAppRoot.jsx","../../../webui/src/display/ServerDisplayApp/utils.js","../../../webui/src/display/ServerDisplayApp/components/OnlinePeopleStrip.jsx","../../../webui/src/display/ServerDisplayApp/components/DisplayRoverCell.jsx","../../../webui/src/display/ServerDisplayApp/components/DisplayRoverGrid.jsx","../../../webui/src/display/ServerDisplayApp/components/DisplayChatFeed.jsx","../../../webui/src/display/ServerDisplayApp/components/DisplayNoticeOverlay.jsx","../../../webui/src/display/ServerDisplayApp/ServerDisplayContent.jsx","../../../webui/src/display/ServerDisplayApp/ServerDisplayAppRoot.jsx","../../../webui/src/scanner/ScannerApp/useScannerSpeech.js","../../../webui/src/scanner/ScannerApp/ScannerContent.jsx","../../../webui/src/scanner/ScannerApp/ScannerAppRoot.jsx","../../../webui/src/database/identityDatabaseApi.js","../../../webui/src/database/identityDatabaseUtils.js","../../../webui/src/database/IdentityDatabasePanel.jsx","../../../webui/src/database/DatabaseAdminApp.jsx","../../../webui/src/components/DeterrenceChaos/index.jsx","../../../webui/src/analytics/AnalyticsReporter.jsx","../../../webui/src/main.jsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.2.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & 261888;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$286;\n if (canUseDOM) {\n var isSupported$jscomp$inline_427 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_427) {\n var element$jscomp$inline_428 = document.createElement(\"div\");\n element$jscomp$inline_428.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_427 =\n \"function\" === typeof element$jscomp$inline_428.oninput;\n }\n JSCompiler_inline_result$jscomp$286 = isSupported$jscomp$inline_427;\n } else JSCompiler_inline_result$jscomp$286 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$286 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n (\"forwards\" === node.memoizedProps.revealOrder ||\n \"backwards\" === node.memoizedProps.revealOrder ||\n \"unstable_legacy-backwards\" === node.memoizedProps.revealOrder ||\n \"together\" === node.memoizedProps.revealOrder)\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$60 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$60 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$66) {\n onActionError(actionQueue, node, error$66);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 42) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$69 = enqueueUpdate(provider, fiber, lane);\n null !== root$69 &&\n (scheduleUpdateOnFiber(root$69, provider, lane),\n entangleTransitions(root$69, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n};\nContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n };\nHooksDispatcherOnUpdate.useEffectEvent = updateEvent;\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n};\nHooksDispatcherOnRerender.useEffectEvent = updateEvent;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 4096);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextPrimaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextPrimaryChildren },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.sibling = nextProps),\n (workInProgress.child = nextPrimaryChildren),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n showFallback\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = bailoutOffscreenComponent(null, nextProps)));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextPrimaryChildren))\n ) {\n JSCompiler_temp =\n nextPrimaryChildren.nextSibling &&\n nextPrimaryChildren.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)),\n 0 !== nextProps && nextProps !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(nextPrimaryChildren) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextPrimaryChildren)\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextPrimaryChildren.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (prevState = current.child),\n (digest = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712),\n null !== digest\n ? (nextPrimaryChildren = createWorkInProgress(\n digest,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2)),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (nextPrimaryChildren = current.child.memoizedState),\n null === nextPrimaryChildren\n ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes))\n : ((showFallback = nextPrimaryChildren.cachePool),\n null !== showFallback\n ? ((prevState = CacheContext._currentValue),\n (showFallback =\n showFallback.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : showFallback))\n : (showFallback = getSuspendedCache()),\n (nextPrimaryChildren = {\n baseLanes: nextPrimaryChildren.baseLanes | renderLanes,\n cachePool: showFallback\n })),\n (nextProps.memoizedState = nextPrimaryChildren),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current,\n shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n push(suspenseStackCursor, suspenseContext);\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n break;\n case \"backwards\":\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$102 = workInProgress.memoizedState;\n if (null !== state$102) {\n if (null !== state$102.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state$102 = 0 !== (renderLanes & workInProgress.childLanes);\n state$102 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$102 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state$102)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state$102) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (props = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (props[internalInstanceKey] = workInProgress),\n (props[internalPropsKey] = current),\n setInitialProperties(props, renderLanes, current),\n markNodeAsHoistable(props),\n (workInProgress.stateNode = props))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (props = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, props.value),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n if ((type = 0 !== (workInProgress.mode & 32))) type = !1;\n if (type) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$106 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$106 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$106\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$106.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags & 65011712),\n (subtreeFlags |= child$107.flags & 65011712),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n else\n for (child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags),\n (subtreeFlags |= child$107.flags),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \" Roomba Rover - + diff --git a/server/src/services/audioForwardService/policy.js b/server/src/services/audioForwardService/policy.js index bb72a80d..7e5cad67 100644 --- a/server/src/services/audioForwardService/policy.js +++ b/server/src/services/audioForwardService/policy.js @@ -37,7 +37,10 @@ function createAudioForwardPolicy(deps) { function resolveForwardUrl(roverId) { const record = roverManager.rovers.get(roverId); - const configured = record?.meta?.media?.audioForwardUrl; + // Rovers listen to the playback stream with a request/read URL. The VIP + // upload path needs to publish into that same stream, so the configured + // nested playback URL is converted to publish mode below. + const configured = record?.meta?.media?.audioPlayback?.forwardUrl; if (configured) return forcePublishStreamMode(configured); return `srt://127.0.0.1:9000?streamid=#!::r=${encodeURIComponent( roverId + streamSuffix, diff --git a/server/src/services/replayEngineV2/sources.js b/server/src/services/replayEngineV2/sources.js index 2663e0ec..bf306cf1 100644 --- a/server/src/services/replayEngineV2/sources.js +++ b/server/src/services/replayEngineV2/sources.js @@ -25,12 +25,19 @@ function getRoomCameraStream(camera) { return null; } +function hasRoverAudioCapture(rover) { + // The replay worker only records a rover microphone stream when roverd says + // capture is both enabled and publishable. That mirrors the media publisher + // contract instead of guessing from stream naming conventions alone. + return Boolean(rover?.media?.audioCapture?.enabled && rover?.media?.audioCapture?.publishUrl); +} + function listDesiredSources() { const sources = []; for (const rover of roverManager.getRoster()) { const roverId = String(rover.id); sources.push({ id: roverId, sourceType: 'rover', kind: 'video', label: rover.name || roverId, inputUrl: toSrtReadPath(roverId) }); - if (rover?.media?.audioPublishUrl) { + if (hasRoverAudioCapture(rover)) { sources.push({ id: `${roverId}-audio`, sourceType: 'rover', roverId, kind: 'audio', label: `${rover.name || roverId} audio`, inputUrl: toSrtReadPath(`${roverId}-audio`) }); } } diff --git a/webui/src/components/RoverMediaPlayer/index.jsx b/webui/src/components/RoverMediaPlayer/index.jsx index 0fe393ba..a44b9036 100644 --- a/webui/src/components/RoverMediaPlayer/index.jsx +++ b/webui/src/components/RoverMediaPlayer/index.jsx @@ -40,6 +40,14 @@ function normalizeVideoFilter(value) { : VIDEO_SETTINGS_DEFAULTS.colorFilter; } +function hasRoverAudioCapture(rover) { + // The browser asks for the separate "-audio" WHEP source only when + // roverd's media config says the microphone publisher is enabled and has a + // concrete publish URL. That keeps UI media setup aligned with the daemon + // config instead of probing for streams that should not exist. + return Boolean(rover?.media?.audioCapture?.enabled && rover?.media?.audioCapture?.publishUrl); +} + export default function RoverMediaPlayer({ roverId = null, sessionInfo = null, @@ -58,7 +66,7 @@ export default function RoverMediaPlayer({ ? state.session.roster.find((item) => String(item.id) === String(effectiveRoverId)) || null : null, ); - const hasAudio = Boolean(rosterEntry?.media?.audioPublishUrl); + const hasAudio = hasRoverAudioCapture(rosterEntry); const autoVideoEnabled = videoMode ? videoMode === 'whep' : true; const autoAudioEnabled = hasAudio; const autoEntries = useMemo(() => { diff --git a/webui/src/mini/MiniSummaryApp/MiniSummaryContent.jsx b/webui/src/mini/MiniSummaryApp/MiniSummaryContent.jsx index 2ec3b7fa..fa9fa02a 100644 --- a/webui/src/mini/MiniSummaryApp/MiniSummaryContent.jsx +++ b/webui/src/mini/MiniSummaryApp/MiniSummaryContent.jsx @@ -15,6 +15,12 @@ import InfoColumn from './components/InfoColumn.jsx'; import { ROTATE_MS } from './constants.js'; import { formatDriverLabel } from './utils.js'; +function hasRoverAudioCapture(rover) { + // Mini uses the same media contract as the full rover player: audio exists + // only when the nested microphone publisher block is enabled and publishable. + return Boolean(rover?.media?.audioCapture?.enabled && rover?.media?.audioCapture?.publishUrl); +} + export default function MiniSummaryContent() { const { session } = useSession(); const spectatorReady = useSpectatorMode(); @@ -53,7 +59,7 @@ export default function MiniSummaryContent() { const audioEntries = useMemo( () => driverRoster.flatMap((rover) => { - if (!rover?.id || !rover.media?.audioPublishUrl) return []; + if (!rover?.id || !hasRoverAudioCapture(rover)) return []; const id = String(rover.id); return [{ type: 'rover', id: `${id}-audio`, key: `${id}-audio` }]; }),