From 00e98a19b3f8dfff5b37831bfe7ffae4cbfff647 Mon Sep 17 00:00:00 2001 From: Cesar Mendivil Date: Sat, 14 Mar 2026 12:27:53 -0700 Subject: [PATCH] feat: add InternalWHIP component and associated tests - Implemented the InternalWHIP component for managing WHIP server configurations. - Added functionality to load live WHIP state from Core and handle OBS URL generation. - Included polling for active streams and notifying parent components of state changes. - Created comprehensive tests for the InternalWHIP component covering various scenarios including fallback mechanisms and state changes. test: add integration tests for WHIP source component - Developed end-to-end tests for the InternalWHIP component to verify its behavior under different configurations. - Ensured that the component correctly handles the loading of WHIP state, displays appropriate messages, and emits the correct onChange events. test: add Settings WHIP configuration tests - Implemented tests for the WHIP settings tab to validate loading and saving of WHIP configurations. - Verified that the correct values are sent back to the Core when the user saves changes. - Ensured that the UI reflects the current state of the WHIP configuration after Core restarts or changes. --- .env.local | 7 +- .gitignore | 2 + Caddyfile | 22 + WHIP_UI_INTEGRATION_PROMPT.md | 409 + docker-compose.yml | 22 +- docker-entrypoint.sh | 8 + package-lock.json | 26670 ++++++++++++++++ package.json | 1 + public/config.js | 4 +- public/docs/livekit-rtmp-egress (9).html | 1308 + public/docs/livekit-rtmp-egress.html | 1050 + public/webrtc-room/index.html | 1719 +- restreamer-ui-final.png | Bin 0 -> 268094 bytes scripts/check_relay.sh | 57 + scripts/test-ingress-direct.js | 97 + scripts/test-twirp.js | 44 + scripts/test-whip-e2e.js | 230 + scripts/test-whip-obs-e2e.js | 299 + scripts/test-whip-post.js | 58 + scripts/trace_probe.sh | 70 + server/index.js | 84 +- server/package-lock.json | 985 + src/locales/da/messages.js | 2 +- src/locales/da/messages.po | 480 +- src/locales/de/messages.js | 2 +- src/locales/de/messages.po | 480 +- src/locales/el/messages.js | 2 +- src/locales/el/messages.po | 480 +- src/locales/en/messages.js | 2 +- src/locales/en/messages.po | 502 +- src/locales/es/messages.js | 2 +- src/locales/es/messages.po | 480 +- src/locales/fr/messages.js | 2 +- src/locales/fr/messages.po | 480 +- src/locales/it/messages.js | 2 +- src/locales/it/messages.po | 480 +- src/locales/ko/messages.js | 2 +- src/locales/ko/messages.po | 480 +- src/locales/pl/messages.js | 2 +- src/locales/pl/messages.po | 480 +- src/locales/pt-br/messages.js | 2 +- src/locales/pt-br/messages.po | 480 +- src/locales/ru/messages.js | 2 +- src/locales/ru/messages.po | 480 +- src/locales/sl/messages.js | 2 +- src/locales/sl/messages.po | 480 +- src/locales/tr/messages.js | 2 +- src/locales/tr/messages.po | 480 +- src/locales/uk/messages.js | 2 +- src/locales/uk/messages.po | 480 +- src/locales/zh-hans/messages.js | 2 +- src/locales/zh-hans/messages.po | 480 +- src/setupProxy.js | 73 +- src/utils/api.js | 18 + src/utils/restreamer.js | 159 +- src/views/Edit/Sources/Network.js | 165 + src/views/Edit/Sources/WebRTCRoom.js | 277 +- src/views/Edit/Sources/index.js | 4 +- src/views/Edit/Wizard/Source.js | 4 +- src/views/Edit/Wizard/Sources/InternalWHIP.js | 189 + .../Edit/Wizard/Sources/InternalWHIP.test.js | 249 + src/views/Edit/Wizard/Sources/WebRTCRoom.js | 275 +- src/views/Edit/Wizard/Sources/index.js | 4 +- src/views/Edit/Wizard/Video.js | 2 +- src/views/Edit/Wizard/index.js | 31 +- src/views/Edit/Wizard/index.test.js | 235 +- src/views/Main/index.js | 18 + src/views/Settings.js | 146 + src/views/Settings.whip.test.js | 376 + yarn.lock | 57 + 70 files changed, 37802 insertions(+), 4878 deletions(-) create mode 100644 WHIP_UI_INTEGRATION_PROMPT.md create mode 100644 package-lock.json create mode 100644 public/docs/livekit-rtmp-egress (9).html create mode 100644 public/docs/livekit-rtmp-egress.html create mode 100644 restreamer-ui-final.png create mode 100755 scripts/check_relay.sh create mode 100644 scripts/test-ingress-direct.js create mode 100644 scripts/test-twirp.js create mode 100644 scripts/test-whip-e2e.js create mode 100644 scripts/test-whip-obs-e2e.js create mode 100644 scripts/test-whip-post.js create mode 100644 scripts/trace_probe.sh create mode 100644 server/package-lock.json create mode 100644 src/views/Edit/Wizard/Sources/InternalWHIP.js create mode 100644 src/views/Edit/Wizard/Sources/InternalWHIP.test.js create mode 100644 src/views/Settings.whip.test.js diff --git a/.env.local b/.env.local index 029037b..73b69a0 100644 --- a/.env.local +++ b/.env.local @@ -1,3 +1,8 @@ -REACT_APP_CORE_URL=https://restreamer.nextream.sytes.net +REACT_APP_CORE_URL=http://192.168.1.15:8080 +REACT_APP_WHIP_BASE_URL=http://192.168.1.15:8555 REACT_APP_YTDLP_URL=http://100.73.244.28:8080 REACT_APP_FB_SERVER_URL=http://localhost:3002 +REACT_APP_LIVEKIT_API_KEY=APIBTqTGxf9htMK +REACT_APP_LIVEKIT_API_SECRET=0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW +REACT_APP_LIVEKIT_WS_URL=wss://livekit-server.nextream.sytes.net +REACT_APP_WHIP_SERVER_URL=https://djmaster.nextream.sytes.net diff --git a/.gitignore b/.gitignore index c8ef903..37254f2 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ yarn-error.log* messages.mo .eslintcache +.idea/ +.playwright-mcp/ diff --git a/Caddyfile b/Caddyfile index f0ceea3..610bc00 100644 --- a/Caddyfile +++ b/Caddyfile @@ -86,6 +86,28 @@ handle /oauth/facebook/callback { redir /oauth/facebook/callback.html{query} 302 } +# ── LiveKit Ingress WHIP proxy: OBS publica vía WHIP al mismo dominio ───────── +# OBS usa: https://djmaster.nextream.sytes.net/w/ +# Caddy lo reenvía al servicio livekit-ingress interno (solo accesible localmente). +# LIVEKIT_INGRESS_HOST se configura en docker-compose (p.ej. 192.168.1.20:8088). +handle /w/* { + reverse_proxy {env.LIVEKIT_INGRESS_HOST} { + header_up Host {upstream_hostport} + } +} + +# ── WHIP info API: genera sesión Ingress (Node en :3002) ───────────────────── +handle /api/whip/* { + reverse_proxy 127.0.0.1:3002 +} + +# ── WHEP relay proxy: Core hace pull aquí → egress server ─────────────────── +# Core input: https://djmaster.nextream.sytes.net/whep/rooms/ +# EGRESS_HOST se configura en docker-compose (URL del servidor egress). +handle /whep/* { + reverse_proxy {env.EGRESS_HOST} +} + # SPA — serve static files, fallback to index.html for client-side routing handle { root * /ui/build diff --git a/WHIP_UI_INTEGRATION_PROMPT.md b/WHIP_UI_INTEGRATION_PROMPT.md new file mode 100644 index 0000000..3d3b8d3 --- /dev/null +++ b/WHIP_UI_INTEGRATION_PROMPT.md @@ -0,0 +1,409 @@ +# Prompt de integración WHIP para Restreamer UI + +> Este documento es el brief técnico completo para adaptar la UI de Restreamer de modo que exponga el servidor WHIP del Core de la misma manera que ya expone RTMP Server. Incluye dos casos de uso: **WHIP Server** (panel de estado + URL para OBS) y **WHIP Receive mode** (fuente de entrada en un proceso). + +--- + +## Contexto del Core + +El Core de datarhei expone las siguientes APIs relevantes: + +### Config (`GET /api/v3/config`) +La sección `whip` dentro de `config` tiene esta forma: +```json +"whip": { + "enable": true, + "address": ":8555", + "token": "" +} +``` +El campo `address` puede ser `:8555` (solo puerto) o `host:8555`. + +### Canales activos (`GET /api/v3/whip`) +Devuelve la lista de streams que OBS/clientes están publicando en este momento: +```json +[ + { + "name": "9VGyRCkCVCgj", + "published_at": "2026-03-14T02:51:36.799550551Z" + } +] +``` + +### URL de publicación WHIP (para OBS) +``` +http://:/whip/ +``` +Ejemplo: `http://192.168.1.15:8555/whip/mistream` + +### URL de relay SDP (para FFmpeg / proceso interno) +``` +http://localhost:/whip//sdp +``` +Esta es la URL que el Core inyecta automáticamente con `{whip}` como placeholder de input. + +### Placeholder de proceso +En el config de un proceso de FFmpeg, el input address puede usar: +``` +{whip:name=} +``` +El Core lo expande a `http://localhost:/whip//sdp` y agrega automáticamente `-protocol_whitelist file,crypto,http,rtp,udp,tcp` en las input options. + +--- + +## Parte 1 — Panel "WHIP Server" (equivalente a "RTMP Server") + +### Dónde ubicarlo +En la misma sección de configuración/status donde aparece **RTMP Server** y **SRT Server**. Añadir una tarjeta o sección llamada **WHIP Server**. + +### Comportamiento esperado + +#### 1.1 Indicador de estado +- Leer `config.whip.enable` de `GET /api/v3/config` +- Mostrar badge **Enabled** (verde) / **Disabled** (gris) +- Mostrar el puerto: extraer de `config.whip.address` (ej. `:8555` → `8555`) + +#### 1.2 Campo "Stream URL para OBS" +Construir la URL de publicación a mostrar: +``` +http://:/whip/ +``` +- `host_público`: usar `config.host.name[0]` si `config.host.auto === true`, o el primer valor de `config.host.name` +- `whip_port`: extraer de `config.whip.address` +- Mostrar un campo de texto **read-only** con botón **Copiar** +- Indicar al usuario que al final de la URL debe agregar su **stream key** (ej. `mistream`) + +Ejemplo visual: +``` +┌─────────────────────────────────────────────────────┐ +│ WHIP Server URL │ +│ http://192.168.1.15:8555/whip/ [Copiar] │ +│ Ingresá tu stream key al final de la URL │ +└─────────────────────────────────────────────────────┘ +``` + +#### 1.3 Campo "Stream Key" +- Input de texto editable donde el usuario escribe su stream key (ej. `mistream`, `obs-live`, etc.) +- Al escribirla, actualizar dinámicamente la URL completa a copiar: + `http://192.168.1.15:8555/whip/mistream` +- Botón **Copiar URL completa** + +#### 1.4 Token de autenticación (opcional) +- Si `config.whip.token` no está vacío, mostrar un aviso: "Este servidor requiere un token. Agregá `?token=` al final de la URL." +- Opcionalmente, ofrecer un checkbox "Incluir token en la URL" que lo appende automáticamente. + +#### 1.5 Tabla de streams activos +- Hacer polling a `GET /api/v3/whip` cada 5 segundos +- Mostrar una tabla con columnas: **Stream Key** | **Publicando desde** +- Si la lista está vacía, mostrar "Sin streams activos" + +``` +┌──────────────────┬──────────────────────┐ +│ Stream Key │ Publicando desde │ +├──────────────────┼──────────────────────┤ +│ 9VGyRCkCVCgj │ hace 3 minutos │ +│ mistream │ hace 12 segundos │ +└──────────────────┴──────────────────────┘ +``` + +#### 1.6 Configuración WHIP (settings) +Sección colapsable o en la misma pantalla de configuración del Core: +- Toggle **Habilitar WHIP Server** → modifica `config.whip.enable` via `PATCH /api/v3/config` +- Campo **Puerto** → modifica `config.whip.address` +- Campo **Token** → modifica `config.whip.token` + +--- + +## Parte 2 — Modo de recepción WHIP ("Receive mode") + +### Dónde ubicarlo +En el wizard de creación/edición de un proceso (input source selector), junto a las opciones existentes como: +- Network Source (HLS, RTP, RTSP, etc.) +- RTMP Source +- SRT Source +- → **WHIP Source** ← (nueva opción) + +### Comportamiento esperado + +#### 2.1 Selector de protocolo +En la lista de protocolos de entrada agregar la opción: +``` +WHIP (WebRTC HTTP Ingestion Protocol) +``` + +#### 2.2 Formulario de configuración de la fuente WHIP +Al seleccionar WHIP como fuente, mostrar: + +**Stream Key** — campo de texto editable +(Se recomienda usar el ID del proceso por defecto, o dejar que el usuario lo cambie) + +**URL de publicación para OBS** (campo read-only + botón Copiar): +``` +http://:/whip/ +``` +Actualiza en tiempo real mientras el usuario escribe el stream key. + +``` +┌──────────────────────────────────────────────────────┐ +│ Protocolo de entrada: WHIP │ +│ │ +│ Stream Key: [mistream ] │ +│ │ +│ URL para OBS (copiar en OBS → Servicio WHIP): │ +│ http://192.168.1.15:8555/whip/mistream [Copiar] │ +│ │ +│ Estado: ● Esperando publicador... │ +│ ✓ Transmitiendo (si hay publisher activo) │ +└──────────────────────────────────────────────────────┘ +``` + +#### 2.3 Indicador de estado en tiempo real +- Consultar `GET /api/v3/whip` cada 5 segundos +- Si `name === stream_key` aparece en la lista → mostrar "✓ Transmitiendo" (verde) +- Si no → "● Esperando publicador..." (gris/naranja) + +#### 2.4 Address interno del proceso +Cuando el usuario guarda el proceso, el `input.address` debe configurarse como: +``` +{whip:name=} +``` +El Core lo expande a `http://localhost:/whip//sdp` y agrega `-protocol_whitelist` automáticamente. + +Si la UI no soporta el placeholder `{whip}`, puede usar directamente: +``` +http://localhost:/whip//sdp +``` +Y agregar en `input.options` (ANTES de la URL, es decir, al principio del array): +```json +["-protocol_whitelist", "file,crypto,http,rtp,udp,tcp"] +``` + +**IMPORTANTE**: `-protocol_whitelist file,crypto,http,rtp,udp,tcp` debe estar presente para que FFmpeg pueda abrir los sub-protocolos RTP/UDP anidados dentro de la URL HTTP. Sin esta opción el probe devuelve `0x0 none`. + +#### 2.5 Probe automático +Cuando el usuario hace clic en "Probe" o "Detectar streams": +- La UI puede invocar `GET /api/v3/process//probe` si el proceso ya existe +- O construir un payload de probe temporal equivalente +- El resultado correcto debe ser: `Video: h264, yuv420p, 1920x1080, 30fps` + `Audio: opus, 48000 Hz, stereo` + +--- + +## Parte 3 — API endpoints completos de WHIP + +### 3.1 `GET /api/v3/whip` +Lista todos los publishers activos en este momento. + +**Response `200`:** +```json +[ + { + "name": "mistream", + "published_at": "2026-03-14T02:51:36.799550551Z" + } +] +``` +Usar con polling cada 5s para el panel de streams activos y el indicador de estado en Receive mode. + +--- + +### 3.2 `GET /api/v3/whip/url` ⭐ nuevo +Devuelve la URL base del servidor WHIP y toda la info que la UI necesita para el panel "WHIP Server". + +**Response `200`:** +```json +{ + "base_publish_url": "http://192.168.1.15:8555/whip/", + "base_sdp_url": "http://localhost:8555/whip/", + "has_token": false, + "example_obs_url": "http://192.168.1.15:8555/whip/", + "input_address_template": "{whip:name=}" +} +``` + +- `base_publish_url` → mostrar en el panel WHIP Server; el usuario agrega su stream key al final +- `has_token` → si es `true`, mostrar aviso de token y el campo para incluirlo en la URL +- `example_obs_url` → texto de ayuda con placeholder visual +- `input_address_template` → usar como `input.address` al crear un proceso con WHIP como fuente + +--- + +### 3.3 `GET /api/v3/whip/:name/url` ⭐ nuevo +Devuelve la URL completa de publicación para un stream key específico. **Este es el endpoint principal para generar la URL que el usuario copia en OBS.** + +**Ejemplo:** `GET /api/v3/whip/mistream/url` + +**Response `200`:** +```json +{ + "publish_url": "http://192.168.1.15:8555/whip/mistream", + "sdp_url": "http://localhost:8555/whip/mistream/sdp", + "stream_key": "mistream" +} +``` + +- `publish_url` → campo read-only en la UI con botón **Copiar**. Es exactamente la URL que se pega en OBS → Configuración → Transmisión → Servidor. +- `sdp_url` → URL interna para FFmpeg (referencia, no se muestra al usuario en general). +- `stream_key` → confirmación del key procesado. + +**Flujo de uso en la UI:** +1. Usuario escribe el stream key en el campo de texto +2. UI llama `GET /api/v3/whip//url` +3. UI muestra `publish_url` en campo read-only con botón Copiar +4. Usuario copia y pega en OBS + +--- + +### 3.4 `GET /api/v3/config` +Leer configuración del servidor WHIP para el panel de settings. + +**Campos relevantes en la respuesta:** +```json +{ + "config": { + "host": { + "name": ["192.168.1.15"], + "auto": true + }, + "whip": { + "enable": true, + "address": ":8555", + "token": "" + } + } +} +``` + +--- + +### 3.5 `PATCH /api/v3/config` (o `PUT`) +Modificar configuración WHIP desde el panel de settings. + +**Body:** +```json +{ + "whip": { + "enable": true, + "address": ":8555", + "token": "mi-token-secreto" + } +} +``` + +--- + +### 3.6 `POST /api/v3/process` +Crear un proceso con WHIP como fuente de entrada. + +**Body:** +```json +{ + "id": "mi-proceso", + "reference": "mi-proceso", + "input": [ + { + "id": "in", + "address": "{whip:name=mistream}", + "options": [] + } + ], + "output": [ + { + "id": "out", + "address": "rtmp://...", + "options": ["-c", "copy", "-f", "flv"] + } + ], + "options": ["-loglevel", "level+info"] +} +``` + +> El Core expande `{whip:name=mistream}` → `http://localhost:8555/whip/mistream/sdp` +> e inyecta automáticamente `-protocol_whitelist file,crypto,http,rtp,udp,tcp`. + +Si la UI no usa el placeholder `{whip}`, usar directamente: +```json +{ + "address": "http://localhost:8555/whip/mistream/sdp", + "options": ["-protocol_whitelist", "file,crypto,http,rtp,udp,tcp"] +} +``` + +--- + +### 3.7 `GET /api/v3/process/:id/probe` +Obtener información del stream (resolución, codec, fps) una vez el proceso existe. + +**Response `200` (cuando OBS está transmitiendo):** +```json +{ + "streams": [ + { + "type": "video", + "codec": "h264", + "width": 1920, + "height": 1080, + "fps": 30, + "pix_fmt": "yuv420p" + }, + { + "type": "audio", + "codec": "opus", + "sampling_hz": 48000, + "layout": "stereo", + "channels": 2 + } + ] +} +``` + +--- + +### Tabla resumen + +| Endpoint | Método | Cuándo usarlo | +|---|---|---| +| `/api/v3/whip` | GET | Polling streams activos (cada 5s) | +| `/api/v3/whip/url` | GET | Panel WHIP Server — info base del servidor | +| `/api/v3/whip/:name/url` | GET | **Generar URL para OBS** dado un stream key | +| `/api/v3/config` | GET | Leer estado enable/disable, puerto, token | +| `/api/v3/config` | PATCH | Cambiar configuración desde settings | +| `/api/v3/process` | POST | Crear proceso con WHIP como input | +| `/api/v3/process/:id/probe` | GET | Detectar resolución/codec del stream | + +--- + +## Parte 4 — Instrucciones para el usuario en la UI + +### En el panel WHIP Server +``` +Cómo transmitir desde OBS: +1. Abrí OBS → Configuración → Transmisión +2. Servicio: Personalizado +3. Servidor: http://:/whip/ +4. Clave de retransmisión: (dejar vacío) +5. Hacé clic en "Iniciar transmisión" +``` + +### En el Receive mode WHIP +``` +Ingresá tu stream key, copiá la URL y configurala en OBS. +El proceso comenzará a recibir video cuando OBS empiece a transmitir. +``` + +--- + +## Notas técnicas para el desarrollador de la UI + +1. **Compatibilidad de OBS**: OBS 30+ soporta WHIP nativo. En Configuración → Transmisión, seleccionar "Servicio: Personalizado" y pegar la URL completa. + +2. **ICE / WebRTC**: El Core maneja ICE + DTLS-SRTP internamente. La UI no necesita gestionar nada de WebRTC, solo mostrar la URL HTTP. + +3. **Protocolo WHIP**: El cliente (OBS) hace un `POST /whip/` con SDP offer → el Core responde con SDP answer → ICE handshake → fluye RTP → el Core lo relay internamente a FFmpeg. + +4. **`protocol_whitelist`**: Es obligatorio cuando FFmpeg lee la URL `/whip//sdp`. El Core lo inyecta automáticamente cuando detecta la URL en el config del proceso, pero si la UI construye el comando FFmpeg directamente debe asegurarse de incluirlo. + +5. **Token de autenticación**: Si `config.whip.token` está configurado, la URL de publicación para OBS debe incluirlo como query param: `?token=`. El OBS lo enviará en cada request al WHIP endpoint. + +6. **Puertos**: Por defecto el WHIP server escucha en `:8555` (HTTP, sin TLS). El Core HTTP principal escucha en `:8080`. Son servidores independientes. + +7. **Múltiples publishers**: El servidor WHIP soporta múltiples stream keys simultáneos. Cada stream key es independiente y genera su propio relay interno. diff --git a/docker-compose.yml b/docker-compose.yml index 4cf9a1c..d0ca24d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,8 +17,8 @@ services: # ── yt-dlp / stream extractor ────────────────────────────────────────── # Host:puerto del servicio extractor (usado por Caddy para reverse_proxy). # Caddy expondrá el servicio en http://localhost:3000/yt-stream/ - YTDLP_HOST: "100.73.244.28:8080" - #YTDLP_HOST: "192.168.1.20:8282" + #YTDLP_HOST: "100.73.244.28:8080" + YTDLP_HOST: "192.168.1.20:8282" # YTDLP_URL: URL completa del servicio yt-dlp vista desde el NAVEGADOR. # Dejar vacío → la UI usará /yt-stream/ (Caddy proxy, mismo origen = sin CORS). YTDLP_URL: "" @@ -51,7 +51,23 @@ services: LIVEKIT_API_KEY: "APIBTqTGxf9htMK" LIVEKIT_API_SECRET: "0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW" LIVEKIT_WS_URL: "wss://livekit-server.nextream.sytes.net" - + # ── Servidor egress (WHIP ingest + WHEP relay) ───────────────────────────── + # URL del servidor egress / dominio del UI. + # El Core usa esta URL para WHEP pull: /whep/rooms/ + # Caddy proxea /whep/* → egress y /w/* → livekit-ingress, todo bajo el mismo dominio. + WHIP_SERVER_URL: "https://djmaster.nextream.sytes.net" + # ── LiveKit Ingress WHIP (proxy interno) ────────────────────────────────── + # Host:puerto interno del servicio livekit-ingress. + # Caddy hace proxy /w/* → este host (OBS nunca lo ve directamente). + LIVEKIT_INGRESS_HOST: "192.168.1.20:8088" + LIVEKIT_INGRESS_INTERNAL_URL: "http://192.168.1.20:8088" + # URL pública del UI. Se usa para construir la WHIP URL que ve OBS. + # Dejar vacío = se auto-detecta del Host header de cada request. + UI_BASE_URL: "https://djmaster.nextream.sytes.net" + # ── Egress server WHEP (proxy interno) ────────────────────────────────── + # Caddy hace proxy /whep/* → este host. + # Core input: https://djmaster.nextream.sytes.net/whep/rooms/ + EGRESS_HOST: "llmchats-whep.zuqtxy.easypanel.host" volumes: # Persistencia de tokens OAuth2 (Facebook, YouTube, etc.) - restreamer-ui-fb-data:/data/fb diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 2a3fdb5..0a2e51c 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -23,6 +23,12 @@ cat "$CONFIG_FILE" # ── Set YTDLP_HOST for Caddy reverse_proxy (default: external service or localhost) ─ export YTDLP_HOST="${YTDLP_HOST:-192.168.1.20:8282}" +# ── Set LIVEKIT_INGRESS_HOST for Caddy reverse_proxy (/w/* → livekit-ingress) ─ +export LIVEKIT_INGRESS_HOST="${LIVEKIT_INGRESS_HOST:-192.168.1.20:8088}" + +# ── Set EGRESS_HOST for Caddy reverse_proxy (/whep/* → egress server) ────── +export EGRESS_HOST="${EGRESS_HOST:-llmchats-whep.zuqtxy.easypanel.host}" + # ── Persist FB data directory ───────────────────────────────────────────────── mkdir -p /data/fb export FB_DATA_DIR="${FB_DATA_DIR:-/data/fb}" @@ -39,6 +45,8 @@ FFMPEG_BIN="${FFMPEG_BIN:-ffmpeg}" \ LIVEKIT_API_KEY="${LIVEKIT_API_KEY:-}" \ LIVEKIT_API_SECRET="${LIVEKIT_API_SECRET:-}" \ LIVEKIT_WS_URL="${LIVEKIT_WS_URL:-}" \ +LIVEKIT_INGRESS_INTERNAL_URL="${LIVEKIT_INGRESS_INTERNAL_URL:-http://192.168.1.20:8088}" \ +UI_BASE_URL="${UI_BASE_URL:-}" \ node /ui/server/index.js & FB_PID=$! echo "[entrypoint] FB server PID: $FB_PID" diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..68b8ebf --- /dev/null +++ b/package-lock.json @@ -0,0 +1,26670 @@ +{ + "name": "restreamer-ui", + "version": "1.14.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "restreamer-ui", + "version": "1.14.0", + "license": "Apache-2.0", + "dependencies": { + "@auth0/auth0-spa-js": "^2.1.3", + "@babel/plugin-syntax-flow": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@emotion/react": "^11.13.3", + "@emotion/styled": "^11.13.0", + "@fontsource/dosis": "^5.2.8", + "@fontsource/roboto": "^5.0.14", + "@fortawesome/fontawesome-svg-core": "^6.6.0", + "@fortawesome/free-brands-svg-icons": "^6.6.0", + "@fortawesome/free-solid-svg-icons": "^6.6.0", + "@fortawesome/react-fontawesome": "^0.2.2", + "@lingui/core": "^4.11.4", + "@lingui/macro": "^4.11.4", + "@lingui/react": "^4.11.4", + "@mui/icons-material": "^6.0.1", + "@mui/lab": "^6.0.0-beta.8", + "@mui/material": "^6.0.1", + "@mui/styles": "^6.0.1", + "@testing-library/dom": "^10.4.0", + "@testing-library/jest-dom": "^6.5.0", + "@testing-library/react": "^16.0.1", + "@testing-library/user-event": "^14.5.2", + "@types/react": "^18.3.5", + "babel-plugin-macros": "^3.1.0", + "eslint": "^9.9.1", + "handlebars": "^4.7.8", + "jwt-decode": "^4.0.0", + "livekit-server-sdk": "^2.15.0", + "make-plural": "^7.4.0", + "react": "^18.3.1", + "react-colorful": "^5.6.1", + "react-device-detect": "^2.2.3", + "react-dom": "^18.3.1", + "react-markdown": "^9.0.1", + "react-router-dom": "^6.26.1", + "react-scripts": "^5.0.1", + "semver": "^7.6.3", + "serve": "^14.2.3", + "typescript": "^5.5.4", + "url-parse": "^1.5.10", + "util": "^0.12.5", + "uuid": "^10.0.0", + "video.js": "^8.17.3", + "videojs-overlay": "^3.1.0" + }, + "devDependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@lingui/cli": "^4.11.4", + "babel-core": "^6.26.3", + "eslint-config-react-app": "^7.0.1", + "http-proxy-middleware": "^2.0.7", + "prettier": "^3.3.3", + "react-error-overlay": "^6.0.11" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "license": "MIT" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@auth0/auth0-spa-js": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@auth0/auth0-spa-js/-/auth0-spa-js-2.1.3.tgz", + "integrity": "sha512-NMTBNuuG4g3rame1aCnNS5qFYIzsTUV5qTFPRfTyYFS1feS6jsCBR+eTq9YkxCp1yuoM2UIcjunPaoPl77U9xQ==", + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.9.tgz", + "integrity": "sha512-xPndlO7qxiJbn0ATvfXQBjCS7qApc9xmKHArgI/FTEFxXas5dnjC/VqM37lfZun9dclRYcn+YQAr6uDFy0bB2g==", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.9.tgz", + "integrity": "sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.9.tgz", + "integrity": "sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.23.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", + "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", + "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", + "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" + }, + "node_modules/@bufbuild/protobuf": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.1.tgz", + "integrity": "sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@emotion/cache": { + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz", + "integrity": "sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.13.3", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz", + "integrity": "sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.1.tgz", + "integrity": "sha512-dEPNKzBPU+vFPGa+z3axPRn8XVDetYORmDC0wAiej+TNcOZE70ZMJa0X7JdeoM6q/nWTMZeLpN/fTnD9o8MQBA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.13.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.13.0.tgz", + "integrity": "sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", + "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", + "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", + "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.10.tgz", + "integrity": "sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.7" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", + "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz", + "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==", + "license": "MIT" + }, + "node_modules/@fontsource/dosis": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/dosis/-/dosis-5.2.8.tgz", + "integrity": "sha512-8c7kJgWFeGr2/Oe+EqDPf3onSGs5bQmng7nZtKkdto62313CQCa0E7vSyFiKuh5jsXIVi8wz1mHih4kRhB2p+A==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/roboto": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-5.1.0.tgz", + "integrity": "sha512-cFRRC1s6RqPygeZ8Uw/acwVHqih8Czjt6Q0MwoUoDe9U3m4dH1HmNDRBZyqlMSFwgNAUKgFImncKdmDHyKpwdg==", + "license": "Apache-2.0" + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", + "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "deprecated": "v0.2.x is no longer supported. Unless you are still using FontAwesome 5, please update to v3.1.1 or greater.", + "license": "MIT", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/environment/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/environment/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/environment/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/environment/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/fake-timers/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/fake-timers/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/globals/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/globals/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/globals/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/globals/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-result/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/test-result/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/test-result/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/test-result/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-result/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "license": "MIT" + }, + "node_modules/@lingui/babel-plugin-extract-messages": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-4.11.4.tgz", + "integrity": "sha512-7gUOsYJ4wIjv/0tGxAGiGpgWKCybFPP0tCQMz6baa9xcsk8Vp7Xmuf9og1AD6EMawjStibQsQyE6xaRnJgpoHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/cli": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/cli/-/cli-4.11.4.tgz", + "integrity": "sha512-PauBkvi++YkYAYq6w9MwkBmE6KiDE9wRh5DkN8yFPRcfj64vkE2l1HFENCqL/jg63kr8esOAiueD9+CtUGVyDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.0", + "@babel/generator": "^7.21.1", + "@babel/parser": "^7.21.2", + "@babel/runtime": "^7.21.0", + "@babel/types": "^7.21.2", + "@lingui/babel-plugin-extract-messages": "4.11.4", + "@lingui/conf": "4.11.4", + "@lingui/core": "4.11.4", + "@lingui/format-po": "4.11.4", + "@lingui/message-utils": "4.11.4", + "babel-plugin-macros": "^3.0.1", + "chalk": "^4.1.0", + "chokidar": "3.5.1", + "cli-table": "^0.3.11", + "commander": "^10.0.0", + "convert-source-map": "^2.0.0", + "date-fns": "^3.6.0", + "esbuild": "^0.17.10", + "glob": "^7.1.4", + "inquirer": "^7.3.3", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "ora": "^5.1.0", + "pathe": "^1.1.0", + "pkg-up": "^3.1.0", + "pofile": "^1.1.4", + "pseudolocale": "^2.0.0", + "ramda": "^0.27.1", + "source-map": "^0.8.0-beta.0" + }, + "bin": { + "lingui": "dist/lingui.js" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@lingui/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@lingui/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@lingui/cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@lingui/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lingui/cli/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@lingui/cli/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@lingui/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lingui/cli/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/@lingui/cli/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@lingui/cli/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/@lingui/conf": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/conf/-/conf-4.11.4.tgz", + "integrity": "sha512-FC12yP0MHzu2QN5/4JkFHdz25l4Yu2ucjj3K12Y8tW/75oPh+n8k2u1+3/M68zWoqf5yyFvU4m2A+gxEmeR0iw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "chalk": "^4.1.0", + "cosmiconfig": "^8.0.0", + "jest-validate": "^29.4.3", + "jiti": "^1.17.1", + "lodash.get": "^4.4.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/conf/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@lingui/conf/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@lingui/conf/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@lingui/conf/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@lingui/conf/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lingui/conf/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lingui/core": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/core/-/core-4.11.4.tgz", + "integrity": "sha512-W0bBIFe44s//Qs+RQ+NMfzK5vAm9oEKyDddlN94Db6rzeUT/IJo7N+T75A6Bya8v/BrtF2G/W4b77eS3sd0utw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@lingui/message-utils": "4.11.4", + "unraw": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/format-po": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/format-po/-/format-po-4.11.4.tgz", + "integrity": "sha512-PiWbTiiNgYZTFVuBHYirtAG98cDxrT0IwmSvETQk4YbaqCdn28/J7fRFZScsKqe8LmpnxX4EXZLs/R0MP2jLHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lingui/conf": "4.11.4", + "@lingui/message-utils": "4.11.4", + "date-fns": "^3.6.0", + "pofile": "^1.1.4" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/macro": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/macro/-/macro-4.11.4.tgz", + "integrity": "sha512-mgfyBpp/UCiaJxr+DTBtaCUKnq2fV9JrmUmBumC9PaFDCXYfjB0A2gaq2XEgn9PmUKuzC7PGs1sPJ3TBJ8uGTw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@babel/types": "^7.20.7", + "@lingui/conf": "4.11.4", + "@lingui/core": "4.11.4", + "@lingui/message-utils": "4.11.4" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@lingui/react": "^4.0.0", + "babel-plugin-macros": "2 || 3" + } + }, + "node_modules/@lingui/message-utils": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/message-utils/-/message-utils-4.11.4.tgz", + "integrity": "sha512-ZTCDhGbj5EN+P9Ajcj0Gq9uDP3HZTRW6/kT09WkiFgL4NayYLksPvgBk29sIglsS6M+Y6Iw2BrUK403SZjZKgw==", + "license": "MIT", + "dependencies": { + "@messageformat/parser": "^5.0.0", + "js-sha256": "^0.10.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@lingui/react": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@lingui/react/-/react-4.11.4.tgz", + "integrity": "sha512-f7re4HhjI6CLBV1CY/PcI3VYP5zS4rtfU33speWnfkymsxGIXQv4ol3BqrgPLGhypMl2nKcL5nfL+LewrLIW8g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@lingui/core": "4.11.4" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@livekit/protocol": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@livekit/protocol/-/protocol-1.45.0.tgz", + "integrity": "sha512-z22Ej7RRBFm5uVZpU7kBHOdDwZV6Hz+1crCOrse2g7yx8TcHXG0bKnOKwyN/meD233nEDlU2IHNCoT8Vq8lvtg==", + "license": "Apache-2.0", + "dependencies": { + "@bufbuild/protobuf": "^1.10.0" + } + }, + "node_modules/@messageformat/parser": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@messageformat/parser/-/parser-5.1.0.tgz", + "integrity": "sha512-jKlkls3Gewgw6qMjKZ9SFfHUpdzEVdovKFtW1qRhJ3WI4FW5R/NnGDqr8SDGz+krWDO3ki94boMmQvGke1HwUQ==", + "license": "MIT", + "dependencies": { + "moo": "^0.5.1" + } + }, + "node_modules/@mui/base": { + "version": "5.0.0-beta.58", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.58.tgz", + "integrity": "sha512-P0E7ZrxOuyYqBvVv9w8k7wm+Xzx/KRu+BGgFcR2htTsGCpJNQJCSUXNUZ50MUmSU9hzqhwbQWNXhV1MBTl6F7A==", + "deprecated": "This package has been replaced by @base-ui/react", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "@floating-ui/react-dom": "^2.1.1", + "@mui/types": "^7.2.15", + "@mui/utils": "6.0.0-rc.0", + "@popperjs/core": "^2.11.8", + "clsx": "^2.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/base/node_modules/@mui/utils": { + "version": "6.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.0.0-rc.0.tgz", + "integrity": "sha512-tBp0ILEXDL0bbDDT8PnZOjCqSm5Dfk2N0Z45uzRw+wVl6fVvloC9zw8avl+OdX1Bg3ubs/ttKn8nRNv17bpM5A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "@mui/types": "^7.2.15", + "@types/prop-types": "^15.7.12", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.1.0.tgz", + "integrity": "sha512-covEnIn/2er5YdtuukDRA52kmARhKrHjOvPsyTFMQApZdrTBI4h8jbEy2mxZqwMwcAFS9coonQXnEZKL1rUNdQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/icons-material": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.1.0.tgz", + "integrity": "sha512-HxfB0jxwiMTYMN8gAnYn3avbF1aDrqBEuGIj6JDQ3YkLl650E1Wy8AIhwwyP47wdrv0at9aAR0iOO6VLb74A9w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@mui/material": "^6.1.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/lab": { + "version": "6.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-6.0.0-beta.9.tgz", + "integrity": "sha512-rgwgf9mNUpXxPlI3tnM3i+HNAtDZ2amAollDqbe6RZ/3fltcir/o/0zBvnZRkJIBOAk6qIGmL59GCasuQQtPKA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "@mui/base": "5.0.0-beta.58", + "@mui/system": "^6.0.2", + "@mui/types": "^7.2.16", + "@mui/utils": "^6.0.2", + "clsx": "^2.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material": "^6.0.2", + "@mui/material-pigment-css": "^6.0.2", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@mui/material-pigment-css": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.1.0.tgz", + "integrity": "sha512-4MJ46vmy1xbm8x+ZdRcWm8jEMMowdS8pYlhKQzg/qoKhOcLhImZvf2Jn6z9Dj6gl+lY+C/0MxaHF/avAAGys3Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6", + "@mui/core-downloads-tracker": "^6.1.0", + "@mui/system": "^6.1.0", + "@mui/types": "^7.2.16", + "@mui/utils": "^6.1.0", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.11", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^18.3.1", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material-pigment-css": "^6.1.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@mui/material-pigment-css": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/private-theming": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.1.0.tgz", + "integrity": "sha512-+L5qccs4gwsR0r1dgjqhN24QEQRkqIbfOdxILyMbMkuI50x6wNyt9XrV+J3WtjtZTMGJCrUa5VmZBE6OEPGPWA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6", + "@mui/utils": "^6.1.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.1.0.tgz", + "integrity": "sha512-MZ+vtaCkjamrT41+b0Er9OMenjAtP/32+L6fARL9/+BZKuV2QbR3q3TmavT2x0NhDu35IM03s4yKqj32Ziqnyg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6", + "@emotion/cache": "^11.13.1", + "@emotion/sheet": "^1.4.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/styles": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-6.1.0.tgz", + "integrity": "sha512-E18VFiRIUraVXdcxXy6PyBpK73nCN1xbVPEWREVFKYHjZrd1vR8RJ/zLdZDHwpubAxs8Jqr+7JPWmzBt79qAWw==", + "deprecated": "Deprecated, check the migration instruction in https://mui.com/material-ui/migration/migrating-from-jss/", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6", + "@emotion/hash": "^0.9.2", + "@mui/private-theming": "^6.1.0", + "@mui/types": "^7.2.16", + "@mui/utils": "^6.1.0", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.10.0", + "jss-plugin-camel-case": "^10.10.0", + "jss-plugin-default-unit": "^10.10.0", + "jss-plugin-global": "^10.10.0", + "jss-plugin-nested": "^10.10.0", + "jss-plugin-props-sort": "^10.10.0", + "jss-plugin-rule-value-function": "^10.10.0", + "jss-plugin-vendor-prefixer": "^10.10.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.1.0.tgz", + "integrity": "sha512-NumkGDqT6EdXfcoFLYQ+M4XlTW5hH3+aK48xAbRqKPXJfxl36CBt4DLduw/Voa5dcayGus9T6jm1AwU2hoJ5hQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6", + "@mui/private-theming": "^6.1.0", + "@mui/styled-engine": "^6.1.0", + "@mui/types": "^7.2.16", + "@mui/utils": "^6.1.0", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.16", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.16.tgz", + "integrity": "sha512-qI8TV3M7ShITEEc8Ih15A2vLzZGLhD+/UPNwck/hcls2gwg7dyRjNGXcQYHKLB5Q7PuTRfrTkAoPa2VV1s67Ag==", + "license": "MIT", + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.1.0.tgz", + "integrity": "sha512-oT8ZzMISRUhTVpdbYzY0CgrCBb3t/YEdcaM13tUnuTjZ15pdA6g5lx15ZJUdgYXV6PbJdw7tDQgMEr4uXK5TXQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.6", + "@mui/types": "^7.2.16", + "@types/prop-types": "^15.7.12", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "license": "MIT", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@remix-run/router": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz", + "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==", + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", + "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "license": "MIT" + }, + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", + "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.5.2", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", + "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz", + "integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.42", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz", + "integrity": "sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.11.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.7.tgz", + "integrity": "sha512-GPmeN1C3XAyV5uybAf4cMLWT9fDWcmQhZVtMFu7OR32WjrqGG+Wnk2V1d0bmtUyE/Zy1QJ9BxyiTih9z8Oks8A==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.11", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.11.tgz", + "integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" + }, + "node_modules/@videojs/http-streaming": { + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.13.3.tgz", + "integrity": "sha512-L7H+iTeqHeZ5PylzOx+pT3CVyzn4TALWYTJKkIc1pDaV/cTVfNGtG+9/vXPAydD+wR/xH1M9/t2JH8tn/DCT4w==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "4.0.0", + "aes-decrypter": "4.0.1", + "global": "^4.4.0", + "m3u8-parser": "^7.1.0", + "mpd-parser": "^1.3.0", + "mux.js": "7.0.3", + "video.js": "^7 || ^8" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + }, + "peerDependencies": { + "video.js": "^8.14.0" + } + }, + "node_modules/@videojs/vhs-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-4.0.0.tgz", + "integrity": "sha512-xJp7Yd4jMLwje2vHCUmi8MOUU76nxiwII3z4Eg3Ucb+6rrkFVGosrXlMgGnaLjq724j3wzNElRZ71D/CKrTtxg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "global": "^4.4.0", + "url-toolkit": "^2.2.1" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + } + }, + "node_modules/@videojs/xhr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@videojs/xhr/-/xhr-2.7.0.tgz", + "integrity": "sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "global": "~4.4.0", + "is-function": "^1.0.1" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "license": "MIT" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "deprecated": "package has been renamed to acorn-import-attributes", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/aes-decrypter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-4.0.1.tgz", + "integrity": "sha512-H1nh/P9VZXUf17AA5NQfJML88CFjVBDuGkp5zDHa7oEhYN9TTpNLJknRY1ie0iSKWlDf6JRnJKaZVDSQdPy6Cg==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^3.0.5", + "global": "^4.4.0", + "pkcs7": "^1.0.4" + } + }, + "node_modules/aes-decrypter/node_modules/@videojs/vhs-utils": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-3.0.5.tgz", + "integrity": "sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "global": "^4.4.0", + "url-toolkit": "^2.2.1" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "license": "MIT" + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-core/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-core/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.5.0", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "license": "MIT", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-9.1.3.tgz", + "integrity": "sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==", + "license": "MIT", + "dependencies": { + "camelcase": "^8.0.0", + "map-obj": "5.0.0", + "quick-lru": "^6.1.1", + "type-fest": "^4.3.2" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk-template/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/chalk-template/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk-template/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dev": true, + "dependencies": { + "colors": "1.0.3" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true, + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz", + "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.22.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.1.tgz", + "integrity": "sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.9.1.tgz", + "integrity": "sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "license": "MIT" + }, + "node_modules/cssdb": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.10.0.tgz", + "integrity": "sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "license": "MIT" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.22", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.22.tgz", + "integrity": "sha512-tKYm5YHPU1djz0O+CGJ+oJIvimtsCcwR2Z9w7Skh08lUdyzXY5djods3q+z2JkWdb7tCcmM//eVavSRAiaPRNg==", + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "license": "MIT", + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "license": "MIT" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", + "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.10.0", + "@eslint/plugin-kit": "^0.1.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.2", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "license": "MIT", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "license": "MIT", + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-url-attributes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", + "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==", + "license": "BSD-3-Clause" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==", + "license": "MIT" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "license": "MIT" + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", + "license": "MIT" + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-changed-files/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-changed-files/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli/node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-environment-jsdom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-environment-node/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-node/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-environment-node/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-map/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-haste-map/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-haste-map/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-mock/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-mock/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-mock/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-mock/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-mock/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-resolve-dependencies/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jose": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", + "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-sha256": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.10.1.tgz", + "integrity": "sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jss": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", + "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/jss" + } + }, + "node_modules/jss-plugin-camel-case": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", + "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-default-unit": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", + "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-global": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", + "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-nested": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", + "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-props-sort": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", + "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0" + } + }, + "node_modules/jss-plugin-rule-value-function": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", + "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.10.0", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-vendor-prefixer": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", + "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/livekit-server-sdk": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/livekit-server-sdk/-/livekit-server-sdk-2.15.0.tgz", + "integrity": "sha512-HmzjWnwEwwShu8yUf7VGFXdc+BuMJR5pnIY4qsdlhqI9d9wDgq+4cdTEHg0NEBaiGnc6PCOBiaTYgmIyVJ0S9w==", + "license": "Apache-2.0", + "dependencies": { + "@bufbuild/protobuf": "^1.10.1", + "@livekit/protocol": "^1.43.1", + "camelcase-keys": "^9.0.0", + "jose": "^5.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/m3u8-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-7.1.0.tgz", + "integrity": "sha512-7N+pk79EH4oLKPEYdgRXgAsKDyA/VCo0qCHlUwacttQA0WqsjZQYmNfywMvjlY9MpEBVZEt0jKFd73Kv15EBYQ==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^3.0.5", + "global": "^4.4.0" + } + }, + "node_modules/m3u8-parser/node_modules/@videojs/vhs-utils": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@videojs/vhs-utils/-/vhs-utils-3.0.5.tgz", + "integrity": "sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "global": "^4.4.0", + "url-toolkit": "^2.2.1" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-plural": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-7.4.0.tgz", + "integrity": "sha512-4/gC9KVNTV6pvYg2gFeQYTW3mWaoJt7WZE5vrp1KnQDgW92JtYZnzmZT81oj/dUTqAIu0ufI2x3dkgu3bB1tYg==", + "license": "Unicode-DFS-2016" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.0.tgz", + "integrity": "sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "deprecated": "this will be v4", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.7", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.7.tgz", + "integrity": "sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "license": "BSD-3-Clause" + }, + "node_modules/mpd-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.0.tgz", + "integrity": "sha512-WgeIwxAqkmb9uTn4ClicXpEQYCEduDqRKfmUdp4X8vmghKfBNXZLYpREn9eqrDx/Tf5LhzRcJLSpi4ohfV742Q==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/vhs-utils": "^4.0.0", + "@xmldom/xmldom": "^0.8.3", + "global": "^4.4.0" + }, + "bin": { + "mpd-to-m3u8-json": "bin/parse.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/mux.js": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.0.3.tgz", + "integrity": "sha512-gzlzJVEGFYPtl2vvEiJneSWAWD4nfYRHD5XgxmB2gWvXraMPOYk+sxfvexmNfjQUFpmk6hwLR5C6iSFmuwCHdQ==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.11.2", + "global": "^4.4.0" + }, + "bin": { + "muxjs-transmux": "bin/transmux.js" + }, + "engines": { + "node": ">=8", + "npm": ">=5" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "license": "MIT", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkcs7": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pkcs7/-/pkcs7-1.0.4.tgz", + "integrity": "sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.5.5" + }, + "bin": { + "pkcs7": "bin/cli.js" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pofile": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/pofile/-/pofile-1.1.4.tgz", + "integrity": "sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/property-information": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz", + "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudolocale": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pseudolocale/-/pseudolocale-2.0.0.tgz", + "integrity": "sha512-g1K9tCQYY4e3UGtnW8qs3kGWAOONxt7i5wuOFvf3N1EIIRhiLVIhZ9AM/ZyGTxsp231JbFywJU/EbJ5ZoqnZdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "pseudolocale": "dist/cli.mjs" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz", + "integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-app-polyfill/node_modules/core-js": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz", + "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/react-colorful": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", + "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-device-detect": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", + "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", + "license": "MIT", + "dependencies": { + "ua-parser-js": "^1.0.33" + }, + "peerDependencies": { + "react": ">= 0.14.0", + "react-dom": ">= 0.14.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", + "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.19.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", + "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.19.2", + "react-router": "6.26.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/react-scripts/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-scripts/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-scripts/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/react-scripts/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/react-scripts/node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/react-scripts/node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/react-scripts/node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/react-scripts/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/react-scripts/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.3.tgz", + "integrity": "sha512-VqUFMC7K3LDGeGnJM9h56D3XGKb6KGgOw0cVNtA26yYXHCcpxf3xwCTUaQoWlVS7i8Jdh3GjQkOB23qsXyjoyQ==", + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.12.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/style-to-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", + "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.2" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" + }, + "node_modules/unraw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unraw/-/unraw-3.0.0.tgz", + "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==", + "license": "MIT" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-browserslist-db/node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-toolkit": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.2.5.tgz", + "integrity": "sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==", + "license": "Apache-2.0" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/video.js": { + "version": "8.17.4", + "resolved": "https://registry.npmjs.org/video.js/-/video.js-8.17.4.tgz", + "integrity": "sha512-AECieAxKMKB/QgYK36ci50phfpWys6bFT6+pGMpSafeFYSoZaQ2Vpl83T9Qqcesv4TO7oNtiycnVeaBnrva2oA==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@videojs/http-streaming": "3.13.3", + "@videojs/vhs-utils": "^4.0.0", + "@videojs/xhr": "2.7.0", + "aes-decrypter": "^4.0.1", + "global": "4.4.0", + "m3u8-parser": "^7.1.0", + "mpd-parser": "^1.2.2", + "mux.js": "^7.0.1", + "videojs-contrib-quality-levels": "4.1.0", + "videojs-font": "4.2.0", + "videojs-vtt.js": "0.15.5" + } + }, + "node_modules/videojs-contrib-quality-levels": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-4.1.0.tgz", + "integrity": "sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==", + "license": "Apache-2.0", + "dependencies": { + "global": "^4.4.0" + }, + "engines": { + "node": ">=16", + "npm": ">=8" + }, + "peerDependencies": { + "video.js": "^8" + } + }, + "node_modules/videojs-font": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-4.2.0.tgz", + "integrity": "sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==", + "license": "Apache-2.0" + }, + "node_modules/videojs-overlay": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/videojs-overlay/-/videojs-overlay-3.1.0.tgz", + "integrity": "sha512-P863Z4ghWgf7Z4A4uzmHlqIixRb8v5220JuQ4pfb/uorbWSBCt5D+czrp/eTxXXLtSmrSUKn596QswVYZuMzPg==", + "license": "Apache-2.0", + "dependencies": { + "global": "^4.3.2", + "video.js": "^6 || ^7 || ^8" + } + }, + "node_modules/videojs-vtt.js": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz", + "integrity": "sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==", + "license": "Apache-2.0", + "dependencies": { + "global": "^4.3.1" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.90.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", + "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "license": "MIT" + }, + "node_modules/workbox-background-sync": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz", + "integrity": "sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz", + "integrity": "sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-build": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.1.tgz", + "integrity": "sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.1", + "workbox-broadcast-update": "6.6.1", + "workbox-cacheable-response": "6.6.1", + "workbox-core": "6.6.1", + "workbox-expiration": "6.6.1", + "workbox-google-analytics": "6.6.1", + "workbox-navigation-preload": "6.6.1", + "workbox-precaching": "6.6.1", + "workbox-range-requests": "6.6.1", + "workbox-recipes": "6.6.1", + "workbox-routing": "6.6.1", + "workbox-strategies": "6.6.1", + "workbox-streams": "6.6.1", + "workbox-sw": "6.6.1", + "workbox-window": "6.6.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz", + "integrity": "sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag==", + "deprecated": "workbox-background-sync@6.6.1", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-core": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.1.tgz", + "integrity": "sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw==", + "deprecated": "this package has been deprecated", + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.1.tgz", + "integrity": "sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz", + "integrity": "sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "6.6.1", + "workbox-core": "6.6.1", + "workbox-routing": "6.6.1", + "workbox-strategies": "6.6.1" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz", + "integrity": "sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.1.tgz", + "integrity": "sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1", + "workbox-routing": "6.6.1", + "workbox-strategies": "6.6.1" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz", + "integrity": "sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.1.tgz", + "integrity": "sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "6.6.1", + "workbox-core": "6.6.1", + "workbox-expiration": "6.6.1", + "workbox-precaching": "6.6.1", + "workbox-routing": "6.6.1", + "workbox-strategies": "6.6.1" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.1.tgz", + "integrity": "sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.1.tgz", + "integrity": "sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.1.tgz", + "integrity": "sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.1", + "workbox-routing": "6.6.1" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.1.tgz", + "integrity": "sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ==", + "deprecated": "this package has been deprecated", + "license": "MIT" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.1.tgz", + "integrity": "sha512-zpZ+ExFj9NmiI66cFEApyjk7hGsfJ1YMOaLXGXBoZf0v7Iu6hL0ZBe+83mnDq3YYWAfA3fnyFejritjOHkFcrA==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.1.tgz", + "integrity": "sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ==", + "deprecated": "this package has been deprecated", + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.1" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json index 598082e..90ee1b9 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "eslint": "^9.9.1", "handlebars": "^4.7.8", "jwt-decode": "^4.0.0", + "livekit-server-sdk": "^2.15.0", "make-plural": "^7.4.0", "react": "^18.3.1", "react-colorful": "^5.6.1", diff --git a/public/config.js b/public/config.js index 7e62d83..a4d3d90 100644 --- a/public/config.js +++ b/public/config.js @@ -24,7 +24,9 @@ window.__RESTREAMER_CONFIG__ = { CORE_ADDRESS: '', YTDLP_URL: '', FB_SERVER_URL: '', + // URL pública del servidor egress (WHIP ingest + WHEP relay). + // Ej: 'https://llmchats-whep.zuqtxy.easypanel.host' + WHIP_SERVER_URL: '', }; - diff --git a/public/docs/livekit-rtmp-egress (9).html b/public/docs/livekit-rtmp-egress (9).html new file mode 100644 index 0000000..16786ab --- /dev/null +++ b/public/docs/livekit-rtmp-egress (9).html @@ -0,0 +1,1308 @@ + + + + + +LiveKit Compose → RTMP + + + + + + +
+ +
+
IDLE
+ +
+
+ +
+ + +
+
Fuentes — Cola pendiente
+
+
+ + +
+
En espera
+
+
+ Sin fuentes.
Añade cámara o pantalla. +
+
+
+
+ + +
+
+ Compose Canvas + 1920×1080 + 30 fps + +
+
+ +
+
+
+ +

Añade fuentes desde la cola
y pulsa ▶ Publicar

+
+
+
+
+
+ +
+ + + +
+ + +
+
+ + +
+ + +
+
Capa seleccionada
+
Selecciona un elemento
+ +
+ + +
+
Layouts
+
+
+
+
Full
+
+
+
+
+
+
+
Side
+
+
+
+
+
+
PiP ↘
+
+
+
+
+
+
PiP ↙
+
+
+
+
+
+
+
+
+
+
1+2
+
+
+
+
+
+
+
+
+
2×2
+
+
+
+ + +
+
LiveKit Room
+
+
estado + + + DESCONECTADO + +
+
tracks0
+
+
+ Flujo correcto:
+ 1. Añade fuentes → canvas
+ 2. ▶ Publicar Canvas → Room
+ 3. Iniciar Streaming +
+
+ + +
+
LiveKit Server
+
URL (https://)
+ + +
+
+
API Key
+
Room
+
+
+
+ API Secret + +
+ + +
+
+ + +
+
Destino RTMP
+
URL
+
Stream Key
+
+ + +
+
Encode
+
+
W
+
H
+
+
+
FPS
+ +
+
Bitrate kbps
+
+
+ + +
+
API Payload
+
+ + + +
+
+
+ + +
+
Egress
+
+
egress_id
+
statusIDLE
+
started_at
+
layers0
+
error
+
+ +
+ + +
+
API Log
+
+ Eventos API aparecerán aquí… +
+
+ +
+
+ +
+ + + + diff --git a/public/docs/livekit-rtmp-egress.html b/public/docs/livekit-rtmp-egress.html new file mode 100644 index 0000000..cd2e750 --- /dev/null +++ b/public/docs/livekit-rtmp-egress.html @@ -0,0 +1,1050 @@ + + + + + +LiveKit Compose → RTMP Egress + + + + + +
+ +
+
IDLE
+ +
+
+ +
+ + +
+
Fuentes — Cola pendiente
+
+
+ + +
+
En espera
+
+
+ Sin fuentes.
Añade una cámara o pantalla. +
+
+
+
+ + +
+
+ Compose Canvas + 1920×1080 + 30 fps + +
+
+
+
+
+ +

Pulsa + en una fuente
para añadirla al canvas

+

Luego arrástrala y redimensiona libremente

+
+
+
+
+
+ +
+ + +
+ + +
+
+ + +
+ + +
+
Capa seleccionada
+
+ Selecciona un elemento en el canvas +
+ +
+ + +
+
Layouts predefinidos
+
+
+
+
Full
+
+
+
+
+
+
+
Side
+
+
+
+
+
+
PiP ↘
+
+
+
+
+
+
PiP ↙
+
+
+
+
+
+
+
+
+
+
1+2
+
+
+
+
+
+
+
+
+
2×2
+
+
+
+ Reorganiza las capas activas sin solapamiento. Las fuentes sin slot mantienen su posición. +
+
+ + +
+
LiveKit Server
+
URL
+
+
API Key
+
Room
+
+
+ + +
+
Destino RTMP
+
URL
+
Stream Key
+
+ + +
+
Encode
+
+
Ancho
+
Alto
+
+
+
FPS
+ +
+
Bitrate kbps
+
+
+ + +
+
API Payload
+
+ + + +
+
+
+ + +
+
Egress
+
+
egress_id
+
statusIDLE
+
started_at
+
capas activas0
+
+ +
+ +
+
+ +
+ + + + diff --git a/public/webrtc-room/index.html b/public/webrtc-room/index.html index 5bf5925..16786ab 100644 --- a/public/webrtc-room/index.html +++ b/public/webrtc-room/index.html @@ -1,551 +1,1308 @@ - - - WebRTC Room — Restreamer - - + + +LiveKit Compose → RTMP + + + -

🎥 WebRTC Room

-

Sala: —

- -
-
- Esperando... - ● EN VIVO - LiveKit ✓ - RTMP ✓ - -
- -
-

📹 Vista previa local

- -
- - - - +
+ -
+
+
IDLE
+ +
+ -
-

⚙️ Ajustes

-
-
- - -
-
- - +
+ + +
+
Fuentes — Cola pendiente
+
+
+ + +
+
En espera
+
+
+ Sin fuentes.
Añade cámara o pantalla. +
+
-
- -
-
- LiveKit — señalización WebRTC + + +
+
+ Compose Canvas + 1920×1080 + 30 fps +
-
-
- RTMP relay → Restreamer Core (preview + distribución) +
+ +
+
+
+ +

Añade fuentes desde la cola
y pulsa ▶ Publicar

+
+
+
+
+
+ +
+ + + +
+ +
-
- -
+ + +
+ + +
+
Capa seleccionada
+
Selecciona un elemento
+ +
+ + +
+
Layouts
+
+
+
+
Full
+
+
+
+
+
+
+
Side
+
+
+
+
+
+
PiP ↘
+
+
+
+
+
+
PiP ↙
+
+
+
+
+
+
+
+
+
+
1+2
+
+
+
+
+
+
+
+
+
2×2
+
+
+
+ + +
+
LiveKit Room
+
+
estado + + + DESCONECTADO + +
+
tracks0
+
+
+ Flujo correcto:
+ 1. Añade fuentes → canvas
+ 2. ▶ Publicar Canvas → Room
+ 3. Iniciar Streaming +
+
+ + +
+
LiveKit Server
+
URL (https://)
+ + +
+
+
API Key
+
Room
+
+
+
+ API Secret + +
+ + +
+
+ + +
+
Destino RTMP
+
URL
+
Stream Key
+
+ + +
+
Encode
+
+
W
+
H
+
+
+
FPS
+ +
+
Bitrate kbps
+
+
+ + +
+
API Payload
+
+ + + +
+
+
+ + +
+
Egress
+
+
egress_id
+
statusIDLE
+
started_at
+
layers0
+
error
+
+ +
+ + +
+
API Log
+
+ Eventos API aparecerán aquí… +
+
+ +
-
-

📋 Registro

-
-
+
- diff --git a/restreamer-ui-final.png b/restreamer-ui-final.png new file mode 100644 index 0000000000000000000000000000000000000000..a4dcb560ff114f1a3fb52af81a80a0d6064c317c GIT binary patch literal 268094 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

8!yST>Zl65hx{T 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

; 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 literal 0 HcmV?d00001 diff --git a/scripts/check_relay.sh b/scripts/check_relay.sh new file mode 100755 index 0000000..5104679 --- /dev/null +++ b/scripts/check_relay.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Usage: ./scripts/check_relay.sh +# Relies on .env REACT_APP_CORE_URL and optional API_TOKEN + +if [ -f .env ]; then + export $(grep -v '^#' .env | xargs) || true +fi + +CORE_URL=${REACT_APP_CORE_URL:-http://localhost:8080} +API_TOKEN=${API_TOKEN:-} + +if [ "$#" -lt 1 ]; then + echo "Usage: $0 " + exit 2 +fi + +CHANNEL_ID=$1 +AUTH_HEADER=() +if [ -n "$API_TOKEN" ]; then + AUTH_HEADER+=( -H "Authorization: Bearer ${API_TOKEN}" ) +fi + +echo "Checking relay and ingest state for channel: ${CHANNEL_ID} (CORE: ${CORE_URL})" + +echo -e "\n1) WebRTC relay (node) status -> /webrtc-relay/status" +curl -s ${AUTH_HEADER[@]} "${CORE_URL}/webrtc-relay/status" | jq '.' || echo "(no response)" + +echo -e "\n2) RTMP channels -> /api/v3/rtmp" +curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/rtmp" | jq '.' || echo "(no response)" + +echo -e "\n3) Active sessions (ffmpeg,hls,rtmp,srt) -> /api/v3/session/active" +curl -s ${AUTH_HEADER[@]} -X POST "${CORE_URL}/api/v3/metrics" -H 'Content-Type: application/json' -d '{"query":{},"range":{}}' >/dev/null 2>&1 || true +# preferred: /api/v3/session/active?collectors=ffmpeg,hls,rtmp,srt +curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/session/active?collectors=ffmpeg,hls,rtmp,srt" | jq '.' || echo "(no response)" + +echo -e "\n4) Processes referencing channel -> /api/v3/process?reference=${CHANNEL_ID}" +curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/process?reference=${CHANNEL_ID}" | jq '.' || echo "(no response)" + +echo -e "\n5) Ingest process state/report (if any)" +# Try to extract ingest process id from process list +proc_ids=$(curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/process?reference=${CHANNEL_ID}" | jq -r '.[]?.id' || true) +if [ -n "$proc_ids" ]; then + for id in $proc_ids; do + echo -e "\n--- process: $id ---" + curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/process/${id}/state" | jq '.' || echo "(no state)" + curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/process/${id}/report" | jq '.' || echo "(no report)" + done +else + echo "No processes found for reference ${CHANNEL_ID}" +fi + +echo -e "\n6) MemFS files for channel -> /api/v3/fs/mem?glob=/${CHANNEL_ID}*" +curl -s ${AUTH_HEADER[@]} "${CORE_URL}/api/v3/fs/mem?glob=/%2F${CHANNEL_ID}%2A" | jq '.' || echo "(no response)" + +echo -e "\nHint: Check server logs (node) for [webrtc-relay] and core logs for ffmpeg/process messages. If using Docker, run: docker-compose logs -f" diff --git a/scripts/test-ingress-direct.js b/scripts/test-ingress-direct.js new file mode 100644 index 0000000..c09d912 --- /dev/null +++ b/scripts/test-ingress-direct.js @@ -0,0 +1,97 @@ +'use strict'; +const http = require('http'); +const https = require('https'); +const { IngressClient, IngressInput } = require('/home/xesar/WebstormProjects/restreamer-ui-v2/node_modules/livekit-server-sdk'); + +const LK_API_KEY = 'APIBTqTGxf9htMK'; +const LK_API_SECRET = '0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW'; +const LK_HTTP_URL = 'https://livekit-server.nextream.sytes.net'; +const INGRESS_HOST = '192.168.1.20'; +const INGRESS_PORT = 8088; + +const sdp = [ + 'v=0', 'o=- 0 0 IN IP4 127.0.0.1', 's=-', 't=0 0', + 'm=video 9 UDP/TLS/RTP/SAVPF 96', + 'c=IN IP4 0.0.0.0', + 'a=sendonly', 'a=rtpmap:96 H264/90000', 'a=mid:0', +].join('\r\n') + '\r\n'; + +function post(path, extraHeaders) { + return new Promise((resolve, reject) => { + const req = http.request({ + hostname: INGRESS_HOST, port: INGRESS_PORT, + path, method: 'POST', + headers: { + 'Content-Type': 'application/sdp', + 'Content-Length': Buffer.byteLength(sdp), + ...extraHeaders, + }, + timeout: 8000, + }, (r) => { + let d = ''; + r.on('data', (c) => (d += c)); + r.on('end', () => resolve({ status: r.statusCode, headers: r.headers, body: d.slice(0, 300) })); + }); + req.on('error', reject); + req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); }); + req.write(sdp); + req.end(); + }); +} + +function options(path) { + return new Promise((resolve, reject) => { + const req = http.request({ + hostname: INGRESS_HOST, port: INGRESS_PORT, + path, method: 'OPTIONS', + headers: { 'Access-Control-Request-Method': 'POST' }, + timeout: 5000, + }, (r) => { + let d = ''; + r.on('data', (c) => (d += c)); + r.on('end', () => resolve({ status: r.statusCode, headers: r.headers, body: d.slice(0, 200) })); + }); + req.on('error', reject); + req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); }); + req.end(); + }); +} + +(async () => { + console.log(`Conectando a livekit-ingress en ${INGRESS_HOST}:${INGRESS_PORT}\n`); + + const client = new IngressClient(LK_HTTP_URL, LK_API_KEY, LK_API_SECRET); + const ingress = await client.createIngress(IngressInput.WHIP_INPUT, { + name: 'test-direct', roomName: 'test', participantIdentity: 'obs', participantName: 'OBS', + }); + + const sk = ingress.streamKey; + console.log('stream_key :', sk); + console.log('ingress.url:', ingress.url); + + // OPTIONS + console.log('\n[OPTIONS /w]'); + const o1 = await options('/w').catch(e => ({ status: 'ERR', body: e.message })); + console.log(' status:', o1.status, '| allow:', o1.headers?.allow || '-'); + + console.log('\n[OPTIONS /w/' + sk + ']'); + const o2 = await options('/w/' + sk).catch(e => ({ status: 'ERR', body: e.message })); + console.log(' status:', o2.status, '| allow:', o2.headers?.allow || '-'); + + // POST variants + const variants = [ + { label: 'POST /w (sin auth)', path: '/w', headers: {} }, + { label: 'POST /w/'+sk+' (sk en URL)', path: '/w/'+sk, headers: {} }, + { label: 'POST /w Bearer sk', path: '/w', headers: { Authorization: 'Bearer ' + sk } }, + { label: 'POST /w/'+sk+' Bearer sk (sk en URL + auth)', path: '/w/'+sk, headers: { Authorization: 'Bearer ' + sk } }, + ]; + + for (const v of variants) { + console.log('\n[' + v.label + ']'); + const r = await post(v.path, v.headers).catch(e => ({ status: 'ERR', body: e.message })); + console.log(' status:', r.status, '| body:', r.body?.slice(0, 120)); + } + + await client.deleteIngress(ingress.ingressId).catch(() => {}); + console.log('\nIngress eliminado.'); +})().catch((e) => { console.error(e.message); process.exit(1); }); diff --git a/scripts/test-twirp.js b/scripts/test-twirp.js new file mode 100644 index 0000000..4f0dd34 --- /dev/null +++ b/scripts/test-twirp.js @@ -0,0 +1,44 @@ +'use strict'; +const { AccessToken } = require('../node_modules/livekit-server-sdk'); +const https = require('https'); + +(async () => { + const at = new AccessToken( + 'APIBTqTGxf9htMK', + '0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW', + { ttl: 3600 }, + ); + at.addGrant({ roomCreate: true, roomList: true, roomAdmin: true, ingressAdmin: true }); + const token = await at.toJwt(); + + const body = JSON.stringify({ + inputType: 1, + name: 'test-twirp', + roomName: 'test-room', + participantIdentity: 'obs', + participantName: 'OBS', + }); + + const options = { + hostname: 'livekit-server.nextream.sytes.net', + path: '/twirp/livekit.Ingress/CreateIngress', + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: 'Bearer ' + token, + 'Content-Length': Buffer.byteLength(body), + }, + }; + + const req = https.request(options, (res) => { + let data = ''; + res.on('data', (c) => (data += c)); + res.on('end', () => { + console.log('Status:', res.statusCode); + console.log(data); + }); + }); + req.on('error', (e) => console.error(e.message)); + req.write(body); + req.end(); +})(); diff --git a/scripts/test-whip-e2e.js b/scripts/test-whip-e2e.js new file mode 100644 index 0000000..f47b530 --- /dev/null +++ b/scripts/test-whip-e2e.js @@ -0,0 +1,230 @@ +#!/usr/bin/env node +/** + * E2E: Valida la generación de URL WHIP via LiveKit Ingress. + * + * Ejecuta 3 pruebas en secuencia: + * 1. Conectividad directa al LiveKit Server (HTTPS) + * 2. IngressClient.createIngress() directo (sin pasar por la UI) + * 3. POST /api/whip/info al servidor Node de la UI + * + * Uso: + * node scripts/test-whip-e2e.js + * node scripts/test-whip-e2e.js http://localhost:3000 # UI en otro host + * + * Sin argumentos usa las vars de entorno del docker-compose o sus defaults. + */ +'use strict'; + +const http = require('http'); +const https = require('https'); + +// ── Configuración (mirrors docker-compose.yml) ───────────────────────────── +const LK_API_KEY = process.env.LIVEKIT_API_KEY || 'APIBTqTGxf9htMK'; +const LK_API_SECRET = process.env.LIVEKIT_API_SECRET || '0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW'; +const LK_WS_URL = process.env.LIVEKIT_WS_URL || 'wss://livekit-server.nextream.sytes.net'; +const LK_HTTP_URL = LK_WS_URL.replace(/^wss:\/\//, 'https://').replace(/^ws:\/\//, 'http://'); + +const UI_HOST = (process.argv[2] || 'http://localhost:3002').replace(/\/+$/, ''); +const ROOM = 'e2e-whip-test-' + Date.now(); + +// ── Helpers ──────────────────────────────────────────────────────────────── +let failures = 0; + +function ok(msg) { console.log(` ✓ ${msg}`); } +function fail(msg) { console.error(` ✗ ${msg}`); failures++; } +function section(title) { console.log(`\n━━ ${title} ━━`); } + +function httpRequest(url, { method = 'GET', body, headers = {} } = {}) { + return new Promise((resolve, reject) => { + const parsed = new URL(url); + const lib = parsed.protocol === 'https:' ? https : http; + const raw = body ? JSON.stringify(body) : undefined; + const reqOpts = { + hostname: parsed.hostname, + port: parsed.port || (parsed.protocol === 'https:' ? 443 : 80), + path: parsed.pathname + (parsed.search || ''), + method, + headers: { + ...headers, + ...(raw ? { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(raw) } : {}), + }, + // Allow self-signed certs for local testing + rejectUnauthorized: false, + }; + const req = lib.request(reqOpts, (res) => { + let buf = ''; + res.on('data', (c) => { buf += c; }); + res.on('end', () => resolve({ status: res.statusCode, headers: res.headers, body: buf })); + }); + req.on('error', reject); + if (raw) req.write(raw); + req.end(); + }); +} + +// ── Test 1: Conectividad al LiveKit Server ───────────────────────────────── +async function testLiveKitConnectivity() { + section('Test 1: Conectividad a LiveKit Server'); + console.log(` URL: ${LK_HTTP_URL}`); + try { + const r = await httpRequest(`${LK_HTTP_URL}/`, { method: 'GET' }); + // LiveKit devuelve 404 o 405 en /, pero cualquier respuesta HTTP confirma conectividad + if (r.status < 600) { + ok(`LiveKit Server responde HTTP ${r.status} (conectividad OK)`); + } else { + fail(`Respuesta inesperada: ${r.status}`); + } + } catch (err) { + fail(`No se puede conectar a ${LK_HTTP_URL}: ${err.message}`); + console.log(' → Verifica que livekit-server.nextream.sytes.net sea accesible'); + } +} + +// ── Test 2: IngressClient directo (bypass UI) ────────────────────────────── +async function testIngressClientDirect() { + section('Test 2: IngressClient.createIngress() directo'); + console.log(` API Key: ${LK_API_KEY}`); + console.log(` LK Server: ${LK_HTTP_URL}`); + console.log(` Room: ${ROOM}`); + + // Construir JWT manualmente usando mismo algoritmo que livekit-server-sdk + // para aislar si el problema es de credenciales o de config del server. + try { + const { IngressClient, IngressInput } = require(require('path').resolve(__dirname, '../server/node_modules/livekit-server-sdk')); + const client = new IngressClient(LK_HTTP_URL, LK_API_KEY, LK_API_SECRET); + const ingress = await client.createIngress(IngressInput.WHIP_INPUT, { + name: 'e2e-test', + roomName: ROOM, + participantIdentity: 'e2e-obs', + participantName: 'E2E OBS', + }); + ok(`createIngress() OK → ingressId: ${ingress.ingressId}`); + ok(`streamKey: ${ingress.streamKey}`); + ok(`ingress.url (reportada por LiveKit): ${ingress.url}`); + + // Cleanup: intentar borrar el ingress creado + try { + await client.deleteIngress(ingress.ingressId); + ok(`Ingress de prueba eliminado`); + } catch (_) {} + + return ingress; + } catch (err) { + fail(`createIngress() falló: ${err.message}`); + if (err.message.includes('401') || err.message.includes('Unauthorized') || err.message.includes('JWT')) { + console.log('\n ── Diagnóstico JWT ───────────────────────────────────────'); + console.log(' El error 401/JWT indica que las credenciales API no coinciden'); + console.log(' con las que tiene configurado el LiveKit Server.\n'); + console.log(' Verifica en tu livekit-server.yaml:'); + console.log(' key_file: '); + console.log(' o'); + console.log(' keys:'); + console.log(` ${LK_API_KEY}: `); + console.log(`\n El secret configurado en la UI es: ${LK_API_SECRET}`); + console.log(' Debe coincidir EXACTAMENTE con el que tiene livekit-server.'); + } + if (err.message.includes('not found') || err.message.includes('ENOTFOUND')) { + console.log(' → El hostname no resuelve. Verifica DNS / VPN.'); + } + return null; + } +} + +// ── Test 3: POST /api/whip/info via Node server ──────────────────────────── +async function testWhipInfoEndpoint() { + section(`Test 3: POST ${UI_HOST}/api/whip/info`); + try { + const r = await httpRequest(`${UI_HOST}/api/whip/info`, { + method: 'POST', + body: { room: ROOM, identity: 'e2e-test', name: 'E2E Test' }, + }); + + let data; + try { data = JSON.parse(r.body); } catch { data = { _raw: r.body }; } + + if (r.status === 200) { + ok(`HTTP 200`); + ok(`whipUrl: ${data.whipUrl}`); + ok(`streamKey: ${data.streamKey}`); + ok(`ingressId: ${data.ingressId}`); + + // Validaciones de la URL + try { + const u = new URL(data.whipUrl); + ok(`whipUrl es URL válida (protocol: ${u.protocol})`); + if (data.whipUrl.includes('192.168.')) { + fail(`whipUrl contiene IP privada — OBS externo no puede acceder`); + } else { + ok(`whipUrl no contiene IP privada`); + } + if (data.whipUrl.endsWith(data.streamKey)) { + ok(`whipUrl termina en streamKey`); + } else { + fail(`whipUrl NO termina en streamKey (verifica la construcción)`); + } + } catch { + fail(`whipUrl no es URL válida: ${data.whipUrl}`); + } + } else if (r.status === 404 || r.status === 405) { + fail(`HTTP ${r.status} — la ruta /api/whip/info no existe en el servidor`); + console.log(' → Verifica que el servidor Node (port 3002) tenga la ruta registrada'); + console.log(' → Y que Caddy tenga el bloque "handle /api/whip/*"'); + } else { + fail(`HTTP ${r.status}: ${JSON.stringify(data)}`); + } + } catch (err) { + fail(`Request falló: ${err.message}`); + console.log(` → Verifica que el servidor esté corriendo en ${UI_HOST}`); + } +} + +// ── Test 4: Proxy Caddy /api/whip/* (si se pasa URL del UI en :3000) ─────── +async function testCaddyProxy() { + if (!process.argv[2]) return; // Solo si se especificó UI_HOST explícitamente + section(`Test 4: Caddy proxy POST ${process.argv[2]}/api/whip/info`); + try { + const r = await httpRequest(`${process.argv[2]}/api/whip/info`, { + method: 'POST', + body: { room: ROOM + '-caddy', identity: 'e2e-caddy', name: 'E2E Caddy' }, + }); + const data = JSON.parse(r.body).catch?.() || JSON.parse(r.body); + if (r.status === 200) { + ok(`Caddy proxy OK → whipUrl: ${data.whipUrl}`); + } else { + fail(`Caddy proxy HTTP ${r.status}: ${r.body.slice(0, 200)}`); + } + } catch (err) { + fail(`Caddy proxy error: ${err.message}`); + } +} + +// ── Main ─────────────────────────────────────────────────────────────────── +(async () => { + console.log('\n╔══════════════════════════════════════╗'); + console.log('║ WHIP Ingress E2E Test Suite ║'); + console.log('╚══════════════════════════════════════╝'); + console.log(` Fecha: ${new Date().toISOString()}`); + + // Check livekit-server-sdk disponible (busca en server/node_modules) + const sdkPath = require('path').resolve(__dirname, '../server/node_modules/livekit-server-sdk'); + try { + require(sdkPath); + } catch { + console.error('\n✗ livekit-server-sdk no encontrado en server/node_modules.'); + console.error(' Ejecuta: cd server && npm install'); + process.exit(1); + } + + await testLiveKitConnectivity(); + await testIngressClientDirect(); + await testWhipInfoEndpoint(); + await testCaddyProxy(); + + console.log('\n━━ Resultado final ━━'); + if (failures === 0) { + console.log(' ✅ TODOS los tests pasaron\n'); + } else { + console.log(` ❌ ${failures} test(s) fallaron — revisa los errores arriba\n`); + process.exit(1); + } +})(); diff --git a/scripts/test-whip-obs-e2e.js b/scripts/test-whip-obs-e2e.js new file mode 100644 index 0000000..fae492c --- /dev/null +++ b/scripts/test-whip-obs-e2e.js @@ -0,0 +1,299 @@ +#!/usr/bin/env node +/** + * E2E: Valida que la URL WHIP generada para OBS funcione correctamente. + * + * Pruebas: + * 1. Crear Ingress en LiveKit (Twirp HTTP API, igual que el browser) + * 2. Construir la URL pública (djmaster.../w/) + * 3. OPTIONS al endpoint WHIP — OBS hace esto primero para verificar compatibilidad + * 4. POST al endpoint WHIP — simula el inicio de sesión de OBS + * 5. Verificar que el proxy Caddy /w/* reenvía al livekit-ingress real + * + * Uso: + * node scripts/test-whip-obs-e2e.js + */ +'use strict'; + +const http = require('http'); +const https = require('https'); +const crypto = require('crypto'); + +// ── Config ───────────────────────────────────────────────────────────────── +const LK_API_KEY = process.env.LIVEKIT_API_KEY || 'APIBTqTGxf9htMK'; +const LK_API_SECRET = process.env.LIVEKIT_API_SECRET || '0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW'; +const LK_WS_URL = process.env.LIVEKIT_WS_URL || 'wss://livekit-server.nextream.sytes.net'; +const LK_HTTP_URL = LK_WS_URL.replace(/^wss:\/\//, 'https://').replace(/^ws:\/\//, 'http://'); +const UI_BASE_URL = process.env.UI_BASE_URL || 'https://djmaster.nextream.sytes.net'; +const ROOM = 'e2e-obs-' + Date.now(); + +// ── Helpers ──────────────────────────────────────────────────────────────── +let failures = 0; +const ok = (msg) => console.log(` ✓ ${msg}`); +const fail = (msg) => { console.error(` ✗ ${msg}`); failures++; }; +const info = (msg) => console.log(` ℹ ${msg}`); +const section = (t) => console.log(`\n━━━━ ${t} ━━━━`); + +function request(url, { method = 'GET', headers = {}, body } = {}) { + return new Promise((resolve, reject) => { + const u = new URL(url); + const lib = u.protocol === 'https:' ? https : http; + const raw = body ? (typeof body === 'string' ? body : JSON.stringify(body)) : undefined; + const opts = { + hostname: u.hostname, + port: u.port || (u.protocol === 'https:' ? 443 : 80), + path: u.pathname + (u.search || ''), + method, + headers: { + ...headers, + ...(raw ? { 'Content-Length': Buffer.byteLength(raw) } : {}), + }, + rejectUnauthorized: false, + timeout: 10000, + }; + const req = lib.request(opts, (res) => { + let buf = ''; + res.on('data', (c) => (buf += c)); + res.on('end', () => resolve({ status: res.statusCode, headers: res.headers, body: buf })); + }); + req.on('error', reject); + req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); }); + if (raw) req.write(raw); + req.end(); + }); +} + +// Genera JWT HS256 con node:crypto (solo para el script Node — no para el browser) +function buildToken() { + const b64url = (o) => + Buffer.from(JSON.stringify(o)) + .toString('base64') + .replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_'); + const now = Math.floor(Date.now() / 1000); + const header = b64url({ alg: 'HS256', typ: 'JWT' }); + const payload = b64url({ + iss: LK_API_KEY, sub: 'e2e-test', + iat: now, exp: now + 3600, + video: { roomCreate: true, roomList: true, roomAdmin: true, ingressAdmin: true }, + }); + const sig = crypto + .createHmac('sha256', LK_API_SECRET) + .update(`${header}.${payload}`) + .digest('base64') + .replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_'); + return `${header}.${payload}.${sig}`; +} + +// ── Test 1: Crear Ingress via Twirp (mismo path que el browser) ──────────── +async function testCreateIngress() { + section('Test 1 — Crear Ingress (Twirp HTTP API)'); + info(`LiveKit Server: ${LK_HTTP_URL}`); + info(`Room: ${ROOM}`); + + const token = buildToken(); + let ingress; + + try { + const r = await request(`${LK_HTTP_URL}/twirp/livekit.Ingress/CreateIngress`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, + body: { inputType: 1, name: 'e2e-obs', roomName: ROOM, + participantIdentity: 'obs-whip', participantName: 'OBS' }, + }); + + if (r.status !== 200) { + fail(`Twirp CreateIngress → HTTP ${r.status}: ${r.body.slice(0, 200)}`); + if (r.status === 401) info('→ JWT inválido o credenciales incorrectas'); + return null; + } + + ingress = JSON.parse(r.body); + ok(`Ingress creado → ingress_id: ${ingress.ingress_id}`); + ok(`stream_key: ${ingress.stream_key}`); + ok(`url interna reportada: ${ingress.url}`); + } catch (err) { + fail(`Twirp request falló: ${err.message}`); + return null; + } + + return ingress; +} + +// ── Test 2: Construir URL pública ────────────────────────────────────────── +function testBuildUrl(ingress) { + section('Test 2 — Construir URL pública WHIP'); + if (!ingress) { fail('Sin ingress (test anterior falló)'); return null; } + + const whipUrl = `${UI_BASE_URL}/w/${ingress.stream_key}`; + info(`UI_BASE_URL: ${UI_BASE_URL}`); + info(`stream_key: ${ingress.stream_key}`); + ok(`WHIP URL → ${whipUrl}`); + + try { + const u = new URL(whipUrl); + ok(`URL válida (protocol: ${u.protocol}, host: ${u.hostname})`); + if (whipUrl.includes('192.168.') || whipUrl.includes('localhost')) { + fail('La URL contiene IP/host privado — OBS externo NO puede conectar'); + } else { + ok('URL no contiene IPs privadas'); + } + if (u.pathname.endsWith(ingress.stream_key)) { + ok(`Pathname termina en stream_key (/w/${ingress.stream_key})`); + } else { + fail(`Pathname inesperado: ${u.pathname}`); + } + } catch { + fail(`URL malformada: ${whipUrl}`); + return null; + } + + return whipUrl; +} + +// ── Test 3: OPTIONS al endpoint WHIP (OBS discovery) ────────────────────── +async function testWhipOptions(whipUrl) { + section('Test 3 — OPTIONS al endpoint WHIP (OBS discovery)'); + if (!whipUrl) { fail('Sin URL (test anterior falló)'); return; } + info(`URL: ${whipUrl}`); + + try { + const r = await request(whipUrl, { + method: 'OPTIONS', + headers: { + 'Access-Control-Request-Method': 'POST', + 'Access-Control-Request-Headers': 'content-type', + Origin: UI_BASE_URL, + }, + }); + + info(`HTTP ${r.status}`); + info(`Allow: ${r.headers['allow'] || r.headers['Access-Control-Allow-Methods'] || '(no Allow header)'}`); + info(`Content-Type: ${r.headers['content-type'] || '(none)'}`); + + // livekit-ingress responde 200 o 204 a OPTIONS + if ([200, 204, 405].includes(r.status)) { + ok(`OPTIONS respondió ${r.status} — el proxy Caddy /w/* está activo`); + } else if (r.status === 404) { + fail(`404 — Caddy no tiene el bloque "handle /w/*" o livekit-ingress no responde`); + } else if (r.status === 502 || r.status === 503) { + fail(`${r.status} — Caddy no puede alcanzar livekit-ingress (${r.body.slice(0,100)})`); + } else { + info(`Respuesta no estándar ${r.status} — puede ser normal si livekit-ingress no implementa OPTIONS`); + } + + // CORS check (necesario si el browser llama directamente) + const acao = r.headers['access-control-allow-origin']; + if (acao) { + ok(`CORS: Access-Control-Allow-Origin: ${acao}`); + } else { + info('Sin header CORS (esperado si OBS no usa CORS)'); + } + } catch (err) { + fail(`OPTIONS request falló: ${err.message}`); + if (err.message === 'timeout') { + info('→ El host no responde en 10s — ¿está Caddy corriendo? ¿el dominio resuelve?'); + } + } +} + +// ── Test 4: POST al endpoint WHIP (simula inicio de sesión de OBS) ───────── +async function testWhipPost(whipUrl) { + section('Test 4 — POST al endpoint WHIP (SDP offer simulado)'); + if (!whipUrl) { fail('Sin URL (test anterior falló)'); return; } + info(`URL: ${whipUrl}`); + + // SDP mínimo válido — suficiente para que livekit-ingress procese la petición + const sdpOffer = [ + 'v=0', + 'o=- 0 0 IN IP4 127.0.0.1', + 's=-', + 't=0 0', + 'a=group:BUNDLE 0', + 'm=video 9 UDP/TLS/RTP/SAVPF 96', + 'c=IN IP4 0.0.0.0', + 'a=sendonly', + 'a=rtpmap:96 H264/90000', + 'a=mid:0', + ].join('\r\n') + '\r\n'; + + try { + const r = await request(whipUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/sdp' }, + body: sdpOffer, + }); + + info(`HTTP ${r.status}`); + info(`Content-Type: ${r.headers['content-type'] || '(none)'}`); + info(`Location: ${r.headers['location'] || '(none)'}`); + + if (r.status === 201) { + ok('201 Created — OBS puede conectar correctamente ✅'); + info(`SDP answer (primeros 200 chars): ${r.body.slice(0, 200)}`); + } else if (r.status === 422 || r.status === 400) { + // Error de SDP esperado con nuestro SDP mínimo — pero confirma que el endpoint existe + ok(`${r.status} — Endpoint WHIP alcanzado (SDP inválido esperado en e2e)`); + info('OBS enviará un SDP real completo — esto es normal en tests'); + } else if (r.status === 404) { + fail('404 — La ruta /w/ no existe en livekit-ingress'); + info('→ ¿El stream_key es válido? ¿El Ingress fue creado con éxito?'); + } else if (r.status === 405) { + fail('405 — El endpoint no acepta POST (Caddy file_server interviniendo?)'); + } else if (r.status === 502 || r.status === 503) { + fail(`${r.status} — Caddy no alcanza livekit-ingress`); + info('→ Verifica LIVEKIT_INGRESS_HOST en docker-compose.yml'); + info('→ Verifica que livekit-ingress esté corriendo en 192.168.1.20:8088'); + } else { + info(`Respuesta ${r.status}: ${r.body.slice(0, 200)}`); + } + } catch (err) { + fail(`POST request falló: ${err.message}`); + } +} + +// ── Test 5: Limpiar ingress de prueba ────────────────────────────────────── +async function cleanupIngress(ingressId) { + section('Cleanup — Eliminar Ingress de prueba'); + if (!ingressId) { info('Sin ingress que limpiar'); return; } + + const token = buildToken(); + try { + const r = await request(`${LK_HTTP_URL}/twirp/livekit.Ingress/DeleteIngress`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, + body: { ingress_id: ingressId }, + }); + if (r.status === 200) { + ok(`Ingress ${ingressId} eliminado`); + } else { + info(`Delete respondió ${r.status} (no crítico)`); + } + } catch (err) { + info(`No se pudo eliminar: ${err.message}`); + } +} + +// ── Main ─────────────────────────────────────────────────────────────────── +(async () => { + console.log('╔════════════════════════════════════════════════════╗'); + console.log('║ WHIP OBS End-to-End Test Suite ║'); + console.log('╚════════════════════════════════════════════════════╝'); + console.log(`\n LK Server: ${LK_HTTP_URL}`); + console.log(` UI Base: ${UI_BASE_URL}`); + console.log(` API Key: ${LK_API_KEY}`); + + const ingress = await testCreateIngress(); + const whipUrl = testBuildUrl(ingress); + await testWhipOptions(whipUrl); + await testWhipPost(whipUrl); + await cleanupIngress(ingress?.ingress_id); + + console.log('\n' + '─'.repeat(54)); + if (failures === 0) { + console.log(' ✅ Todos los tests pasaron'); + } else { + console.log(` ❌ ${failures} test(s) fallaron`); + } + console.log('─'.repeat(54) + '\n'); + + process.exit(failures > 0 ? 1 : 0); +})(); diff --git a/scripts/test-whip-post.js b/scripts/test-whip-post.js new file mode 100644 index 0000000..416f564 --- /dev/null +++ b/scripts/test-whip-post.js @@ -0,0 +1,58 @@ +'use strict'; +const https = require('https'); +const { IngressClient, IngressInput } = require('/home/xesar/WebstormProjects/restreamer-ui-v2/node_modules/livekit-server-sdk'); + +const LK_API_KEY = 'APIBTqTGxf9htMK'; +const LK_API_SECRET = '0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW'; +const LK_HTTP_URL = 'https://livekit-server.nextream.sytes.net'; +const CADDY_HOST = 'djmaster.nextream.sytes.net'; + +const sdp = [ + 'v=0', 'o=- 0 0 IN IP4 127.0.0.1', 's=-', 't=0 0', + 'm=video 9 UDP/TLS/RTP/SAVPF 96', + 'c=IN IP4 0.0.0.0', + 'a=sendonly', 'a=rtpmap:96 H264/90000', 'a=mid:0', +].join('\r\n') + '\r\n'; + +function post(path, extraHeaders) { + return new Promise((resolve, reject) => { + const req = https.request({ + hostname: CADDY_HOST, path, method: 'POST', + headers: { + 'Content-Type': 'application/sdp', + 'Content-Length': Buffer.byteLength(sdp), + ...extraHeaders, + }, + rejectUnauthorized: false, timeout: 10000, + }, (r) => { + let d = ''; + r.on('data', (c) => (d += c)); + r.on('end', () => resolve({ status: r.statusCode, body: d.slice(0, 200) })); + }); + req.on('error', reject); + req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); }); + req.write(sdp); + req.end(); + }); +} + +(async () => { + const client = new IngressClient(LK_HTTP_URL, LK_API_KEY, LK_API_SECRET); + const ingress = await client.createIngress(IngressInput.WHIP_INPUT, { + name: 'test-whip-post', roomName: 'test', participantIdentity: 'obs', participantName: 'OBS', + }); + + console.log('stream_key :', ingress.streamKey); + console.log('ingress.url:', ingress.url); + + console.log('\n[A] POST /w/ (stream_key in URL path)'); + const a = await post('/w/' + ingress.streamKey, {}); + console.log(' status:', a.status, '| body:', a.body); + + console.log('\n[B] POST /w (Authorization: Bearer )'); + const b = await post('/w', { Authorization: 'Bearer ' + ingress.streamKey }); + console.log(' status:', b.status, '| body:', b.body); + + await client.deleteIngress(ingress.ingressId).catch(() => {}); + console.log('\nIngress eliminado'); +})().catch((e) => { console.error(e.message); process.exit(1); }); diff --git a/scripts/trace_probe.sh b/scripts/trace_probe.sh new file mode 100644 index 0000000..b244642 --- /dev/null +++ b/scripts/trace_probe.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Trace probe script for Restreamer Core +# Usage: ./scripts/trace_probe.sh +# Reads REACT_APP_CORE_URL from .env if present. Optionally set API_TOKEN env var. + +# load .env if exists (simple parser) +if [ -f .env ]; then + export $(grep -v '^#' .env | xargs) +fi + +CORE_URL=${REACT_APP_CORE_URL:-http://localhost:8080} +API_TOKEN=${API_TOKEN:-} + +if [ "$#" -lt 2 ]; then + echo "Usage: $0 " + echo "Example: $0 channel1 http://example.com/stream.m3u8" + exit 2 +fi + +CHANNEL_ID=$1 +SOURCE_URL=$2 +PROBE_ID="${CHANNEL_ID}_probe_$(date +%s)" + +# Build JSON payload for the probe process +read -r -d '' PAYLOAD </report if you need more details." diff --git a/server/index.js b/server/index.js index cdc1269..27d7cd4 100644 --- a/server/index.js +++ b/server/index.js @@ -1,5 +1,21 @@ 'use strict'; +// Carga .env desde la raíz del proyecto (../../.env relativo a server/) +// No sobreescribe vars ya definidas en el entorno (docker-compose tiene prioridad). +const dotenvPath = require('path').resolve(__dirname, '../.env'); +if (require('fs').existsSync(dotenvPath)) { + const lines = require('fs').readFileSync(dotenvPath, 'utf8').split('\n'); + for (const line of lines) { + const trimmed = line.trim(); + if (!trimmed || trimmed.startsWith('#')) continue; + const eqIdx = trimmed.indexOf('='); + if (eqIdx < 1) continue; + const key = trimmed.slice(0, eqIdx).trim(); + const val = trimmed.slice(eqIdx + 1).trim().replace(/^"|"$/g, '').replace(/^'|'$/g, ''); + if (!(key in process.env)) process.env[key] = val; + } +} + const express = require('express'); const cors = require('cors'); const path = require('path'); @@ -10,7 +26,7 @@ const crypto = require('crypto'); const { spawn } = require('child_process'); const WebSocket = require('ws'); const { WebSocketServer } = require('ws'); -const { AccessToken, RoomServiceClient } = require('livekit-server-sdk'); +const { AccessToken, RoomServiceClient, IngressClient, IngressInput } = require('livekit-server-sdk'); const PORT = parseInt(process.env.FB_SERVER_PORT || '3002', 10); const DATA_DIR = process.env.FB_DATA_DIR @@ -32,6 +48,14 @@ const RTMP_HOST = process.env.RTMP_HOST || '127.0.0.1'; const RTMP_PORT = process.env.RTMP_PORT || '1935'; const RTMP_APP = process.env.RTMP_APP || 'live'; +// ── LiveKit Ingress config ───────────────────────────────────────────────────── +// URL interna del servicio livekit-ingress (solo accesible desde el servidor). +// OBS nunca la ve — la URL pública es https:///w/ +const LK_INGRESS_INTERNAL_URL = (process.env.LIVEKIT_INGRESS_INTERNAL_URL || '').replace(/\/+$/, ''); +// URL pública del UI (para construir la WHIP URL que ve OBS). +// Si está vacío se auto-detecta del Host header en cada request. +const UI_BASE_URL = (process.env.UI_BASE_URL || '').replace(/\/+$/, ''); + // ───────────────────────────────────────────────────────────────────────────── // Schema unificado de config.json // ───────────────────────────────────────────────────────────────────────────── @@ -344,6 +368,64 @@ app.get('/health', (_, res) => { res.json({ ok: true, config: CFG_PATH, port: PORT, ts: new Date().toISOString() }); }); +// ═══════════════════════════════════════════════════════════════════════════════ +// WHIP INGRESS +// Genera una sesión LiveKit Ingress (WHIP_INPUT) y devuelve al browser +// la URL pública en el mismo dominio, p.ej.: +// https://djmaster.nextream.sytes.net/w/ +// Caddy hace proxy de /w/* hacia el servicio livekit-ingress interno. +// OBS lo usa como si fuera un RTMP push: sin CORS, sin IP privada expuesta. +// ═══════════════════════════════════════════════════════════════════════════════ +app.post('/api/whip/info', async (req, res) => { + if (!LK_API_KEY || !LK_API_SECRET) { + return res.status(503).json({ error: 'LiveKit API credentials not configured' }); + } + if (!LK_WS_URL) { + return res.status(503).json({ error: 'LIVEKIT_WS_URL not configured' }); + } + const { room, identity = 'obs_studio', name = 'OBS Studio' } = req.body || {}; + if (!room) return res.status(400).json({ error: 'room requerido' }); + + // URL pública del UI: env var o derivada del Host header + const publicBase = UI_BASE_URL || + `${req.headers['x-forwarded-proto'] || req.protocol}://${req.headers['x-forwarded-host'] || req.headers.host}`; + + try { + // IngressClient debe apuntar al LiveKit SERVER (API REST, puerto 7880). + // NO al servicio livekit-ingress (puerto 8088) — ese es solo para media. + // LK_HTTP_URL ya convierte wss:// → https:// + const client = new IngressClient(LK_HTTP_URL, LK_API_KEY, LK_API_SECRET); + const ingress = await client.createIngress(IngressInput.WHIP_INPUT, { + name, + roomName: room, + participantIdentity: identity, + participantName: name, + }); + + // Construir URL pública: mismo dominio del UI, ruta /w/ + // Caddy hace proxy de /w/* → livekit-ingress interno + const whipUrl = `${publicBase}/w/${ingress.streamKey}`; + + console.log(`[whip/info] ✅ Ingress creado: room="${room}" → ${whipUrl}`); + res.json({ + whipUrl, + streamKey: ingress.streamKey, + ingressId: ingress.ingressId, + identity, + room, + obsInstructions: { + service: 'Custom (WHIP)', + url: whipUrl, + streamKey: '(dejar vacía)', + note: 'OBS → Configuración → Emisión → Servicio: Custom (WHIP) → Servidor: ', + }, + }); + } catch (err) { + console.error('[whip/info] ERROR:', err.message); + res.status(500).json({ error: err.message }); + } +}); + // ═════════════════════════════════════════════════════════════════════════════ // LIVEKIT // ═════════════════════════════════════════════════════════════════════════════ diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..4fd26d0 --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,985 @@ +{ + "name": "restreamer-ui-server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "restreamer-ui-server", + "version": "1.0.0", + "dependencies": { + "cors": "^2.8.5", + "express": "^4.18.2", + "livekit-server-sdk": "^2.15.0", + "ws": "^8.19.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.1.tgz", + "integrity": "sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, + "node_modules/@livekit/protocol": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@livekit/protocol/-/protocol-1.45.0.tgz", + "integrity": "sha512-z22Ej7RRBFm5uVZpU7kBHOdDwZV6Hz+1crCOrse2g7yx8TcHXG0bKnOKwyN/meD233nEDlU2IHNCoT8Vq8lvtg==", + "license": "Apache-2.0", + "dependencies": { + "@bufbuild/protobuf": "^1.10.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-9.1.3.tgz", + "integrity": "sha512-Rircqi9ch8AnZscQcsA1C47NFdaO3wukpmIRzYcDOrmvgt78hM/sj5pZhZNec2NM12uk5vTwRHZ4anGcrC4ZTg==", + "license": "MIT", + "dependencies": { + "camelcase": "^8.0.0", + "map-obj": "5.0.0", + "quick-lru": "^6.1.1", + "type-fest": "^4.3.2" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/jose": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", + "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/livekit-server-sdk": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/livekit-server-sdk/-/livekit-server-sdk-2.15.0.tgz", + "integrity": "sha512-HmzjWnwEwwShu8yUf7VGFXdc+BuMJR5pnIY4qsdlhqI9d9wDgq+4cdTEHg0NEBaiGnc6PCOBiaTYgmIyVJ0S9w==", + "license": "Apache-2.0", + "dependencies": { + "@bufbuild/protobuf": "^1.10.1", + "@livekit/protocol": "^1.43.1", + "camelcase-keys": "^9.0.0", + "jose": "^5.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/map-obj": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.0.tgz", + "integrity": "sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-lru": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz", + "integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + } + } +} diff --git a/src/locales/da/messages.js b/src/locales/da/messages.js index d6005ed..d2ac74f 100644 --- a/src/locales/da/messages.js +++ b/src/locales/da/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Kompatibilitetsliste\",\"TkRUk0\":\"<0>Se probe data\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Skift til grænsefladen for mål-Restreamer.\",\"2JnpXL\":\"2. Opret en ny kanal, og vælg RTMP- eller SRT-server.\",\"YidyJl\":\"3. Kopier URL-adressen, og indsæt den i feltet \\\"Måladresse\\\".\",\"X1MZZp\":\"6 (+ garanteret at starte med en nøgleramme)\",\"JVJkxU\":\"7 (+ fragmenteret MP4-format)\",\"ssjjFt\":\"Afbryd\",\"uyJsf6\":\"Om\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Tilføj\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Tilføj eksterne widgets og stilarter til publikationswebstedet. Du kan finde nogle eksempler på hjælpesiden.\",\"tsJWSj\":\"Tilføj ny kanal\",\"PLTLdv\":\"Tilføj Publicering\",\"35l+l6\":[\"Tilføj: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adresse\",\"8M7jVn\":\"Adresse til baggrunds billede.\",\"Vu9yiv\":\"Adresse HTTP anmodninger.\",\"AQDW5r\":\"Adresse HTTPS anmodninger.\",\"tPrmjP\":\"Adresse:\",\"owt8Ow\":\"Du kan justere farverne og baggrunden på publikationssiden som du vil.\",\"uNXGDK\":\"Avanceret overvågning\",\"VNgKZz\":\"Avanceret setup\",\"eiGNYb\":\"Avanceret opsætning\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Advarsel via e-mail\",\"N40H+G\":\"Alle\",\"Hw5q+W\":\"Alle rammer\",\"f2zxGk\":\"Alle vigtige systemindstillinger.\",\"lle3bd\":\"Tillad alle henvisninger\",\"bgFbIB\":\"Gør det muligt at tælle, hvor mange seere streamet har.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"En miljøvariabel fastsætter denne værdi.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API endpoint ikke fundet. Indstillingerne er ikke gemt.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Program\",\"xnCC/2\":\"Er du sikker på, at du vil afbryde guiden?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Lyd\",\"n3RW8K\":\"Audio enhed\",\"sYyYfE\":\"Lyd enhed\",\"2he4Ra\":\"Lyd fra enhed\",\"MvY15a\":\"Lydindstillinger\",\"NoLJ6g\":\"Lydopsætning\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 er i øjeblikket ikke tilgængelig, fordi denne grænseflade er indlæst fra en usikker oprindelse.\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"Forfatter\",\"NJgJy9\":\"Godkendelse\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Automatisk oprydning af alle mediedata\",\"jT50Rz\":\"Auto afspil\",\"csDS2L\":\"Tilgængelig\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Tilbage\",\"1KfyNL\":\"Baggrundsfarver\",\"23c2Uw\":\"Baggrundsbillede\",\"r0bEmM\":\"Backup-server\",\"JFjQhH\":\"Backup-strøm\",\"bkJ+QE\":\"Backup-URL\",\"OlXThP\":\"Båndbredde\",\"QYaaBO\":\"Båndbrede kontrol\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Grundlæggende\",\"YR04fn\":\"Bip-faktor\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Blokcache-typer\",\"zOC7cT\":\"blå\",\"359XuU\":\"Nederste felt\",\"aC3kWW\":\"Beskriv kort, hvad publikum vil se under live-streamingen.\",\"SehDNd\":\"brun\",\"Ptp9MF\":\"Knapfarve\",\"Lp4WkO\":\"Efter højde\",\"IeV/4P\":\"Af bredde\",\"KxP5AO\":\"Cache for filer på /data.\",\"qX8ffo\":\"Cache-tid (sekunder)\",\"4dRAku\":\"Cache-typer\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Buffer til opsamling\",\"aL2+1d\":\"Fang klik\",\"EOfLfP\":\"Fang markør\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" gemt\"],\"lfFsZ4\":\"Kanaler\",\"WMCwmR\":\"Check opdatering\",\"vM6kpc\":\"Check nødvendigheder\",\"Wzgqhl\":\"Vælg en video stream\",\"JpTR0/\":\"Vælg en audio stream\",\"BTNyrQ\":\"Vælg input enhed...\",\"f9QIui\":\"Vælg en inputstrøm ...\",\"/Y6zrN\":\"Vælg mellem CFR og VFR (Auto)\",\"gObOjh\":\"Vælg codec ...\",\"v7lrmU\":\"Vælg lejer ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Luk\",\"r8NEPc\":\"Code injection\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Farve\",\"sjVfrA\":\"Kommando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Konfigurer\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Bekræft password\",\"iSLIjg\":\"Forbind\",\"NL3Gev\":\"Tilsluttet enhed\",\"ywAvGr\":\"Forbundet siden <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Forbinder ...\",\"y6+BXa\":\"Oprettelse af forbindelse til Restreamer Core ...\",\"Td5lm6\":\"Oprettelse af forbindelse til Restreamer Core mislykkedes, sandsynligvis på grund af blandet indhold.\",\"awE5Py\":\"Konstant billedfrekvens (CFR)\",\"DT0Af/\":\"Konstant kvantiseringstilstand (-1 til 255).\",\"4b3oEV\":\"Indhold\",\"U34RbB\":\"Indhold URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU-grænse (procent)\",\"uW5tVo\":\"Grænse for CPU-brug i procent (0-100%), 0 for ubegrænset.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Tilrettet...\",\"kH80Lk\":\"Brugerdefineret lydenhed\",\"fW1XQD\":\"Brugerdefineret lydindeks\",\"bzREp0\":\"Brugerdefineret bitrate (kbit/s)\",\"w9oKek\":\"Indsprøjtning af specialkode\",\"jYaP01\":\"Brugerdefineret forsinkelse\",\"2Gw+zZ\":\"Brugerdefineret enhed\",\"WCXGNp\":\"Brugerdefineret format\",\"ZkpZ06\":\"Brugerdefineret framerate\",\"1OXCgh\":\"Brugerdefineret JSON-konfiguration for datarhei Core.\",\"kl56NX\":\"Brugerdefineret keyframe-interval\",\"prIqWa\":\"Brugerdefineret layout\",\"HSB43e\":\"Brugerdefineret prøvetagning (Hz)\",\"Efe3BI\":\"Brugerdefineret skala\",\"E/2KdS\":\"Custom size\",\"Se794B\":\"Brugerdefineret videoenhed\",\"aqv915\":\"Brugerdefineret videoindeks\",\"v8OlX8\":\"Data kopieret til udklipsholderen\",\"J/VBax\":\"Død farve\",\"d2TTfK\":\"Decibel (dB)\",\"W034oz\":\"Afkoder\",\"ovBPCi\":\"Almindelig\",\"gFwPaj\":[\"Standard \",[\"0\"]],\"JQnkrI\":[\"Standard \",[\"0\"],\" (\",[\"1\"],\" sekunder)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Deinterlace-tilstand\",\"aro6lN\":\"Deinterlace paritet\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Forsinkelse\",\"qBC9g9\":\"Forsinkelse (ms)\",\"cnGeoo\":\"Fjern\",\"ScK3zL\":\"Det er ikke muligt at slette en publikationstjeneste. Offentliggørelsen stopper straks.\",\"cEx3oI\":\"Leveringsmåde\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Beskrivelse\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Enhed\",\"+K0AvT\":\"Afbrudt\",\"miKA/E\":\"Afbryd forbindelsen og fortsæt\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Afbryder...\",\"sPFHpI\":\"Disk\",\"qczNPP\":\"Disk-cache\",\"PUqOjv\":\"Diskopbevaring\",\"uTwT/l\":\"Ønsker du virkelig at genstarte programmet nu?\",\"FgxcNT\":[\"Ønsker du at slette \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Vil du fjerne \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Ønsker du at afbryde forbindelsen til \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Dokumenter\",\"TvY/XA\":\"Dokumentation\",\"jPtEhI\":\"Dob. rammer\",\"diaSRH\":\"Hvert felt\",\"u2SnNO\":\"Hver ramme\",\"ePK91l\":\"Ret\",\"INCFjw\":\"Rediger lyd- og videokilderne til livestreamet. Tilføj en beskrivelse, og indstil den ønskede indholdslicens.\",\"+7Wr2a\":[\"Ret: \",[\"title\"]],\"e3GLqI\":\"EDIT: Spiller\",\"dTPDyf\":\"EDIT: Websted for offentliggørelse\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"E-mail\",\"KKBlUU\":\"Indlejre\",\"PaQ3df\":\"Aktiver\",\"No9svk\":\"Aktiver et periodisk bip hvert sekund med denne værdi gange bærefrekvensen\",\"R7s0Th\":\"Aktiver Backup stream\",\"xA5zBY\":\"Aktiver nørdstatistik\",\"r0zP4o\":\"Aktiver nu\",\"JwR989\":\"Aktiver primær stream\",\"blkDNw\":\"Aktiver RTMP server ...\",\"FgEhO4\":\"Aktivering af RTMPS-overførsel\",\"uGvvxq\":\"Aktiver snapshots\",\"IuL64N\":\"Aktiver SRT-server ...\",\"NJsnxf\":\"Det anbefales kraftigt at aktivere autorisation. Ellers kan alle få adgang til denne instans.\",\"xwS6bX\":\"Det anbefales kraftigt at aktivere grundlæggende auth. Ellers kan alle skrive data til /memfs.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Kodning\",\"q1srUM\":\"Kryptering\",\"qS2y97\":\"Indtast et navn for den nye kanal.\",\"f7sXvi\":\"Indtast adgangskode\",\"5QCNrf\":\"Indtast adressen på din netværkskilde:\",\"WLnvCZ\":\"Indtast brugernavn\",\"ijwVVM\":\"Entropicoder\",\"SlfejT\":\"Fejl\",\"sHoMKO\":\"Fejl under kopiering af data til udklipsholderen\",\"TpqeIh\":[\"Fejl: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Udvider området over kanallisten (live chat).\",\"IBJg8n\":\"Udvider området under kanalbeskrivelsen (kommentarfelter).\",\"XeunlQ\":\"Eksperttilstand\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Udvidelse af kanallisten\",\"tG09kC\":\"Udvidelse af indholdet\",\"bPWJOj\":\"Udvider sidefod\",\"SeaRa5\":\"Forlænge overskriften\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Det lykkedes ikke at oprette en publikationstjeneste (\",[\"0\"],\")\"],\"yT6MEY\":\"Det lykkedes ikke at oprette filer til publikationswebstedet.\",\"FGdPhH\":\"Mislykkes probe hos kilde. Undersøg <0> probe oplysninger.\",\"DvfYM2\":[\"Det lykkedes ikke at opdatere token: \",[\"0\"]],\"J0Jclh\":\"Det mislykkedes at gemme indlæsningsmetadata\",\"RPXHsU\":\"Det er ikke lykkedes at stoppe processen\",\"AhS7uc\":\"Det lykkedes ikke at gemme indstillingen for spillerstørrelse.\",\"PcJRf4\":[\"Det lykkedes ikke at gemme publikationstjenesten (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Opdatering af indlæsningsprocessen mislykkedes (\",[\"0\"],\")\"],\"t1E1OU\":[\"Opdatering af processen for indtastning af snapshot mislykkedes (\",[\"0\"],\")\"],\"bssUbs\":\"Opdatering af spilleren mislykkedes\",\"4SzVSX\":\"Opdatering af spillersiden mislykkedes\",\"H8gP5T\":\"Mislykkes undersøg af kilde. Undersøg adresse.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Filsti\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Færdig\",\"k4A6IZ\":\"Fast størrelse\",\"Xgkhyj\":\"Flag\",\"+L0/av\":\"For Javascripts.\",\"VBU6dD\":\"Til stilark.\",\"XDTTEp\":\"Tving input framerate\",\"Y5YNoi\":\"Tvinge nøglerammer\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Frame falder\",\"lPICcX\":\"Rammen sendes igennem (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Konvertering af framerate (frame-interpolation)\",\"xDfHbM\":\"Framerate-tilstand\",\"4xNpe4\":\"Frekvens (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Almindelig\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Hardware-enhed\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Overskrift\",\"+670Zw\":\"Overskrift\",\"PFFhCT\":\"Højde\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS-output\",\"oMxmoP\":\"HLS-server\",\"5/G5c1\":\"HLS-statistik for lagring i hukommelse\",\"wXoUQx\":\"Vandret flip\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Hosted Restreamer-grænseflade\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP og HTTPS\",\"YmRLab\":\"HTTP-port\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS-port\",\"Ptrvx5\":\"Menneskeligt læsbart navn på tjenesten.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Hvis du har ændret portene, kan det være, at Restreamer Core allerede er genstartet, men at den nu er tilgængelig på en anden port.\",\"OQONQS\":\"Hvis du har aktiveret Let's Encrypt TLS, kan det tage lidt tid at skaffe certifikaterne. Sørg for, at Restreamer Core kan nås via port 80 fra internettet. Kontroller konsolloggen for Restreamer Core.\",\"yWR5EY\":\"iframe-kode\",\"7ZKroD\":\"Ignorer IP-ranger\",\"VyUuZb\":\"Billede URL\",\"5n8FKh\":\"Tryk\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Ud over afspilleren tilbyder Restreamer en komplet landingpage, som du kan bruge til at præsentere din live stream nemt og hurtigt.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"Lagring i hukommelsen\",\"xmsVuq\":\"Uforenlig\",\"exUN1j\":\"Arve\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Injicere 1\",\"MJlrvd\":\"Injicere 2\",\"MppU96\":\"Injicere 3\",\"zBVRQb\":\"Injicere 4\",\"Adqgqr\":\"Input-strøm\",\"jnyWFc\":\"Instansdomæne\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interval (sekunder)\",\"C4WaV1\":\"Advarsel om spørgsmål\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Keyframe-interval (sekunder)\",\"rdU729\":\"Opsætning\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Let's Encrypt certifikat\",\"LgUs17\":\"Let's Encrypt kræver et eller flere offentlige domænenavne og en tilgængelig port 80/TCP.\",\"oCHfGC\":\"Nivå\",\"eyLS1J\":\"Niveau af systemprotokol.\",\"iQmbPb\":\"licens\",\"mQImez\":\"Livets farve\",\"6BDqha\":\"Grænser\",\"1pbzRr\":\"linjefarve\",\"Ce6Hrg\":\"Linjer\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"Liste over filtypenavne, der ikke skal cachelagres (f.eks. \\\".m3u8\\\"), én pr. linje. Lad den være tom for ingen.\",\"m2l8c3\":\"Liste over filtypenavne, der skal lagres i cache (f.eks. \\\".html\\\"), én pr. linje. Lad den være tom for at cache alle filtyper.\",\"QYw6tl\":\"Liste over IP-områder i CIDR-notation, f.eks. 127.0.0.0.1/32, som statistikken ikke registrerer - ét IP-område pr. linje. Lad den være tom for at registrere alle sessioner.\",\"ELFO4F\":\"Listestørrelse (segmenter)\",\"D0Nwch\":\"Live-streaming til dlive Live RTMP-tjeneste.\",\"n2VKys\":\"Live-streaming til Facebook Live RTMP-tjeneste\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-streaming til Media Network RTMP-tjeneste.\",\"w9zSAv\":\"Live-streaming til PeerTube v3+ RTMP/S-tjeneste.\",\"SZ9Q++\":\"Live-streaming til Trovo Live RTMP-tjeneste.\",\"JJGagy\":\"Streaming til Twitch Live RTMP Service.\",\"4TnPVp\":\"Live-streaming til Vimeo Live RTMP-tjeneste\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Logniveau\",\"x7PDL5\":\"Logning\",\"z0t9bb\":\"Log på\",\"+fL+Rj\":[\"Login mislykkedes: \",[\"0\"]],\"4cd7gw\":\"Login mislykkedes: Kunne ikke indlæse API-detaljer\",\"sNqu7k\":\"Login/JWT-autorisation\",\"iG7KNr\":\"Logginga\",\"nOhz3x\":\"Logout\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"Normalisering af lydstyrke\",\"QGvS9k\":\"Lav latenstid (buffer)\",\"GaV7al\":\"Hovedkanal\",\"Wsn0Uw\":\"Hovedkanal ikke fundet\",\"tROIde\":\"Hoved kanal gemt\",\"nLVSux\":\"Kanalen på hovedsiden (index.html).\",\"rd3Pv7\":\"Hoved kilde\",\"f4txA1\":\"Vedligeholder:\",\"3iTz2L\":\"Gør kanalen tilgængelig som en RTMP-stream (eksperimentel).\",\"mMiku6\":\"Gør kanalen tilgængelig som en SRT-stream (eksperimentel).\",\"6dZ9NS\":\"Mærkede rammer\",\"iuA3xD\":\"Hovedspilleliste (øger kompatibiliteten mellem browser/klient)\",\"WBpxnA\":\"Maksimal tilladt cache-størrelse, 0 for ubegrænset.\",\"NzaPGT\":\"Maksimalt tilladte megabyte RAM for /memfs, 0 for ubegrænset.\",\"aaso5s\":\"Maksimalt tilladte megabyte, der må forbruges fra harddisken. 0 for ubegrænset.\",\"4hp5D2\":\"Maksimal båndbredde Mbit/s\",\"L+uBOR\":\"Maksimal forsinkelse i millisekunder.\",\"hkoCqq\":\"Maksimal filstørrelse (megabytes)\",\"i96JfZ\":\"Maksimal filstørrelse, der skal lægges i cache.\",\"Q9HspI\":\"Maksimal log histroy\",\"bS9ZHz\":\"Maksimale antal loglinjer\",\"6sayfE\":\"Maksimal størrelse (megabytes)\",\"09BWQO\":\"Maksimal inaktivitetstid for seeren (sekunder)\",\"hW0DV1\":\"Maksimalt antal seere\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Hukommelse\",\"KReOHe\":\"Hukommelsesgrænse (megabyte)\",\"fViWSz\":\"Grænse for hukommelsesforbrug i megabyte, 0 for ubegrænset.\",\"emJ6M7\":\"Meta oplysninger\",\"6GBt0m\":\"Metadata\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", standard \",[\"1\"]],\"riWPSk\":\"Skimmelsvamp\",\"QA/rur\":\"Mere om licenser her\",\"fyGu1l\":\"Mere om tjenesten\",\"yBsv2n\":\"Mere om Twitters ophavsret <0>her.\",\"ZpfAc9\":\"Mere om YouTube's copyright <0>here.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Skal være større end den maksimale filstørrelse i cache.\",\"gC9RIS\":\"Skal være mindre end den maksimale cache-størrelse.\",\"R7SsBE\":\"Stille\",\"K0rCAk\":\"Slå en kanal fra.\",\"Jv/kid\":\"Mute venstre\",\"FsCP6P\":\"Mute højre\",\"6YtxFj\":\"Navn\",\"0ZkQqR\":\"Navn på skabelonen. Hvis navnet allerede findes, overskrives det.\",\"OR475H\":\"Netværk\",\"KZDcDr\":\"Netværkskilde\",\"hXzOVo\":\"Næste\",\"JZrXI6\":\"Næste: Audio\",\"kZFy+Q\":\"Næste: Opsætning af video\",\"1UzENP\":\"Nej\",\"p6Fxed\":\"Igen lyd\",\"bIDO3H\":\"Ingen lydstrøm tilgængelig\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Ingen input-enhed tilgængelig\",\"dEwhMr\":\"Der blev ikke fundet nogen live stream. Kontroller venligst den software, der sender strømmen.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Igen kilde valgt\",\"3TfuWb\":\"Ingen kilder til rådighed\",\"fiXA/y\":\"Ingen egnet encoder fundet.\",\"acY4BT\":\"Der er ikke fundet noget egnet filter.\",\"/02FxK\":\"Ingen video\",\"AVWnC9\":\"Igen stream tilgængelige\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Støj\",\"EdQY6l\":\"Igen\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Noter\",\"/a9y2d\":\"Antallet af loglinjer, der skal bevares.\",\"ZD0urA\":\"Antallet af logfiler, der skal opbevares for hver proces.\",\"Aia5w3\":\"Antal sekunder, grænserne må overskrides.\",\"1lZb7D\":\"Antal tiles-kolonner, der skal kodes med.\",\"InpHMl\":\"Antal fliser, der kodes med.\",\"wnRD5D\":\"Antal fliserækker, der skal kodes med.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Én henvisningsadresse pr. linje, f.eks. http://www.example.com\",\"1TNIig\":\"Åbn\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Output buffer\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase til SRT-kryptering.\",\"fpQo1i\":\"Passphrase skal være mellem 10 og 79 tegn lang\",\"3GZXaB\":\"Passthrough (kopi) bør kun deaktiveres, hvis det er nødvendigt. Hver kodning kræver ekstra CPU/GPU-ressourcer.\",\"8ZsakT\":\"kodeord\",\"b+AuuK\":\"kodeord til godkendelse.\",\"oREnCY\":\"Adgangskode til enheden.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Vedvarende seerstatistik\",\"ANX1b0\":\"lyserød\",\"c8aBfM\":\"Pixel-format\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Start\",\"Ejic1p\":\"Platforme\",\"gtQk6c\":\"Afspil\",\"vRayGs\":\"Spiller\",\"tWB9Gz\":\"Afspiller setup gemt\",\"GIxxiU\":\"Spiller-URL\",\"PUmLMn\":\"Afspillerside\",\"LKPR6G\":\"Afspiller-liste\",\"luDqS5\":\"Version af afspilningsliste (M3U8). Version 3 har den bedste browser/klient-kompatibilitet.\",\"84gH7g\":\"Tjek venligst <0>procesloggen\",\"OMpKNS\":\"Kontakt leverandøren af service for at se hvad der skete.\",\"4lATxE\":\"Indtast din e-mailadresse for at bekræfte, at du accepterer Let's Encrypt CA's vilkår for service og for at få besked i tilfælde af problemer.\",\"bdMiXb\":\"Du bedes kontakte tjenestens operatør og undersøge, hvad der sker.\",\"wPZBpR\":\"Vælg fil til upload.\",\"YcGRmx\":\"Brug venligst \\\"Passthrough (kopi)\\\", hvis det er muligt. Kodning kræver ekstra CPU/GPU-ressourcer.\",\"06qnxB\":\"Vent øjeblik. Undersøger steam data ...\",\"FTIPkL\":\"Vent øjeblik. Sætter stream op\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Placering\",\"d62Stt\":\"Plakat\",\"PNap/Y\":\"URL til plakatbillede\",\"6o2Onc\":\"Preset\",\"lxxyq5\":\"Primær stream\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonde\",\"1B9XX0\":\"Proces\",\"DL/nrw\":\"Proceskontrol\",\"fzYV2N\":\"Procesoplysninger\",\"zNVLia\":\"Procesrapport\",\"PwMwvX\":\"Behandler & kontrol\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokol\",\"hEksWI\":\"Protokoller\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Offentligt domæne/offentlige domæner\",\"7lbVwY\":\"Publicerings service ikke fundet\",\"ia1vIb\":\"Gemte indstillinger for publikationswebsted\",\"XHw75Y\":\"Publiceringer\",\"dsOSCf\":\"Pull-tilstand\",\"lQQ/zA\":\"Træk eller modtag dataene:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Kvalitet\",\"i9d+3B\":\"Raspberry Pi-kamera\",\"tbXj/A\":\"Styring af sats\",\"iaocTt\":\"Forhold\",\"WnSPyE\":\"rav1e Parametre\",\"6PpdQP\":\"Læs input normal hastighed\",\"bqsSkO\":\"Modtage tilstand\",\"gcoiFh\":\"Genopret\",\"lakzvL\":\"Forsinkelse af genforbindelse (sekunder)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Genopretter om \",[\"0\"],\"s\"],\"uSDaLA\":[\"Genoprettelse af forbindelsen til Restreamer Core mislykkedes i de sidste \",[\"RETRIES\"],\" sekunder.\"],\"N7ojfh\":\"Genoprettelse af forbindelsen til Restreamer Core mislykkedes.\",\"lCF0wC\":\"Opdater\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Registrer bruger\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Genindlæsning\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Fjern de ældste indhold hvis /memfs er fuld\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Kræver aktivering\",\"XMbkus\":\"Nulstil logo\",\"36SXzE\":\"Nulstil plakat\",\"6z9W13\":\"Genstart\",\"dKwnjv\":\"Genstart nødvendig\",\"0Er6+M\":\"Genstart af\",\"X1sT1j\":\"Genstart af Restreamer Core ...\",\"o5q6jb\":\"Genstart af programmet mislykkedes.\",\"x8cAsq\":\"Restreamer-vejledning\",\"24fLVm\":\"Restreamer-tjeneste\",\"LCGjV4\":\"Modtager stream data ...\",\"6gRgw8\":\"Genforsøg\",\"Qe1vaN\":\"RGB test mønster\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Drej\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"RTMP program til publicering.\",\"7ggERB\":\"RTMP-udgang\",\"V82lE+\":\"RTMP-port\",\"itARjB\":\"RTMP-server\",\"WWZqzz\":\"RTMP server ikke aktiv\",\"HhOPCL\":\"RTMP server lytte adresse.\",\"DbHOhO\":\"RTMP-token til offentliggørelse og afspilning. Tokenet er værdien af URL-forespørgselsparameteren \\\"token\\\".\",\"OAZeFE\":\"RTMPS-port\",\"Wt/wFL\":\"RTMPS-server\",\"xwonDv\":\"RTMPS-serverens lytteadresse.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regel\",\"HneYgw\":\"Prøvetagning\",\"tfDRzk\":\"Gem\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Skalering\",\"6aaceW\":\"Skalaens størrelse\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Sekunder til at beholde filer i cache.\",\"geM4Wc\":\"Sekunder før process genstartes.\",\"iF7dnC\":\"Sekunder før process afsluttes.\",\"mydmGn\":\"Sekunder før snapshot/billede af videokilde opdateres.\",\"a3LDKx\":\"Sikkerhed\",\"Gkr6zI\":\"Sikkerhedstoken\",\"/Ocrtf\":\"Seekbar farve\",\"4lDlYf\":\"Segment længde (sekunder)\",\"XfNrg+\":\"Segmentet vil blive klippet på det følgende keyframe, når denne tid er gået. 2 er anbefalet.\",\"jHCoDy\":\"Segment opdeling\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Vælg en enhed:\",\"O+ruJ3\":\"Vælg lydkilde:\",\"6MTTpq\":\"Vælg RTMP eller SRT (hvis aktiveret) for at opnå mindre ventetid.\",\"E7haRr\":\"Vælg kilde ...\",\"PlZ1aw\":\"Vælg videokilde:\",\"YYlcWm\":\"Vælg, om du henter strømmen fra en <0>netværkskilde (f.eks. et netværkskamera) eller den <1>interne RTMP-server (f.eks. OBS-streams til Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Vælg encoder setup:\",\"aT3o8A\":\"Vælg dine filterindstillinger (valgfrit):\",\"ylXj1N\":\"Udvalgte\",\"kYpw4+\":\"Valgt kanal\",\"p7/fS2\":\"Udvælgelse\",\"SOePwi\":\"Send anonyme målinger (hjælper os med fremtidig udvikling)\",\"kOhBl+\":\"Send stream til adresse ...\",\"E1X5xY\":\"Send strøm til denne adresse:\",\"d/IMf3\":\"Send video til Framebuffer\",\"sGH11W\":\"Server\",\"9rG25a\":\"Server-URL\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Navn på tjeneste\",\"DOrSw/\":\"Tjenestetoken til overvågning.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sessioner\",\"xwK3ty\":\"Indstil rav1e-konfigurationen ved hjælp af en :-separeret liste af nøgle=værdi-parametre.\",\"FIIk8R\":\"Indstiller en båndbreddegrænse i Mbit pr. sekund for udgående HLS-dataoverførsel. Alle tjenester, f.eks. RTMP og udgående processer, er medtaget i beregningen. Hvis båndbredden overskrides, modtager HLS-fremvisere HTTP-statuskode 509 (båndbreddegrænse overskredet). 0 er ubegrænset.\",\"cOG/FK\":\"Set antal HLS forbindelser. Hvis begrænsning overskrides vil modtager få en status 509 kode. (båndbrede begrænsning overskredet). 0 er ubegrænset.\",\"mcJFKm\":\"Indstilling for tilslutning til tjenesten.\",\"Tz0i8g\":\"Indstillinger\",\"IiOZ6R\":\"Indstillinger (eksperttilstand)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Indstillinger for /data-stien. Adgangen er beskyttet af\",\"Ytdvyh\":\"Indstillinger for /memfs-stien.\",\"1w3lYe\":\"Indstillinger gemt. Alle ændringer vil blive anvendt efter genstart af programmet.\",\"XUw3i9\":\"Del-knap\",\"oD0Oes\":\"Viser en reference til projektet.\",\"+vv4q2\":\"Tilmeld dig (gratis)\",\"JXVFAm\":\"Stille\",\"VSK9FJ\":\"Stille Audio\",\"L8Jb2l\":\"Sinus\",\"MxZN16\":\"Sidenavn\",\"Cj2Gtd\":\"Størrelse\",\"yTZe+y\":\"Øjebliksbillde\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Socket timeout (mikrosekunder)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Kilde\",\"sywlQb\":\"Kilde og kodning\",\"l9wI00\":\"Hastighed\",\"vdhBFK\":\"Forudindstillet hastighed\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT-udgang\",\"YqnAto\":\"SRT-server\",\"k6hpqB\":\"SRT-serveren er ikke aktiveret\",\"SzqwHY\":\"SRT-serverens lytteadresse.\",\"KwbjpB\":\"SRT-token til offentliggørelse og afspilning. Tokenet er værdien af streamid-parameteren \\\"token\\\".\",\"Aj28wT\":\"Forældet timeout (sekunder)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistik\",\"BrrIs8\":\"Opbevaring\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Gemmer seerstatistikkerne på disken.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream nøgle\",\"bqiH5R\":\"Stream-nøgle\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Stream navn\",\"eXELiS\":\"Stream navne\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Streamkilde til publikationstjeneste (eksperimentel).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL til stream\",\"+fVH0Y\":\"Støtte datarhei Restreamer\",\"5HSoct\":\"Understøtter HTTP (HLS, DASH), RTP, RTSP, RTSP, RTMP, SRT og meget mere.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Måladresse\",\"/K2CvV\":\"Skabelon\",\"2Ivkf/\":\"Skabelon, der skal bruges til at oprette webstedet for publikationen. Med knappen \\\"Slet\\\" fjernes valget fra systemet.\",\"4Y5H+g\":\"Betingelser\",\"tRNH6x\":\"Test mønster\",\"EtlVOt\":\"Test mønster (udvidet)\",\"wGPolR\":\"Tekstfarver\",\"m0TUJj\":\"Amplituden (0,0 - 1,0) af den genererede lydstrøm\",\"8C6xwe\":\"Programmet bruger en ældre version af indstillingerne.\",\"VPQVR2\":\"Den tilgængelige binære FFmpeg-version understøtter ikke nogen af de nødvendige protokoller.\",\"Gx9PPK\":\"Bitraten for lydstrømmen.\",\"T2kk3f\":\"Bærerfrekvensen\",\"JAOLK8\":[\"Kanalen \\\"\",[\"0\"],\"\\\" kunne ikke slettes\"],\"jNaBhy\":[\"Kanalen \\\"\",[\"0\"],\"\\\" er blevet slettet\"],\"SD8pYJ\":\"Sletning af denne kanal kan ikke genoprettes. Alle publikationer af denne kanal vil blive fjernet.\",\"bnkV//\":\"Input profil er ikke komplet. Definer Video og Audio kilde.\",\"wCYjmB\":\"Inputprofilen er ikke komplet. Definér venligst en video- og/eller lydkilde.\",\"JMaqWu\":\"Layoutet af lydstrømmen.\",\"0dqo+p\":\"Det maksimale antal playlist-segmenter. 0 vil indeholde alle segmenter. 6 anbefales.\",\"BDgbiW\":\"Støjens farve\",\"SxGu7I\":\"Du må kopiere og rette og fordele, samt anvende dette kommercielt og ukommercielt frit uden at spørge om lov.\",\"XISvrq\":\"Det offentlige domænenavn, der kan nås, for den vært, som Restreamer kører på. Adskil flere domænenavne med et komma.\",\"yt3d3G\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" kan ikke fjernes\"],\"zYcO/c\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" er oprettet\"],\"AQE+oz\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" fjernet\"],\"qVLWvp\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" er blevet oprettet\"],\"njj2Wn\":\"RTMP-udgangen kræver RTMP-serveren.\",\"WRxiP8\":\"Hastighed på audio stream.\",\"/pZjRr\":\"Den valgte fil er for stor (<0/>). Kun <1/> er tilladt.\",\"VBaSn9\":[\"Den valgte filtype (\",[\"0\"],\") er ikke tilladt. Tilladte filtyper er \",[\"1\"]],\"fM410X\":[\"Konfiguration til \\\"\",[\"0\"],\"\\\" er gemt\"],\"02ii2e\":\"Kilde har ingen audio streams.\",\"+2cAEU\":\"Kilde har ingen audio streams. Undersøg <0>probe oplysninger.\",\"pfqmY7\":\"Kilde har ikke kompatible audio streams.\",\"VO9KeK\":\"Kilde har ikke kompatible audio streams. undersøg <0>krav.\",\"007foU\":\"Kilde har ingen video streams. Undersøg <0>probe oplysninger.\",\"lAsMdV\":\"Kilde har igen video streams. undersøg enheden.\",\"XlnvcR\":\"SRT-udgangen kræver SRT-serveren.\",\"w6uuIE\":\"Videokilden leverer ikke nogen kompatibel lydstrøm. <0>Silence audio anbefales. Tjenester som f.eks. YouTube, Facebook & Co. kræver en lydkanal.\",\"YJJ2RL\":\"Video kilde er kompatibel. Vælg opløsning:\",\"wEiZHy\":\"Der er opdateringer til rådighed. Her får du flere oplysninger.\",\"4p1MgS\":\"Der var et problem med at gemme indstillingerne. Indstillingerne blev ikke gemt.\",\"YJhhwT\":[\"Der var en fejl ved forbindelsen til Restreamer Core på \",[\"0\"],\".\"],\"q42VsF\":[\"Der opstod en fejl under upload: \",[\"0\"]],\"HM96PJ\":\"Der var en fejl i opsætning af stream.\",\"LoDP+Y\":\"Der var nogle fejl i konfiguration. Konfiguration ikke gemt.\",\"l92ZKN\":\"Der er ingen login-metode tilgængelig.\",\"cPKuc8\":\"Dette er en dummy-tjeneste, som forklarer dig begreberne i forbindelse med tjeneste.\",\"Ku8nyu\":\"Dette er ikke nødvendigvis en fejl. Det kan dog tage lidt længere tid for Restreamer Core at genstarte..\",\"vCRP3w\":\"Dette er for at nævne de ophavsretlige regler for målet for denne tjeneste.\",\"Hx7k3c\":\"Denne licens tillader genbrugere at kopiere og distribuere materialet i ethvert medium eller format i ubearbejdet form, og kun så længe skaberen angives som kilde. Licensen giver mulighed for kommerciel brug.\",\"6OeMYB\":\"Denne licens tillader genbrugere at kopiere og distribuere materialet i ethvert medium eller format i ubearbejdet form, kun til ikke-kommercielle formål og kun så længe skaberen er nævnt.\",\"TUuhsB\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medie eller format til ikke-kommercielle formål, og kun så længe skaberen er nævnt.\",\"kVtKRl\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medie eller format til ikke-kommercielle formål, og kun så længe skaberen er nævnt. Hvis du remixer, tilpasser eller bygger videre på materialet, skal du give licens til det ændrede materiale på de samme vilkår.\",\"FpX5mp\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medium eller format, så længe skaberen angives. Licensen giver mulighed for kommerciel brug.\",\"SDvwLd\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medium eller format, så længe skaberen angives. Licensen giver mulighed for kommerciel brug. Hvis du remixer, tilpasser eller bygger videre på materialet, skal du give licens til det ændrede materiale på de samme vilkår.\",\"H144rX\":\"Denne protokol er ukendt eller understøttes ikke af den tilgængelige binære FFmpeg-protokol.\",\"nlOxxw\":\"Denne kilde kan ikke redigeres, mens den er i brug. Hvis du vil fortsætte, skal du afbryde forbindelsen til kilden.\",\"mbSyrG\":[\"Denne version af brugergrænsefladen understøtter ikke den tilgængelige binære FFmpeg-version (\",[\"0\"],\"). Brugergrænsefladen kræver \",[\"1\"],\". Brug venligst en understøttet FFmpeg-binærfil.\"],\"N/tTgz\":[\"Denne version af brugergrænsefladen understøtter ikke den tilsluttede kerne (\",[\"0\"],\"). Brugergrænsefladen kræver \",[\"1\"],\". Brug venligst en kompatibel version af brugergrænsefladen.\"],\"2Vq5tr\":\"Denne version af brugergrænsefladen er kompatibel.\",\"QxX9Z5\":\"Tærskel (sekunder)\",\"sNmspt\":\"Flise-søjler\",\"sYGp2E\":\"Fliserækker\",\"wbOpwP\":\"Fliser\",\"H59P7E\":\"Tid, indtil en inaktiv seerforbindelse behandles som lukket.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"For at stabilisere systemet skal du øge HLS-segmentlængden for keyframe-intervallet med 2-3 * (Behandling og kontrol).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Top felt\",\"7mjsuh\":\"Overfør et livestream til en Telegram-kanal.\",\"Gxlq7L\":\"Overfører øjebliksbilleder af hovedkilden til en HTTP/S-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"SdyhUl\":\"Overfører hovedkildens lydkanal til en Icecast-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"MayU3b\":\"Overfør hovedkilden som HTTP-Live-Streaming (HLS) til en HTTP/S-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"3K8kpL\":\"Overfør hovedkilden som MPEG-DASH til en HTTP/S-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"P/J230\":\"Overfør hovedkilden til en Brightcove Live-tjeneste. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"u0MhFy\":\"Overfører hovedkilden til en CDN77 RTMP-tjeneste. Mere om opsætningen <0>her.\",\"zkgT7c\":\"Overfører hovedkilden til en DaCast RTMP-tjeneste. Mere om opsætningen <0>her.\",\"in9xJz\":\"Overfører hovedkilden til en datarhei Core Ressource. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"PcgwEU\":\"Overfør hovedkilden til en livespotting.com Ressource. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"D7jwpf\":\"Overfører hovedkilden til en MPEG-TS-tjeneste. Du kan finde flere oplysninger om indstillingerne her <0>her.\",\"SpSgUV\":\"Overfør hovedkilden til en Red5/Pro Server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"lIpqI/\":\"Overfør hovedkilden til en RTMP(e|s|t|te|ts)-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"pqR6nq\":\"Overfører hovedkilden til en RTSP-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"Q4dSnZ\":\"Overfører hovedkilden til en SRT-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"fx9S4p\":\"Overfører hovedkilden til en UDP-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"GLXY2N\":\"Overfør hovedkilden til en WOWZA-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"AsMKFi\":\"Overfør hovedkilden til Akamai (MSL) Media Services Live. Du kan finde flere oplysninger om MSL Encoder-indstillingerne på <0>her.\",\"FB364G\":\"Overfør hovedkilden til Livepush RTMP-tjenesten. Flere detaljer om indstillingerne kan findes <0>her.\",\"CC9yS5\":\"Overfør hovedkilden til Nimo TV RTMP-tjenesten. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"fP8ZYg\":\"Overfør hovedkilden til Picarto TV RTMP-tjenesten. Flere detaljer om indstillingerne kan findes <0>her.\",\"D9A0LK\":\"Overfører hovedkilden til Restream RTMP-tjenesten. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"YL800g\":\"Overfør til en Azure Media Services. Du kan finde flere oplysninger <0>her.\",\"Abgy4c\":\"Overfør til LinkedIn. Du kan finde flere oplysninger <0>her.\",\"dhCZoS\":\"Send din Livestream til en Dailymotion RTMP-tjeneste. <0>Her kan du finde flere detaljer om indstillingerne.\",\"tQNclD\":\"Send din Livestream til en Kick.com RTMP-tjeneste. <0>Her kan du finde flere detaljer om indstillingerne.\",\"mQ0sjr\":\"Overfør dit Livestream til en Owncast-server. <0>Her kan du finde flere oplysninger om indstillingerne.\",\"AqYRa3\":\"Send din Livestream til en Rumble RTMP-tjeneste. <0>Her kan du finde flere detaljer om indstillingerne.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Overfører din videostream med den nødvendige nøgle, som blev genereret i Twitter Producer. Du kan finde flere oplysninger om opsætning af en livestream på Twitter <0>Producer.\",\"ADKef2\":\"Afstemning\",\"8jwViA\":\"UDP-transport\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Kan ikke indlæse konfigurationen.\",\"MWrgON\":\"Unikt id på tjenesten.\",\"Ef7StM\":\"Ukendt\",\"wiIpKZ\":\"Ukendt uploadfejl\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Ikke-valgt\",\"j9zg7e\":\"Detaljer om opdatering (Ændringsliste)\",\"ONWvwQ\":\"Overfør\",\"OXItQT\":[\"Upload en lydfil (\",[\"0\"],\") for at sætte den i loop.\"],\"75yxb7\":[\"Upload et billede eller en videofil (\",[\"0\"],\") for at sætte den i loop.\"],\"iAkPTY\":\"Uploading af filen mislykkedes\",\"Jmy6pK\":\"Uploading af logoet mislykkedes\",\"xl1xFp\":\"Upload af plakaten mislykkedes\",\"TjrbDj\":\"Driftstid\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Brug Auth0 til din kørende Restreamer Core. Flere <0>detaljer.\",\"JX4TqK\":\"Brug guiden (<0/>) til en hurtig og nem opsætning, eller rediger (<1/>) kilderne direkte i brugerdefineret tilstand.\",\"YYTBz0\":\"Brug din ophavsret, og vælg den korrekte billedlicens. Uanset om den er fri for alle eller stærkt begrænset. Diskuter kort, hvad andre må gøre med dit billede.\",\"2UPEb1\":\"Brug din ophavsret, og vælg den rigtige billedlicens. Uanset om den er fri for alle eller stærkt begrænset. Diskuter kort, hvad andre må gøre med dit billede.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Registrering af brugere\",\"7sNhEz\":\"Brugernavn\",\"Gv3pbp\":\"Brugernavn for \",\"RQSvXZ\":\"Brugernavn til enheden.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M er eksperimentel.\",\"PvM7Yi\":\"Variabel billedfrekvens (VFR)\",\"hpBTpL\":\"fløjl\",\"uIAsxu\":\"Lodret flip\",\"vSJd18\":\"Video\",\"auaWhL\":\"Videoenhed\",\"/skRGV\":\"Videoindstillinger\",\"EzOjvB\":\"Opsætning af video\",\"QcQXbU\":\"Kilde til video\",\"M/TIv1\":\"Seer\",\"L2hKw+\":\"violet\",\"hA6FFn\":\"Virtuel kilde\",\"/cF7Rs\":\"Volumen\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Vi anbefaler OpenMAX IL til Raspberry PI (3/4) med et 32-bit operativsystem.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Velkommen til Restreamer v2, løsningen til hurtig og nem udgivelse af video. Gratis til privat og kommerciel brug. Yderligere hjælp i <0>docs.\",\"hJfWkA\":\"Hvilken hastighedsindstilling skal du bruge?\",\"6Pz2IF\":\"Hvor skal HLS-spillelisten og segmenterne gemmes. In-Memory anbefales.\",\"aWHAbR\":\"hvid\",\"aFWU1n\":\"Bredde\",\"e0wV2Y\":\"Beskyttelse mod skrivning\",\"l75CjT\":\"Ja\",\"WPUsOF\":\"Du kan ikke afbryde guiden, fordi der skal være defineret mindst ét input.\",\"qwY9F9\":\"Du har ændret konfigurationen. For at ændringerne kan træde i kraft, skal du genstarte programmet. Ønsker du at genstarte nu?\",\"nxq2ni\":\"Du skal genetablere forbindelsen manuelt\",\"RM3CEc\":\"Du har ændringer, der ikke er gemt. Gem dem venligst, før du kan styre tjenesten igen.\",\"/cg7qS\":\"Din stream skal kodes, men der er ingen egnet encoder tilgængelig.\",\"BwrOm6\":\"Din stream skal være kodet. Vælg den ønskede encoder:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV-testmønster\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Kompatibilitetsliste\",\"TkRUk0\":\"<0>Se probe data\",\"tBy4Bb\":\"1. Skift til grænsefladen for mål-Restreamer.\",\"2JnpXL\":\"2. Opret en ny kanal, og vælg RTMP- eller SRT-server.\",\"YidyJl\":\"3. Kopier URL-adressen, og indsæt den i feltet \\\"Måladresse\\\".\",\"X1MZZp\":\"6 (+ garanteret at starte med en nøgleramme)\",\"JVJkxU\":\"7 (+ fragmenteret MP4-format)\",\"ssjjFt\":\"Afbryd\",\"uyJsf6\":\"Om\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Tilføj\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Tilføj eksterne widgets og stilarter til publikationswebstedet. Du kan finde nogle eksempler på hjælpesiden.\",\"tsJWSj\":\"Tilføj ny kanal\",\"PLTLdv\":\"Tilføj Publicering\",\"35l+l6\":[\"Tilføj: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adresse\",\"8M7jVn\":\"Adresse til baggrunds billede.\",\"Vu9yiv\":\"Adresse HTTP anmodninger.\",\"AQDW5r\":\"Adresse HTTPS anmodninger.\",\"tPrmjP\":\"Adresse:\",\"owt8Ow\":\"Du kan justere farverne og baggrunden på publikationssiden som du vil.\",\"uNXGDK\":\"Avanceret overvågning\",\"VNgKZz\":\"Avanceret setup\",\"eiGNYb\":\"Avanceret opsætning\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Advarsel via e-mail\",\"N40H+G\":\"Alle\",\"Hw5q+W\":\"Alle rammer\",\"f2zxGk\":\"Alle vigtige systemindstillinger.\",\"lle3bd\":\"Tillad alle henvisninger\",\"bgFbIB\":\"Gør det muligt at tælle, hvor mange seere streamet har.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"En miljøvariabel fastsætter denne værdi.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API endpoint ikke fundet. Indstillingerne er ikke gemt.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Program\",\"xnCC/2\":\"Er du sikker på, at du vil afbryde guiden?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Lyd\",\"n3RW8K\":\"Audio enhed\",\"sYyYfE\":\"Lyd enhed\",\"2he4Ra\":\"Lyd fra enhed\",\"MvY15a\":\"Lydindstillinger\",\"NoLJ6g\":\"Lydopsætning\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 er i øjeblikket ikke tilgængelig, fordi denne grænseflade er indlæst fra en usikker oprindelse.\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"Forfatter\",\"NJgJy9\":\"Godkendelse\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Automatisk oprydning af alle mediedata\",\"jT50Rz\":\"Auto afspil\",\"csDS2L\":\"Tilgængelig\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Tilbage\",\"1KfyNL\":\"Baggrundsfarver\",\"23c2Uw\":\"Baggrundsbillede\",\"r0bEmM\":\"Backup-server\",\"JFjQhH\":\"Backup-strøm\",\"bkJ+QE\":\"Backup-URL\",\"OlXThP\":\"Båndbredde\",\"QYaaBO\":\"Båndbrede kontrol\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Grundlæggende\",\"YR04fn\":\"Bip-faktor\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Blokcache-typer\",\"zOC7cT\":\"blå\",\"359XuU\":\"Nederste felt\",\"aC3kWW\":\"Beskriv kort, hvad publikum vil se under live-streamingen.\",\"SehDNd\":\"brun\",\"Ptp9MF\":\"Knapfarve\",\"Lp4WkO\":\"Efter højde\",\"IeV/4P\":\"Af bredde\",\"KxP5AO\":\"Cache for filer på /data.\",\"qX8ffo\":\"Cache-tid (sekunder)\",\"4dRAku\":\"Cache-typer\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Buffer til opsamling\",\"aL2+1d\":\"Fang klik\",\"EOfLfP\":\"Fang markør\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" gemt\"],\"lfFsZ4\":\"Kanaler\",\"WMCwmR\":\"Check opdatering\",\"vM6kpc\":\"Check nødvendigheder\",\"Wzgqhl\":\"Vælg en video stream\",\"JpTR0/\":\"Vælg en audio stream\",\"BTNyrQ\":\"Vælg input enhed...\",\"f9QIui\":\"Vælg en inputstrøm ...\",\"/Y6zrN\":\"Vælg mellem CFR og VFR (Auto)\",\"gObOjh\":\"Vælg codec ...\",\"v7lrmU\":\"Vælg lejer ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Luk\",\"r8NEPc\":\"Code injection\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Farve\",\"sjVfrA\":\"Kommando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Konfigurer\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Bekræft password\",\"iSLIjg\":\"Forbind\",\"NL3Gev\":\"Tilsluttet enhed\",\"ywAvGr\":\"Forbundet siden <0/>\",\"lNg25t\":\"Forbinder ...\",\"y6+BXa\":\"Oprettelse af forbindelse til Restreamer Core ...\",\"Td5lm6\":\"Oprettelse af forbindelse til Restreamer Core mislykkedes, sandsynligvis på grund af blandet indhold.\",\"awE5Py\":\"Konstant billedfrekvens (CFR)\",\"DT0Af/\":\"Konstant kvantiseringstilstand (-1 til 255).\",\"4b3oEV\":\"Indhold\",\"U34RbB\":\"Indhold URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU-grænse (procent)\",\"uW5tVo\":\"Grænse for CPU-brug i procent (0-100%), 0 for ubegrænset.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Tilrettet...\",\"kH80Lk\":\"Brugerdefineret lydenhed\",\"fW1XQD\":\"Brugerdefineret lydindeks\",\"bzREp0\":\"Brugerdefineret bitrate (kbit/s)\",\"w9oKek\":\"Indsprøjtning af specialkode\",\"jYaP01\":\"Brugerdefineret forsinkelse\",\"2Gw+zZ\":\"Brugerdefineret enhed\",\"WCXGNp\":\"Brugerdefineret format\",\"ZkpZ06\":\"Brugerdefineret framerate\",\"1OXCgh\":\"Brugerdefineret JSON-konfiguration for datarhei Core.\",\"kl56NX\":\"Brugerdefineret keyframe-interval\",\"prIqWa\":\"Brugerdefineret layout\",\"HSB43e\":\"Brugerdefineret prøvetagning (Hz)\",\"Efe3BI\":\"Brugerdefineret skala\",\"E/2KdS\":\"Custom size\",\"Se794B\":\"Brugerdefineret videoenhed\",\"aqv915\":\"Brugerdefineret videoindeks\",\"v8OlX8\":\"Data kopieret til udklipsholderen\",\"J/VBax\":\"Død farve\",\"d2TTfK\":\"Decibel (dB)\",\"W034oz\":\"Afkoder\",\"ovBPCi\":\"Almindelig\",\"gFwPaj\":[\"Standard \",[\"0\"]],\"JQnkrI\":[\"Standard \",[\"0\"],\" (\",[\"1\"],\" sekunder)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Deinterlace-tilstand\",\"aro6lN\":\"Deinterlace paritet\",\"YeWQto\":\"Forsinkelse\",\"qBC9g9\":\"Forsinkelse (ms)\",\"cnGeoo\":\"Fjern\",\"ScK3zL\":\"Det er ikke muligt at slette en publikationstjeneste. Offentliggørelsen stopper straks.\",\"cEx3oI\":\"Leveringsmåde\",\"Nu4oKW\":\"Beskrivelse\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Enhed\",\"+K0AvT\":\"Afbrudt\",\"miKA/E\":\"Afbryd forbindelsen og fortsæt\",\"5/pMTZ\":\"Afbryder...\",\"sPFHpI\":\"Disk\",\"qczNPP\":\"Disk-cache\",\"PUqOjv\":\"Diskopbevaring\",\"uTwT/l\":\"Ønsker du virkelig at genstarte programmet nu?\",\"FgxcNT\":[\"Ønsker du at slette \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Vil du fjerne \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Ønsker du at afbryde forbindelsen til \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Dokumenter\",\"TvY/XA\":\"Dokumentation\",\"jPtEhI\":\"Dob. rammer\",\"diaSRH\":\"Hvert felt\",\"u2SnNO\":\"Hver ramme\",\"ePK91l\":\"Ret\",\"INCFjw\":\"Rediger lyd- og videokilderne til livestreamet. Tilføj en beskrivelse, og indstil den ønskede indholdslicens.\",\"+7Wr2a\":[\"Ret: \",[\"title\"]],\"e3GLqI\":\"EDIT: Spiller\",\"dTPDyf\":\"EDIT: Websted for offentliggørelse\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"E-mail\",\"KKBlUU\":\"Indlejre\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Aktiver\",\"No9svk\":\"Aktiver et periodisk bip hvert sekund med denne værdi gange bærefrekvensen\",\"R7s0Th\":\"Aktiver Backup stream\",\"xA5zBY\":\"Aktiver nørdstatistik\",\"r0zP4o\":\"Aktiver nu\",\"JwR989\":\"Aktiver primær stream\",\"blkDNw\":\"Aktiver RTMP server ...\",\"FgEhO4\":\"Aktivering af RTMPS-overførsel\",\"uGvvxq\":\"Aktiver snapshots\",\"IuL64N\":\"Aktiver SRT-server ...\",\"NJsnxf\":\"Det anbefales kraftigt at aktivere autorisation. Ellers kan alle få adgang til denne instans.\",\"xwS6bX\":\"Det anbefales kraftigt at aktivere grundlæggende auth. Ellers kan alle skrive data til /memfs.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Kodning\",\"q1srUM\":\"Kryptering\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Indtast et navn for den nye kanal.\",\"f7sXvi\":\"Indtast adgangskode\",\"5QCNrf\":\"Indtast adressen på din netværkskilde:\",\"WLnvCZ\":\"Indtast brugernavn\",\"ijwVVM\":\"Entropicoder\",\"SlfejT\":\"Fejl\",\"sHoMKO\":\"Fejl under kopiering af data til udklipsholderen\",\"TpqeIh\":[\"Fejl: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Udvider området over kanallisten (live chat).\",\"IBJg8n\":\"Udvider området under kanalbeskrivelsen (kommentarfelter).\",\"XeunlQ\":\"Eksperttilstand\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Udvidelse af kanallisten\",\"tG09kC\":\"Udvidelse af indholdet\",\"bPWJOj\":\"Udvider sidefod\",\"SeaRa5\":\"Forlænge overskriften\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Det lykkedes ikke at oprette en publikationstjeneste (\",[\"0\"],\")\"],\"yT6MEY\":\"Det lykkedes ikke at oprette filer til publikationswebstedet.\",\"FGdPhH\":\"Mislykkes probe hos kilde. Undersøg <0> probe oplysninger.\",\"DvfYM2\":[\"Det lykkedes ikke at opdatere token: \",[\"0\"]],\"J0Jclh\":\"Det mislykkedes at gemme indlæsningsmetadata\",\"RPXHsU\":\"Det er ikke lykkedes at stoppe processen\",\"AhS7uc\":\"Det lykkedes ikke at gemme indstillingen for spillerstørrelse.\",\"PcJRf4\":[\"Det lykkedes ikke at gemme publikationstjenesten (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Opdatering af indlæsningsprocessen mislykkedes (\",[\"0\"],\")\"],\"t1E1OU\":[\"Opdatering af processen for indtastning af snapshot mislykkedes (\",[\"0\"],\")\"],\"bssUbs\":\"Opdatering af spilleren mislykkedes\",\"4SzVSX\":\"Opdatering af spillersiden mislykkedes\",\"H8gP5T\":\"Mislykkes undersøg af kilde. Undersøg adresse.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Filsti\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Færdig\",\"k4A6IZ\":\"Fast størrelse\",\"Xgkhyj\":\"Flag\",\"+L0/av\":\"For Javascripts.\",\"VBU6dD\":\"Til stilark.\",\"XDTTEp\":\"Tving input framerate\",\"Y5YNoi\":\"Tvinge nøglerammer\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Frame falder\",\"lPICcX\":\"Rammen sendes igennem (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Konvertering af framerate (frame-interpolation)\",\"xDfHbM\":\"Framerate-tilstand\",\"4xNpe4\":\"Frekvens (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Almindelig\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Hardware-enhed\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Overskrift\",\"+670Zw\":\"Overskrift\",\"PFFhCT\":\"Højde\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS-output\",\"oMxmoP\":\"HLS-server\",\"5/G5c1\":\"HLS-statistik for lagring i hukommelse\",\"wXoUQx\":\"Vandret flip\",\"8iPCh6\":\"Hosted Restreamer-grænseflade\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP og HTTPS\",\"YmRLab\":\"HTTP-port\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS-port\",\"Ptrvx5\":\"Menneskeligt læsbart navn på tjenesten.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Hvis du har ændret portene, kan det være, at Restreamer Core allerede er genstartet, men at den nu er tilgængelig på en anden port.\",\"OQONQS\":\"Hvis du har aktiveret Let's Encrypt TLS, kan det tage lidt tid at skaffe certifikaterne. Sørg for, at Restreamer Core kan nås via port 80 fra internettet. Kontroller konsolloggen for Restreamer Core.\",\"yWR5EY\":\"iframe-kode\",\"7ZKroD\":\"Ignorer IP-ranger\",\"VyUuZb\":\"Billede URL\",\"5n8FKh\":\"Tryk\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Ud over afspilleren tilbyder Restreamer en komplet landingpage, som du kan bruge til at præsentere din live stream nemt og hurtigt.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"Lagring i hukommelsen\",\"xmsVuq\":\"Uforenlig\",\"exUN1j\":\"Arve\",\"CDdi1R\":\"Injicere 1\",\"MJlrvd\":\"Injicere 2\",\"MppU96\":\"Injicere 3\",\"zBVRQb\":\"Injicere 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Input-strøm\",\"jnyWFc\":\"Instansdomæne\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interval (sekunder)\",\"C4WaV1\":\"Advarsel om spørgsmål\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Keyframe-interval (sekunder)\",\"rdU729\":\"Opsætning\",\"Cpw3fU\":\"Let's Encrypt certifikat\",\"LgUs17\":\"Let's Encrypt kræver et eller flere offentlige domænenavne og en tilgængelig port 80/TCP.\",\"oCHfGC\":\"Nivå\",\"eyLS1J\":\"Niveau af systemprotokol.\",\"iQmbPb\":\"licens\",\"mQImez\":\"Livets farve\",\"6BDqha\":\"Grænser\",\"1pbzRr\":\"linjefarve\",\"Ce6Hrg\":\"Linjer\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"Liste over filtypenavne, der ikke skal cachelagres (f.eks. \\\".m3u8\\\"), én pr. linje. Lad den være tom for ingen.\",\"m2l8c3\":\"Liste over filtypenavne, der skal lagres i cache (f.eks. \\\".html\\\"), én pr. linje. Lad den være tom for at cache alle filtyper.\",\"QYw6tl\":\"Liste over IP-områder i CIDR-notation, f.eks. 127.0.0.0.1/32, som statistikken ikke registrerer - ét IP-område pr. linje. Lad den være tom for at registrere alle sessioner.\",\"ELFO4F\":\"Listestørrelse (segmenter)\",\"D0Nwch\":\"Live-streaming til dlive Live RTMP-tjeneste.\",\"n2VKys\":\"Live-streaming til Facebook Live RTMP-tjeneste\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-streaming til Media Network RTMP-tjeneste.\",\"w9zSAv\":\"Live-streaming til PeerTube v3+ RTMP/S-tjeneste.\",\"SZ9Q++\":\"Live-streaming til Trovo Live RTMP-tjeneste.\",\"JJGagy\":\"Streaming til Twitch Live RTMP Service.\",\"4TnPVp\":\"Live-streaming til Vimeo Live RTMP-tjeneste\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Logniveau\",\"x7PDL5\":\"Logning\",\"z0t9bb\":\"Log på\",\"+fL+Rj\":[\"Login mislykkedes: \",[\"0\"]],\"4cd7gw\":\"Login mislykkedes: Kunne ikke indlæse API-detaljer\",\"sNqu7k\":\"Login/JWT-autorisation\",\"iG7KNr\":\"Logginga\",\"nOhz3x\":\"Logout\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"Normalisering af lydstyrke\",\"QGvS9k\":\"Lav latenstid (buffer)\",\"GaV7al\":\"Hovedkanal\",\"Wsn0Uw\":\"Hovedkanal ikke fundet\",\"tROIde\":\"Hoved kanal gemt\",\"nLVSux\":\"Kanalen på hovedsiden (index.html).\",\"rd3Pv7\":\"Hoved kilde\",\"f4txA1\":\"Vedligeholder:\",\"3iTz2L\":\"Gør kanalen tilgængelig som en RTMP-stream (eksperimentel).\",\"mMiku6\":\"Gør kanalen tilgængelig som en SRT-stream (eksperimentel).\",\"6dZ9NS\":\"Mærkede rammer\",\"iuA3xD\":\"Hovedspilleliste (øger kompatibiliteten mellem browser/klient)\",\"WBpxnA\":\"Maksimal tilladt cache-størrelse, 0 for ubegrænset.\",\"NzaPGT\":\"Maksimalt tilladte megabyte RAM for /memfs, 0 for ubegrænset.\",\"aaso5s\":\"Maksimalt tilladte megabyte, der må forbruges fra harddisken. 0 for ubegrænset.\",\"4hp5D2\":\"Maksimal båndbredde Mbit/s\",\"L+uBOR\":\"Maksimal forsinkelse i millisekunder.\",\"hkoCqq\":\"Maksimal filstørrelse (megabytes)\",\"i96JfZ\":\"Maksimal filstørrelse, der skal lægges i cache.\",\"Q9HspI\":\"Maksimal log histroy\",\"bS9ZHz\":\"Maksimale antal loglinjer\",\"6sayfE\":\"Maksimal størrelse (megabytes)\",\"09BWQO\":\"Maksimal inaktivitetstid for seeren (sekunder)\",\"hW0DV1\":\"Maksimalt antal seere\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Hukommelse\",\"KReOHe\":\"Hukommelsesgrænse (megabyte)\",\"fViWSz\":\"Grænse for hukommelsesforbrug i megabyte, 0 for ubegrænset.\",\"emJ6M7\":\"Meta oplysninger\",\"6GBt0m\":\"Metadata\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", standard \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Skimmelsvamp\",\"QA/rur\":\"Mere om licenser her\",\"fyGu1l\":\"Mere om tjenesten\",\"yBsv2n\":\"Mere om Twitters ophavsret <0>her.\",\"ZpfAc9\":\"Mere om YouTube's copyright <0>here.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Skal være større end den maksimale filstørrelse i cache.\",\"gC9RIS\":\"Skal være mindre end den maksimale cache-størrelse.\",\"R7SsBE\":\"Stille\",\"K0rCAk\":\"Slå en kanal fra.\",\"Jv/kid\":\"Mute venstre\",\"FsCP6P\":\"Mute højre\",\"6YtxFj\":\"Navn\",\"0ZkQqR\":\"Navn på skabelonen. Hvis navnet allerede findes, overskrives det.\",\"OR475H\":\"Netværk\",\"KZDcDr\":\"Netværkskilde\",\"hXzOVo\":\"Næste\",\"JZrXI6\":\"Næste: Audio\",\"kZFy+Q\":\"Næste: Opsætning af video\",\"1UzENP\":\"Nej\",\"p6Fxed\":\"Igen lyd\",\"bIDO3H\":\"Ingen lydstrøm tilgængelig\",\"nn9C5B\":\"Ingen input-enhed tilgængelig\",\"dEwhMr\":\"Der blev ikke fundet nogen live stream. Kontroller venligst den software, der sender strømmen.\",\"1FJdZA\":\"Igen kilde valgt\",\"3TfuWb\":\"Ingen kilder til rådighed\",\"fiXA/y\":\"Ingen egnet encoder fundet.\",\"acY4BT\":\"Der er ikke fundet noget egnet filter.\",\"/02FxK\":\"Ingen video\",\"AVWnC9\":\"Igen stream tilgængelige\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Støj\",\"EdQY6l\":\"Igen\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Noter\",\"/a9y2d\":\"Antallet af loglinjer, der skal bevares.\",\"ZD0urA\":\"Antallet af logfiler, der skal opbevares for hver proces.\",\"Aia5w3\":\"Antal sekunder, grænserne må overskrides.\",\"1lZb7D\":\"Antal tiles-kolonner, der skal kodes med.\",\"InpHMl\":\"Antal fliser, der kodes med.\",\"wnRD5D\":\"Antal fliserækker, der skal kodes med.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Én henvisningsadresse pr. linje, f.eks. http://www.example.com\",\"1TNIig\":\"Åbn\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Output buffer\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase til SRT-kryptering.\",\"fpQo1i\":\"Passphrase skal være mellem 10 og 79 tegn lang\",\"3GZXaB\":\"Passthrough (kopi) bør kun deaktiveres, hvis det er nødvendigt. Hver kodning kræver ekstra CPU/GPU-ressourcer.\",\"8ZsakT\":\"kodeord\",\"b+AuuK\":\"kodeord til godkendelse.\",\"oREnCY\":\"Adgangskode til enheden.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Vedvarende seerstatistik\",\"ANX1b0\":\"lyserød\",\"c8aBfM\":\"Pixel-format\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Start\",\"Ejic1p\":\"Platforme\",\"gtQk6c\":\"Afspil\",\"vRayGs\":\"Spiller\",\"tWB9Gz\":\"Afspiller setup gemt\",\"GIxxiU\":\"Spiller-URL\",\"PUmLMn\":\"Afspillerside\",\"LKPR6G\":\"Afspiller-liste\",\"luDqS5\":\"Version af afspilningsliste (M3U8). Version 3 har den bedste browser/klient-kompatibilitet.\",\"84gH7g\":\"Tjek venligst <0>procesloggen\",\"OMpKNS\":\"Kontakt leverandøren af service for at se hvad der skete.\",\"4lATxE\":\"Indtast din e-mailadresse for at bekræfte, at du accepterer Let's Encrypt CA's vilkår for service og for at få besked i tilfælde af problemer.\",\"bdMiXb\":\"Du bedes kontakte tjenestens operatør og undersøge, hvad der sker.\",\"wPZBpR\":\"Vælg fil til upload.\",\"YcGRmx\":\"Brug venligst \\\"Passthrough (kopi)\\\", hvis det er muligt. Kodning kræver ekstra CPU/GPU-ressourcer.\",\"06qnxB\":\"Vent øjeblik. Undersøger steam data ...\",\"FTIPkL\":\"Vent øjeblik. Sætter stream op\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Placering\",\"d62Stt\":\"Plakat\",\"PNap/Y\":\"URL til plakatbillede\",\"6o2Onc\":\"Preset\",\"lxxyq5\":\"Primær stream\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonde\",\"1B9XX0\":\"Proces\",\"DL/nrw\":\"Proceskontrol\",\"fzYV2N\":\"Procesoplysninger\",\"zNVLia\":\"Procesrapport\",\"PwMwvX\":\"Behandler & kontrol\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokol\",\"hEksWI\":\"Protokoller\",\"aLZh9m\":\"Offentligt domæne/offentlige domæner\",\"7lbVwY\":\"Publicerings service ikke fundet\",\"ia1vIb\":\"Gemte indstillinger for publikationswebsted\",\"XHw75Y\":\"Publiceringer\",\"dsOSCf\":\"Pull-tilstand\",\"lQQ/zA\":\"Træk eller modtag dataene:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Kvalitet\",\"i9d+3B\":\"Raspberry Pi-kamera\",\"tbXj/A\":\"Styring af sats\",\"iaocTt\":\"Forhold\",\"WnSPyE\":\"rav1e Parametre\",\"6PpdQP\":\"Læs input normal hastighed\",\"bqsSkO\":\"Modtage tilstand\",\"gcoiFh\":\"Genopret\",\"lakzvL\":\"Forsinkelse af genforbindelse (sekunder)\",\"HC1Dci\":[\"Genopretter om \",[\"0\"],\"s\"],\"uSDaLA\":[\"Genoprettelse af forbindelsen til Restreamer Core mislykkedes i de sidste \",[\"RETRIES\"],\" sekunder.\"],\"N7ojfh\":\"Genoprettelse af forbindelsen til Restreamer Core mislykkedes.\",\"lCF0wC\":\"Opdater\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Registrer bruger\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Genindlæsning\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Fjern de ældste indhold hvis /memfs er fuld\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Kræver aktivering\",\"XMbkus\":\"Nulstil logo\",\"36SXzE\":\"Nulstil plakat\",\"6z9W13\":\"Genstart\",\"dKwnjv\":\"Genstart nødvendig\",\"0Er6+M\":\"Genstart af\",\"X1sT1j\":\"Genstart af Restreamer Core ...\",\"o5q6jb\":\"Genstart af programmet mislykkedes.\",\"x8cAsq\":\"Restreamer-vejledning\",\"24fLVm\":\"Restreamer-tjeneste\",\"LCGjV4\":\"Modtager stream data ...\",\"6gRgw8\":\"Genforsøg\",\"Qe1vaN\":\"RGB test mønster\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Drej\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"RTMP program til publicering.\",\"7ggERB\":\"RTMP-udgang\",\"V82lE+\":\"RTMP-port\",\"itARjB\":\"RTMP-server\",\"WWZqzz\":\"RTMP server ikke aktiv\",\"HhOPCL\":\"RTMP server lytte adresse.\",\"DbHOhO\":\"RTMP-token til offentliggørelse og afspilning. Tokenet er værdien af URL-forespørgselsparameteren \\\"token\\\".\",\"OAZeFE\":\"RTMPS-port\",\"Wt/wFL\":\"RTMPS-server\",\"xwonDv\":\"RTMPS-serverens lytteadresse.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regel\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Prøvetagning\",\"tfDRzk\":\"Gem\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Skalering\",\"6aaceW\":\"Skalaens størrelse\",\"xbb037\":\"Sekunder til at beholde filer i cache.\",\"geM4Wc\":\"Sekunder før process genstartes.\",\"iF7dnC\":\"Sekunder før process afsluttes.\",\"mydmGn\":\"Sekunder før snapshot/billede af videokilde opdateres.\",\"a3LDKx\":\"Sikkerhed\",\"Gkr6zI\":\"Sikkerhedstoken\",\"/Ocrtf\":\"Seekbar farve\",\"4lDlYf\":\"Segment længde (sekunder)\",\"XfNrg+\":\"Segmentet vil blive klippet på det følgende keyframe, når denne tid er gået. 2 er anbefalet.\",\"jHCoDy\":\"Segment opdeling\",\"htbsw4\":\"Vælg en enhed:\",\"O+ruJ3\":\"Vælg lydkilde:\",\"6MTTpq\":\"Vælg RTMP eller SRT (hvis aktiveret) for at opnå mindre ventetid.\",\"E7haRr\":\"Vælg kilde ...\",\"PlZ1aw\":\"Vælg videokilde:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Vælg encoder setup:\",\"aT3o8A\":\"Vælg dine filterindstillinger (valgfrit):\",\"ylXj1N\":\"Udvalgte\",\"kYpw4+\":\"Valgt kanal\",\"p7/fS2\":\"Udvælgelse\",\"SOePwi\":\"Send anonyme målinger (hjælper os med fremtidig udvikling)\",\"kOhBl+\":\"Send stream til adresse ...\",\"E1X5xY\":\"Send strøm til denne adresse:\",\"d/IMf3\":\"Send video til Framebuffer\",\"sGH11W\":\"Server\",\"9rG25a\":\"Server-URL\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Navn på tjeneste\",\"DOrSw/\":\"Tjenestetoken til overvågning.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sessioner\",\"xwK3ty\":\"Indstil rav1e-konfigurationen ved hjælp af en :-separeret liste af nøgle=værdi-parametre.\",\"FIIk8R\":\"Indstiller en båndbreddegrænse i Mbit pr. sekund for udgående HLS-dataoverførsel. Alle tjenester, f.eks. RTMP og udgående processer, er medtaget i beregningen. Hvis båndbredden overskrides, modtager HLS-fremvisere HTTP-statuskode 509 (båndbreddegrænse overskredet). 0 er ubegrænset.\",\"cOG/FK\":\"Set antal HLS forbindelser. Hvis begrænsning overskrides vil modtager få en status 509 kode. (båndbrede begrænsning overskredet). 0 er ubegrænset.\",\"mcJFKm\":\"Indstilling for tilslutning til tjenesten.\",\"Tz0i8g\":\"Indstillinger\",\"IiOZ6R\":\"Indstillinger (eksperttilstand)\",\"t64OSP\":\"Indstillinger for /data-stien. Adgangen er beskyttet af\",\"Ytdvyh\":\"Indstillinger for /memfs-stien.\",\"1w3lYe\":\"Indstillinger gemt. Alle ændringer vil blive anvendt efter genstart af programmet.\",\"XUw3i9\":\"Del-knap\",\"oD0Oes\":\"Viser en reference til projektet.\",\"+vv4q2\":\"Tilmeld dig (gratis)\",\"JXVFAm\":\"Stille\",\"VSK9FJ\":\"Stille Audio\",\"L8Jb2l\":\"Sinus\",\"MxZN16\":\"Sidenavn\",\"Cj2Gtd\":\"Størrelse\",\"yTZe+y\":\"Øjebliksbillde\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Socket timeout (mikrosekunder)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Kilde\",\"sywlQb\":\"Kilde og kodning\",\"l9wI00\":\"Hastighed\",\"vdhBFK\":\"Forudindstillet hastighed\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT-udgang\",\"YqnAto\":\"SRT-server\",\"k6hpqB\":\"SRT-serveren er ikke aktiveret\",\"SzqwHY\":\"SRT-serverens lytteadresse.\",\"KwbjpB\":\"SRT-token til offentliggørelse og afspilning. Tokenet er værdien af streamid-parameteren \\\"token\\\".\",\"Aj28wT\":\"Forældet timeout (sekunder)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistik\",\"BrrIs8\":\"Opbevaring\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Gemmer seerstatistikkerne på disken.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream nøgle\",\"bqiH5R\":\"Stream-nøgle\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Stream navn\",\"eXELiS\":\"Stream navne\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Streamkilde til publikationstjeneste (eksperimentel).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL til stream\",\"+fVH0Y\":\"Støtte datarhei Restreamer\",\"5HSoct\":\"Understøtter HTTP (HLS, DASH), RTP, RTSP, RTSP, RTMP, SRT og meget mere.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Måladresse\",\"/K2CvV\":\"Skabelon\",\"2Ivkf/\":\"Skabelon, der skal bruges til at oprette webstedet for publikationen. Med knappen \\\"Slet\\\" fjernes valget fra systemet.\",\"4Y5H+g\":\"Betingelser\",\"tRNH6x\":\"Test mønster\",\"EtlVOt\":\"Test mønster (udvidet)\",\"wGPolR\":\"Tekstfarver\",\"m0TUJj\":\"Amplituden (0,0 - 1,0) af den genererede lydstrøm\",\"8C6xwe\":\"Programmet bruger en ældre version af indstillingerne.\",\"VPQVR2\":\"Den tilgængelige binære FFmpeg-version understøtter ikke nogen af de nødvendige protokoller.\",\"Gx9PPK\":\"Bitraten for lydstrømmen.\",\"T2kk3f\":\"Bærerfrekvensen\",\"JAOLK8\":[\"Kanalen \\\"\",[\"0\"],\"\\\" kunne ikke slettes\"],\"jNaBhy\":[\"Kanalen \\\"\",[\"0\"],\"\\\" er blevet slettet\"],\"SD8pYJ\":\"Sletning af denne kanal kan ikke genoprettes. Alle publikationer af denne kanal vil blive fjernet.\",\"bnkV//\":\"Input profil er ikke komplet. Definer Video og Audio kilde.\",\"wCYjmB\":\"Inputprofilen er ikke komplet. Definér venligst en video- og/eller lydkilde.\",\"JMaqWu\":\"Layoutet af lydstrømmen.\",\"0dqo+p\":\"Det maksimale antal playlist-segmenter. 0 vil indeholde alle segmenter. 6 anbefales.\",\"BDgbiW\":\"Støjens farve\",\"SxGu7I\":\"Du må kopiere og rette og fordele, samt anvende dette kommercielt og ukommercielt frit uden at spørge om lov.\",\"XISvrq\":\"Det offentlige domænenavn, der kan nås, for den vært, som Restreamer kører på. Adskil flere domænenavne med et komma.\",\"yt3d3G\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" kan ikke fjernes\"],\"zYcO/c\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" er oprettet\"],\"AQE+oz\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" fjernet\"],\"qVLWvp\":[\"Publicerings service \\\"\",[\"0\"],\"\\\" er blevet oprettet\"],\"njj2Wn\":\"RTMP-udgangen kræver RTMP-serveren.\",\"WRxiP8\":\"Hastighed på audio stream.\",\"/pZjRr\":\"Den valgte fil er for stor (<0/>). Kun <1/> er tilladt.\",\"VBaSn9\":[\"Den valgte filtype (\",[\"0\"],\") er ikke tilladt. Tilladte filtyper er \",[\"1\"]],\"fM410X\":[\"Konfiguration til \\\"\",[\"0\"],\"\\\" er gemt\"],\"02ii2e\":\"Kilde har ingen audio streams.\",\"+2cAEU\":\"Kilde har ingen audio streams. Undersøg <0>probe oplysninger.\",\"pfqmY7\":\"Kilde har ikke kompatible audio streams.\",\"VO9KeK\":\"Kilde har ikke kompatible audio streams. undersøg <0>krav.\",\"007foU\":\"Kilde har ingen video streams. Undersøg <0>probe oplysninger.\",\"lAsMdV\":\"Kilde har igen video streams. undersøg enheden.\",\"XlnvcR\":\"SRT-udgangen kræver SRT-serveren.\",\"w6uuIE\":\"Videokilden leverer ikke nogen kompatibel lydstrøm. <0>Silence audio anbefales. Tjenester som f.eks. YouTube, Facebook & Co. kræver en lydkanal.\",\"YJJ2RL\":\"Video kilde er kompatibel. Vælg opløsning:\",\"wEiZHy\":\"Der er opdateringer til rådighed. Her får du flere oplysninger.\",\"4p1MgS\":\"Der var et problem med at gemme indstillingerne. Indstillingerne blev ikke gemt.\",\"YJhhwT\":[\"Der var en fejl ved forbindelsen til Restreamer Core på \",[\"0\"],\".\"],\"q42VsF\":[\"Der opstod en fejl under upload: \",[\"0\"]],\"HM96PJ\":\"Der var en fejl i opsætning af stream.\",\"LoDP+Y\":\"Der var nogle fejl i konfiguration. Konfiguration ikke gemt.\",\"l92ZKN\":\"Der er ingen login-metode tilgængelig.\",\"cPKuc8\":\"Dette er en dummy-tjeneste, som forklarer dig begreberne i forbindelse med tjeneste.\",\"Ku8nyu\":\"Dette er ikke nødvendigvis en fejl. Det kan dog tage lidt længere tid for Restreamer Core at genstarte..\",\"vCRP3w\":\"Dette er for at nævne de ophavsretlige regler for målet for denne tjeneste.\",\"Hx7k3c\":\"Denne licens tillader genbrugere at kopiere og distribuere materialet i ethvert medium eller format i ubearbejdet form, og kun så længe skaberen angives som kilde. Licensen giver mulighed for kommerciel brug.\",\"6OeMYB\":\"Denne licens tillader genbrugere at kopiere og distribuere materialet i ethvert medium eller format i ubearbejdet form, kun til ikke-kommercielle formål og kun så længe skaberen er nævnt.\",\"TUuhsB\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medie eller format til ikke-kommercielle formål, og kun så længe skaberen er nævnt.\",\"kVtKRl\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medie eller format til ikke-kommercielle formål, og kun så længe skaberen er nævnt. Hvis du remixer, tilpasser eller bygger videre på materialet, skal du give licens til det ændrede materiale på de samme vilkår.\",\"FpX5mp\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medium eller format, så længe skaberen angives. Licensen giver mulighed for kommerciel brug.\",\"SDvwLd\":\"Denne licens tillader genbrugere at distribuere, remixe, tilpasse og bygge videre på materialet i ethvert medium eller format, så længe skaberen angives. Licensen giver mulighed for kommerciel brug. Hvis du remixer, tilpasser eller bygger videre på materialet, skal du give licens til det ændrede materiale på de samme vilkår.\",\"H144rX\":\"Denne protokol er ukendt eller understøttes ikke af den tilgængelige binære FFmpeg-protokol.\",\"nlOxxw\":\"Denne kilde kan ikke redigeres, mens den er i brug. Hvis du vil fortsætte, skal du afbryde forbindelsen til kilden.\",\"mbSyrG\":[\"Denne version af brugergrænsefladen understøtter ikke den tilgængelige binære FFmpeg-version (\",[\"0\"],\"). Brugergrænsefladen kræver \",[\"1\"],\". Brug venligst en understøttet FFmpeg-binærfil.\"],\"N/tTgz\":[\"Denne version af brugergrænsefladen understøtter ikke den tilsluttede kerne (\",[\"0\"],\"). Brugergrænsefladen kræver \",[\"1\"],\". Brug venligst en kompatibel version af brugergrænsefladen.\"],\"2Vq5tr\":\"Denne version af brugergrænsefladen er kompatibel.\",\"QxX9Z5\":\"Tærskel (sekunder)\",\"sNmspt\":\"Flise-søjler\",\"sYGp2E\":\"Fliserækker\",\"wbOpwP\":\"Fliser\",\"H59P7E\":\"Tid, indtil en inaktiv seerforbindelse behandles som lukket.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"For at stabilisere systemet skal du øge HLS-segmentlængden for keyframe-intervallet med 2-3 * (Behandling og kontrol).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Top felt\",\"7mjsuh\":\"Overfør et livestream til en Telegram-kanal.\",\"Gxlq7L\":\"Overfører øjebliksbilleder af hovedkilden til en HTTP/S-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"SdyhUl\":\"Overfører hovedkildens lydkanal til en Icecast-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"MayU3b\":\"Overfør hovedkilden som HTTP-Live-Streaming (HLS) til en HTTP/S-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"3K8kpL\":\"Overfør hovedkilden som MPEG-DASH til en HTTP/S-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"P/J230\":\"Overfør hovedkilden til en Brightcove Live-tjeneste. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"u0MhFy\":\"Overfører hovedkilden til en CDN77 RTMP-tjeneste. Mere om opsætningen <0>her.\",\"zkgT7c\":\"Overfører hovedkilden til en DaCast RTMP-tjeneste. Mere om opsætningen <0>her.\",\"in9xJz\":\"Overfører hovedkilden til en datarhei Core Ressource. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"PcgwEU\":\"Overfør hovedkilden til en livespotting.com Ressource. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"D7jwpf\":\"Overfører hovedkilden til en MPEG-TS-tjeneste. Du kan finde flere oplysninger om indstillingerne her <0>her.\",\"SpSgUV\":\"Overfør hovedkilden til en Red5/Pro Server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"lIpqI/\":\"Overfør hovedkilden til en RTMP(e|s|t|te|ts)-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"pqR6nq\":\"Overfører hovedkilden til en RTSP-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"Q4dSnZ\":\"Overfører hovedkilden til en SRT-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"fx9S4p\":\"Overfører hovedkilden til en UDP-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"GLXY2N\":\"Overfør hovedkilden til en WOWZA-server. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"AsMKFi\":\"Overfør hovedkilden til Akamai (MSL) Media Services Live. Du kan finde flere oplysninger om MSL Encoder-indstillingerne på <0>her.\",\"FB364G\":\"Overfør hovedkilden til Livepush RTMP-tjenesten. Flere detaljer om indstillingerne kan findes <0>her.\",\"CC9yS5\":\"Overfør hovedkilden til Nimo TV RTMP-tjenesten. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"fP8ZYg\":\"Overfør hovedkilden til Picarto TV RTMP-tjenesten. Flere detaljer om indstillingerne kan findes <0>her.\",\"D9A0LK\":\"Overfører hovedkilden til Restream RTMP-tjenesten. Du kan finde flere oplysninger om indstillingerne <0>her.\",\"YL800g\":\"Overfør til en Azure Media Services. Du kan finde flere oplysninger <0>her.\",\"Abgy4c\":\"Overfør til LinkedIn. Du kan finde flere oplysninger <0>her.\",\"dhCZoS\":\"Send din Livestream til en Dailymotion RTMP-tjeneste. <0>Her kan du finde flere detaljer om indstillingerne.\",\"tQNclD\":\"Send din Livestream til en Kick.com RTMP-tjeneste. <0>Her kan du finde flere detaljer om indstillingerne.\",\"mQ0sjr\":\"Overfør dit Livestream til en Owncast-server. <0>Her kan du finde flere oplysninger om indstillingerne.\",\"AqYRa3\":\"Send din Livestream til en Rumble RTMP-tjeneste. <0>Her kan du finde flere detaljer om indstillingerne.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Overfører din videostream med den nødvendige nøgle, som blev genereret i Twitter Producer. Du kan finde flere oplysninger om opsætning af en livestream på Twitter <0>Producer.\",\"ADKef2\":\"Afstemning\",\"8jwViA\":\"UDP-transport\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Kan ikke indlæse konfigurationen.\",\"MWrgON\":\"Unikt id på tjenesten.\",\"Ef7StM\":\"Ukendt\",\"wiIpKZ\":\"Ukendt uploadfejl\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Ikke-valgt\",\"j9zg7e\":\"Detaljer om opdatering (Ændringsliste)\",\"ONWvwQ\":\"Overfør\",\"OXItQT\":[\"Upload en lydfil (\",[\"0\"],\") for at sætte den i loop.\"],\"75yxb7\":[\"Upload et billede eller en videofil (\",[\"0\"],\") for at sætte den i loop.\"],\"iAkPTY\":\"Uploading af filen mislykkedes\",\"Jmy6pK\":\"Uploading af logoet mislykkedes\",\"xl1xFp\":\"Upload af plakaten mislykkedes\",\"TjrbDj\":\"Driftstid\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Brug Auth0 til din kørende Restreamer Core. Flere <0>detaljer.\",\"JX4TqK\":\"Brug guiden (<0/>) til en hurtig og nem opsætning, eller rediger (<1/>) kilderne direkte i brugerdefineret tilstand.\",\"YYTBz0\":\"Brug din ophavsret, og vælg den korrekte billedlicens. Uanset om den er fri for alle eller stærkt begrænset. Diskuter kort, hvad andre må gøre med dit billede.\",\"2UPEb1\":\"Brug din ophavsret, og vælg den rigtige billedlicens. Uanset om den er fri for alle eller stærkt begrænset. Diskuter kort, hvad andre må gøre med dit billede.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Registrering af brugere\",\"7sNhEz\":\"Brugernavn\",\"Gv3pbp\":\"Brugernavn for \",\"RQSvXZ\":\"Brugernavn til enheden.\",\"zze3B5\":\"V4L2_M2M er eksperimentel.\",\"PvM7Yi\":\"Variabel billedfrekvens (VFR)\",\"hpBTpL\":\"fløjl\",\"uIAsxu\":\"Lodret flip\",\"vSJd18\":\"Video\",\"auaWhL\":\"Videoenhed\",\"/skRGV\":\"Videoindstillinger\",\"EzOjvB\":\"Opsætning af video\",\"QcQXbU\":\"Kilde til video\",\"M/TIv1\":\"Seer\",\"L2hKw+\":\"violet\",\"hA6FFn\":\"Virtuel kilde\",\"/cF7Rs\":\"Volumen\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Vi anbefaler OpenMAX IL til Raspberry PI (3/4) med et 32-bit operativsystem.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Velkommen til Restreamer v2, løsningen til hurtig og nem udgivelse af video. Gratis til privat og kommerciel brug. Yderligere hjælp i <0>docs.\",\"hJfWkA\":\"Hvilken hastighedsindstilling skal du bruge?\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Hvor skal HLS-spillelisten og segmenterne gemmes. In-Memory anbefales.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"hvid\",\"aFWU1n\":\"Bredde\",\"e0wV2Y\":\"Beskyttelse mod skrivning\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Ja\",\"WPUsOF\":\"Du kan ikke afbryde guiden, fordi der skal være defineret mindst ét input.\",\"qwY9F9\":\"Du har ændret konfigurationen. For at ændringerne kan træde i kraft, skal du genstarte programmet. Ønsker du at genstarte nu?\",\"nxq2ni\":\"Du skal genetablere forbindelsen manuelt\",\"RM3CEc\":\"Du har ændringer, der ikke er gemt. Gem dem venligst, før du kan styre tjenesten igen.\",\"/cg7qS\":\"Din stream skal kodes, men der er ingen egnet encoder tilgængelig.\",\"BwrOm6\":\"Din stream skal være kodet. Vælg den ønskede encoder:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV-testmønster\"}")}; \ No newline at end of file diff --git a/src/locales/da/messages.po b/src/locales/da/messages.po index 9dcf7be..da9f92a 100644 --- a/src/locales/da/messages.po +++ b/src/locales/da/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Kompatibilitetsliste" msgid "<0>Show probe details" msgstr "<0>Se probe data" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Skift til grænsefladen for mål-Restreamer." @@ -76,11 +76,16 @@ msgstr "Afbryd" msgid "About" msgstr "Om" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Lyd" @@ -302,10 +311,6 @@ msgstr "Forfatter" msgid "Authorization" msgstr "Godkendelse" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Auto afspil" msgid "Available" msgstr "Tilgængelig" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Cache-tid (sekunder)" msgid "Cache types" msgstr "Cache-typer" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Farve" msgid "Command" msgstr "Kommando" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Konfigurer" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Tilsluttet enhed" msgid "Connected since <0/>" msgstr "Forbundet siden <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Forbinder ..." @@ -616,15 +618,19 @@ msgstr "Konstant kvantiseringstilstand (-1 til 255)." msgid "Content" msgstr "Indhold" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "Indhold URL" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "CPU-grænse (procent)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Grænse for CPU-brug i procent (0-100%), 0 for ubegrænset." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Deinterlace-tilstand" msgid "Deinterlace parity" msgstr "Deinterlace paritet" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Forsinkelse" @@ -851,14 +841,6 @@ msgstr "Det er ikke muligt at slette en publikationstjeneste. Offentliggørelsen msgid "Delivering mode" msgstr "Leveringsmåde" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Afbrudt" msgid "Disconnect & Continue" msgstr "Afbryd forbindelsen og fortsæt" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Spiller" msgid "EDIT: Publication Website" msgstr "EDIT: Websted for offentliggørelse" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "E-mail" msgid "Embed" msgstr "Indlejre" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Kodning" msgid "Encryption" msgstr "Kryptering" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Indtast et navn for den nye kanal." @@ -1101,12 +1099,12 @@ msgstr "Fejl" msgid "Error while copying data to clipboard" msgstr "Fejl under kopiering af data til udklipsholderen" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Fejl: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Filsti" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filter" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Almindelig" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Google Analytics Tracker Name" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Hardware-enhed" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Overskrift" msgid "Height" msgstr "Højde" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "HLS-statistik for lagring i hukommelse" msgid "Horizontal Flip" msgstr "Vandret flip" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Hosted Restreamer-grænseflade" @@ -1438,8 +1429,8 @@ msgstr "HTTPS-port" msgid "Human readable name on the service." msgstr "Menneskeligt læsbart navn på tjenesten." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Uforenlig" msgid "Inherit" msgstr "Arve" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Injicere 1" @@ -1527,6 +1514,14 @@ msgstr "Injicere 3" msgid "Inject 4" msgstr "Injicere 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Keyframe-interval (sekunder)" msgid "Layout" msgstr "Opsætning" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Let's Encrypt certifikat" @@ -1668,6 +1659,10 @@ msgstr "Streaming til Twitch Live RTMP Service." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Live-streaming til Vimeo Live RTMP-tjeneste" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "Normalisering af lydstyrke" msgid "Low latency (Buffer)" msgstr "Lav latenstid (buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Hovedkanal" @@ -1848,6 +1843,10 @@ msgstr "Metadata" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, standard {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Skimmelsvamp" @@ -1870,7 +1869,7 @@ msgstr "Mere om Twitters ophavsret <0>her." msgid "More about YouTube's copyright <0>here." msgstr "Mere om YouTube's copyright <0>here." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Igen lyd" msgid "No audio stream available" msgstr "Ingen lydstrøm tilgængelig" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Ingen input-enhed tilgængelig" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Der blev ikke fundet nogen live stream. Kontroller venligst den software, der sender strømmen." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Igen kilde valgt" @@ -1989,7 +1972,7 @@ msgstr "Ingen egnet encoder fundet." msgid "No suitable filter found." msgstr "Der er ikke fundet noget egnet filter." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Ingen video" @@ -1998,10 +1981,6 @@ msgstr "Ingen video" msgid "No video stream available" msgstr "Igen stream tilgængelige" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Node ID" @@ -2052,10 +2031,6 @@ msgstr "Antal fliser, der kodes med." msgid "Number of tiles rows to encode with." msgstr "Antal fliserækker, der skal kodes med." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Én henvisningsadresse pr. linje, f.eks. http://www.example.com" msgid "Open" msgstr "Åbn" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Output buffer" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Adgangskode til enheden." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Afspiller-liste" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Version af afspilningsliste (M3U8). Version 3 har den bedste browser/klient-kompatibilitet." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Tjek venligst <0>procesloggen" @@ -2309,16 +2284,9 @@ msgstr "Preset" msgid "Primary stream" msgstr "Primær stream" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Proces" msgid "Process control" msgstr "Proceskontrol" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Procesoplysninger" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protokol" msgid "Protocols" msgstr "Protokoller" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Offentligt domæne/offentlige domæner" @@ -2437,6 +2401,10 @@ msgstr "Pull-tilstand" msgid "Pull or recieve the data:" msgstr "Træk eller modtag dataene:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Genopret" msgid "Reconnect delay (seconds)" msgstr "Forsinkelse af genforbindelse (sekunder)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Region" msgid "Register user" msgstr "Registrer bruger" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Fjern de ældste indhold hvis /memfs er fuld" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Restreamer-vejledning" msgid "Restreamer Service" msgstr "Restreamer-tjeneste" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Modtager stream data ..." @@ -2618,15 +2578,15 @@ msgstr "Genforsøg" msgid "RGB test pattern" msgstr "RGB test mønster" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Drej" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Regel" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Skalering" msgid "Scale size" msgstr "Skalaens størrelse" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Sekunder til at beholde filer i cache." @@ -2778,10 +2738,6 @@ msgstr "Segmentet vil blive klippet på det følgende keyframe, når denne tid e msgid "Segmentation" msgstr "Segment opdeling" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Vælg kilde ..." msgid "Select video source:" msgstr "Vælg videokilde:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Vælg, om du henter strømmen fra en <0>netværkskilde (f.eks. et netværkskamera) eller den <1>interne RTMP-server (f.eks. OBS-streams til Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Navn på tjeneste" msgid "Service token for monitoring." msgstr "Tjenestetoken til overvågning." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Indstillinger" msgid "Settings (expert mode)" msgstr "Indstillinger (eksperttilstand)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Indstillinger for /data-stien. Adgangen er beskyttet af" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Størrelse" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Øjebliksbillde" @@ -3005,7 +2957,7 @@ msgstr "Hastighed" msgid "Speed Preset" msgstr "Forudindstillet hastighed" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Fliser" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Tid, indtil en inaktiv seerforbindelse behandles som lukket." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "For at stabilisere systemet skal du øge HLS-segmentlængden for keyframe-intervallet med 2-3 * (Behandling og kontrol)." @@ -3477,18 +3413,6 @@ msgstr "For at stabilisere systemet skal du øge HLS-segmentlængden for keyfram msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Top felt" @@ -3627,12 +3551,12 @@ msgstr "Afstemning" msgid "UDP transport" msgstr "UDP-transport" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Ukendt" msgid "Unknown upload error" msgstr "Ukendt uploadfejl" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Upload af plakaten mislykkedes" msgid "Uptime" msgstr "Driftstid" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Brug din ophavsret, og vælg den rigtige billedlicens. Uanset om den er msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Registrering af brugere" @@ -3773,10 +3693,6 @@ msgstr "Brugernavn for " msgid "Username for the device." msgstr "Brugernavn til enheden." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M er eksperimentel." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Vi anbefaler OpenMAX IL til Raspberry PI (3/4) med et 32-bit operativsystem." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Velkommen til Restreamer v2, løsningen til hurtig og nem udgivelse af v msgid "What speed preset to use." msgstr "Hvilken hastighedsindstilling skal du bruge?" +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Hvor skal HLS-spillelisten og segmenterne gemmes. In-Memory anbefales." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "hvid" @@ -3881,6 +3809,10 @@ msgstr "Bredde" msgid "Write protection" msgstr "Beskyttelse mod skrivning" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Ja" @@ -3893,7 +3825,7 @@ msgstr "Du kan ikke afbryde guiden, fordi der skal være defineret mindst ét in msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Du har ændret konfigurationen. For at ændringerne kan træde i kraft, skal du genstarte programmet. Ønsker du at genstarte nu?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Du skal genetablere forbindelsen manuelt" @@ -3910,14 +3842,6 @@ msgstr "Din stream skal kodes, men der er ingen egnet encoder tilgængelig." msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Din stream skal være kodet. Vælg den ønskede encoder:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/de/messages.js b/src/locales/de/messages.js index 7474dfc..dac05b9 100644 --- a/src/locales/de/messages.js +++ b/src/locales/de/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Kompatibilitätsliste\",\"TkRUk0\":\"<0>Details der Überprüfung anzeigen\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"Wechseln Sie auf die Oberfläche des Ziel-Restreamers.\",\"2JnpXL\":\"Erstellen Sie einen neuen Kanal und wählen RTMP- oder SRT-Server aus.\",\"YidyJl\":\"Kopieren Sie die URL und fügen Sie sie in das Feld \\\"Ziel-Adresse\\\" ein.\",\"X1MZZp\":\"6 (+ garantierter Start mit einem Keyframe)\",\"JVJkxU\":\"7 (+ fragmentierte MP4 Format)\",\"ssjjFt\":\"Abbrechen\",\"uyJsf6\":\"Über\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Hinzufügen\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Fügen Sie externe Widgets und Stile zur Publikationsseite hinzu. Einige Beispiele finden Sie auf der Hilfeseite.\",\"tsJWSj\":\"Neuen Kanal hinzufügen\",\"PLTLdv\":\"Publikation hinzufügen\",\"35l+l6\":[\"Hinzufügen: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adresse\",\"8M7jVn\":\"Adresse des Hintergrundbildes.\",\"Vu9yiv\":\"Die Adresse für das Abhören von HTTP-Anfragen.\",\"AQDW5r\":\"Die Adresse für das Abhören von HTTPS-Anfragen.\",\"tPrmjP\":\"Adresse:\",\"owt8Ow\":\"Farben und den Hintergrund der Publikationsseite nach Belieben anpassen.\",\"uNXGDK\":\"Erweiterte Systemüberwachung\",\"VNgKZz\":\"Erweiterte Einstellungen\",\"eiGNYb\":\"Erweiterte Einrichtung\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Benachrichtigung per E-Mail\",\"N40H+G\":\"Alle\",\"Hw5q+W\":\"Alle Frames\",\"f2zxGk\":\"Alle wichtigen Systemeinstellungen.\",\"lle3bd\":\"Erlaube alle Referrer\",\"bgFbIB\":\"Erlaubt das Zählen der Anzahl des Publikums vom Stream.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"Eine Umgebungsvariable legt diesen Wert fest.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API-Endpunkt nicht gefunden. Einstellungen nicht gespeichert.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Anwendung\",\"xnCC/2\":\"Sind Sie sicher, dass Sie den Assistenten abbrechen wollen?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Audiogerät\",\"sYyYfE\":\"Audiogerät\",\"2he4Ra\":\"Audio von Gerät\",\"MvY15a\":\"Audio-Einstellungen\",\"NoLJ6g\":\"Audio-Einrichtung\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 ist derzeit nicht verfügbar, da diese Schnittstelle von einer unsicheren Quelle geladen wurde.\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Autorisierung\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Automatisch\",\"6yEk/V\":\"Automatische Bereinigung aller Mediadateien\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Verfügbar\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Zurück\",\"1KfyNL\":\"Hintergrundfarben\",\"23c2Uw\":\"Hintergrundbild\",\"r0bEmM\":\"Backup-Server\",\"JFjQhH\":\"Backupstream\",\"bkJ+QE\":\"Backup-URL\",\"OlXThP\":\"Bandbreite\",\"QYaaBO\":\"Bandbreitensteuerung\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Basic\",\"YR04fn\":\"Piep-Faktor\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Cache-Typen blockieren\",\"zOC7cT\":\"blau\",\"359XuU\":\"Unteres Feld\",\"aC3kWW\":\"Beschreiben Sie kurz, was die Zuschauenden während des Live-Streams sehen werden.\",\"SehDNd\":\"braun\",\"Ptp9MF\":\"Farbe des Knopfes\",\"Lp4WkO\":\"Nach Höhe\",\"IeV/4P\":\"Nach Breite\",\"KxP5AO\":\"Cache für Dateien auf /data.\",\"qX8ffo\":\"Cache-Zeit (Sek)\",\"4dRAku\":\"Cache-Typen\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Eingangs-Buffer\",\"aL2+1d\":\"Klicks erfassen\",\"EOfLfP\":\"Mauszeiger erfassen\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" gespeichert\"],\"lfFsZ4\":\"Kanäle\",\"WMCwmR\":\"Nach Updates suchen\",\"vM6kpc\":\"Anforderungen prüfen\",\"Wzgqhl\":\"Videostream wählen\",\"JpTR0/\":\"Audiostream wählen\",\"BTNyrQ\":\"Eingabegerät wählen …\",\"f9QIui\":\"Wählen Sie einen Eingangs-Stream ...\",\"/Y6zrN\":\"Wähle zwischen CFR und VFR (Auto)\",\"gObOjh\":\"Codec wählen …\",\"v7lrmU\":\"Wähle einen Tenant\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Segment\",\"yz7wBu\":\"Schliessen\",\"r8NEPc\":\"Code Injection\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Farbe\",\"sjVfrA\":\"Befehl\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Konfiguration\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Bestätigen Sie das Passwort\",\"iSLIjg\":\"Verbinden\",\"NL3Gev\":\"Verbundenes Gerät\",\"ywAvGr\":\"Verbunden für <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Verbinde ...\",\"y6+BXa\":\"Mit Restreamer Core verbinden …\",\"Td5lm6\":\"Die Verbindung zu Restreamer Core ist wahrscheinlich wegen gemischter Inhalte fehlgeschlagen.\",\"awE5Py\":\"Konstante Framerate (CFR)\",\"DT0Af/\":\"Konstanter Quantisierungsmodus (-1 bis 255).\",\"4b3oEV\":\"Inhalt\",\"U34RbB\":\"Inhalts-URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU-Limit (Prozent)\",\"uW5tVo\":\"CPU-Limit in Prozent (0-100%), 0 für unbegrenzt.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Individuell …\",\"kH80Lk\":\"Individuelles Audiogerät\",\"fW1XQD\":\"Individueller Audio-Index\",\"bzREp0\":\"Individuelle Bitrate (kbit/s)\",\"w9oKek\":\"Injektion von Individuellem Code\",\"jYaP01\":\"Individuelle Verzögerung\",\"2Gw+zZ\":\"Individuelles Gerät\",\"WCXGNp\":\"Individuelles Format\",\"ZkpZ06\":\"Individuelle Bildfrequenz\",\"1OXCgh\":\"Individuelle JSON Konfiguration für den datarhei Core.\",\"kl56NX\":\"Individuelles Keyframe-Intervall\",\"prIqWa\":\"Individuelles Aussehen\",\"HSB43e\":\"Individuelle Abtastung (Hz)\",\"Efe3BI\":\"Individuelle Skalierung\",\"E/2KdS\":\"Individuelle Größe\",\"Se794B\":\"Individuelles Videogerät\",\"aqv915\":\"Individueller Video-Index\",\"v8OlX8\":\"Daten wurden in die Zwischenablage kopiert\",\"J/VBax\":\"Death color\",\"d2TTfK\":\"Dezibel (dB)\",\"W034oz\":\"Decoder\",\"ovBPCi\":\"Standard\",\"gFwPaj\":[\"Standard \",[\"0\"]],\"JQnkrI\":[\"Standard \",[\"0\"],\" (\",[\"1\"],\" Sekunden)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace Frames\",\"g3JmiG\":\"Deinterlace-Modus\",\"aro6lN\":\"Deinterlace-Parität\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Verzögerung\",\"qBC9g9\":\"Verzögerung (ms)\",\"cnGeoo\":\"Löschen\",\"ScK3zL\":\"Die Löschung eines Publikationsdienstes kann nicht rückgängig gemacht werden. Die Veröffentlichung wird sofort gestoppt.\",\"cEx3oI\":\"Zustellmodus\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Beschreibung\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Gerät\",\"+K0AvT\":\"Trennen\",\"miKA/E\":\"Trennen und fortfahren\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Trennen ...\",\"sPFHpI\":\"Festplatte\",\"qczNPP\":\"Festplatten Zwischenspeicher\",\"PUqOjv\":\"Festplattenspeicher\",\"uTwT/l\":\"Möchten Sie die Anwendung wirklich neu starten?\",\"FgxcNT\":[\"Soll \\\"\",[\"0\"],\"\\\" gelöscht werden?\"],\"NogZqg\":[\"Möchten Sie \",[\"title\"],\" löschen?\"],\"0p+Mpn\":[\"Möchten Sie die Verbindung zu „\",[\"0\"],\"“ unterbrechen?\"],\"TbjyhA\":\"Dokumente\",\"TvY/XA\":\"Dokumentation\",\"jPtEhI\":\"Duplizierte Frames\",\"diaSRH\":\"Jedes Feld\",\"u2SnNO\":\"Jedes Frame\",\"ePK91l\":\"Bearbeiten\",\"INCFjw\":\"Bearbeiten Sie die Audio- und Videoquellen für den Live-Stream. Fügen Sie eine Beschreibung hinzu, und legen Sie die gewünschte Inhaltslizenz fest.\",\"+7Wr2a\":[\"Bearbeiten: \",[\"title\"]],\"e3GLqI\":\"EDIT: Player\",\"dTPDyf\":\"BEARBEITEN: Publikation Website\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Einbetten\",\"PaQ3df\":\"Aktivieren\",\"No9svk\":\"Periodischen Piepton jede Sekunde mit diesem Wert mal der Trägerfrequenz aktivieren\",\"R7s0Th\":\"Backupstream aktivieren\",\"xA5zBY\":\"Nerd-Statistiken einschalten\",\"r0zP4o\":\"Jetzt aktivieren\",\"JwR989\":\"Primären Stream aktivieren\",\"blkDNw\":\"RTMP-Server aktivieren …\",\"FgEhO4\":\"Erlauber RTMPS-Transfer\",\"uGvvxq\":\"Momentaufnahme aktivieren\",\"IuL64N\":\"SRT Server aktivieren ...\",\"NJsnxf\":\"Es wird dringend empfohlen, die Autorisierung zu aktivieren. Andernfalls kann jeder auf diese Instanz zugreifen.\",\"xwS6bX\":\"Es wird dringend empfohlen, die Basisauthentifizierung zu aktivieren. Andernfalls könnte jeder Daten in /memfs schreiben.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Kodierung\",\"q1srUM\":\"Verschlüsselung\",\"qS2y97\":\"Einen Namen für den neuen Kanal eingeben.\",\"f7sXvi\":\"Passwort eingeben\",\"5QCNrf\":\"Adresse des Netzwerkquelle eintragen:\",\"WLnvCZ\":\"Anmeldename eingeben\",\"ijwVVM\":\"Entropy coder\",\"SlfejT\":\"Fehler\",\"sHoMKO\":\"Fehler beim Kopieren von Daten in die Zwischenablage\",\"TpqeIh\":[\"Fehler: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Erweitert den Bereich oberhalb der Kanalliste (Live-Chat).\",\"IBJg8n\":\"Erweitert den Bereich unter der Kanalbeschreibung (Kommentarfelder).\",\"XeunlQ\":\"Expertenmodus\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Kanalliste erweitern\",\"tG09kC\":\"Inhalt erweitern\",\"bPWJOj\":\"Fußzeile erweitern\",\"SeaRa5\":\"Header erweitern\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Publikationsdienst konnte nicht erstellt werden (\",[\"0\"],\")\"],\"yT6MEY\":\"Die Dateien der Publikations-Website konnten nicht erstellt werden.\",\"FGdPhH\":\"Prüfen der Quelle ist fehlgeschlagen. <0>Details der Überprüfung ansehen.\",\"DvfYM2\":[\"Token konnte nicht aktualisiert werden: \",[\"0\"]],\"J0Jclh\":\"Speichern der Ingest-Metadaten fehlgeschlagen\",\"RPXHsU\":\"Prozess konnte nicht angehalten werden\",\"AhS7uc\":\"Die Einstellung für die Playergröße konnte nicht gespeichert werden.\",\"PcJRf4\":[\"Publikationsdienst konnte nicht gespeichert werden (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Aktualisierung des Ingest-Prozesses fehlgeschlagen (\",[\"0\"],\")\"],\"t1E1OU\":[\"Aktualisierung des Vorschaubild-Prozesses fehlgeschlagen (\",[\"0\"],\")\"],\"bssUbs\":\"Aktualisierung des Players fehlgeschlagen\",\"4SzVSX\":\"Aktualisierung der Playerseite fehlgeschlagen\",\"H8gP5T\":\"Die Quelle konnte nicht verifiziert werden. Bitte Adresse prüfen.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Dateipfad\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Speichern\",\"k4A6IZ\":\"Feste Grösse\",\"Xgkhyj\":\"Flaggen\",\"+L0/av\":\"Für Javascripte.\",\"VBU6dD\":\"Für Stylesheets.\",\"XDTTEp\":\"Bildfrequenz für die Eingabe erzwingen\",\"Y5YNoi\":\"Erzwinge Keyframes\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Verlorene Frames\",\"lPICcX\":\"Frames durchreichen (Passthrough)\",\"T8wPu0\":\"Bildspeicher\",\"Ou/g2q\":\"Bildfrequenz\",\"RFrfTY\":\"Framerate-Konvertierung (Frame-Interpolation)\",\"xDfHbM\":\"Framerate Modus\",\"4xNpe4\":\"Frequenz (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Allgemein\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Name Google Analytics Tracker\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Hardwaregerät\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Kopfzeile\",\"+670Zw\":\"Überschrift\",\"PFFhCT\":\"Höhe\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS-Ausgabe\",\"oMxmoP\":\"HLS-Server\",\"5/G5c1\":\"HLS-Statistik für den In-Memory-Speicher\",\"wXoUQx\":\"Horizontal spiegeln\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Gehostete Restreamer-Oberfläche\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP und HTTPS\",\"YmRLab\":\"HTTP Port\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS Port\",\"Ptrvx5\":\"Von Menschen lesbarer Name des Dienstes.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Wenn Sie die Ports geändert haben, kann es sein, dass Restreamer Core bereits neu gestartet wurde, aber jetzt auf einem anderen Port verfügbar ist.\",\"OQONQS\":\"Wenn Sie Let’s Encrypt TLS aktiviert haben, kann es einige Zeit dauern, die Zertifikate zu erwerben. Stellen Sie sicher, dass Restreamer Core über Port 80 aus dem Internet erreichbar ist. Bitte überprüfen Sie das Protokoll in der Konsole von Restreamer Core.\",\"yWR5EY\":\"iframe Code\",\"7ZKroD\":\"IP-Bereiche ignorieren\",\"VyUuZb\":\"Bild-URL\",\"5n8FKh\":\"Impressum\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Neben dem Player bietet der Restreamer eine komplette Landingpage, mit der Sie Ihren Live-Stream einfach und schnell präsentieren können.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"In-Memory-Speicher\",\"xmsVuq\":\"Inkompatibel\",\"exUN1j\":\"Übernehmen\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Inject 1\",\"MJlrvd\":\"Inject 2\",\"MppU96\":\"Inject 3\",\"zBVRQb\":\"Inject 4\",\"Adqgqr\":\"Eingangs-Stream\",\"jnyWFc\":\"Instanz-Domain\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervall (Sekunden)\",\"C4WaV1\":\"Fehler melden\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Keyframe-Intervall (Sekunden)\",\"rdU729\":\"Layout\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Zertifizierung mit Let’s Encrypt\",\"LgUs17\":\"Let’s Encrypt erfordert einen oder mehrere öffentliche Domainnamen und einen zugänglichen Port 80/TCP.\",\"oCHfGC\":\"Level\",\"eyLS1J\":\"Ebene des Systemprotokolls.\",\"iQmbPb\":\"Lizenz\",\"mQImez\":\"Life color\",\"6BDqha\":\"Grenzen\",\"1pbzRr\":\"Linienfarbe\",\"Ce6Hrg\":\"Linien\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, Mouseover\",\"xCrpEt\":\"List der nicht zu cachenden Dateiwerweiterungen (z. B. \\\".m3u8\\\"), eine pro Zeile. Leer lassen, um keine Dateitypen auszuschliessen.\",\"m2l8c3\":\"Liste der zu cachenden Dateierweiterungen (z. B. \\\".html\\\"), eine pro Zeile. Leer lassen, um alle Dateitypen zu cachen.\",\"QYw6tl\":\"Liste der IP-Bereiche in CIDR-Notation, z. B. 127.0.0.1/32, die von der Statistik nicht erfasst werden sollen - ein IP-Bereich pro Zeile. Leer lassen, um alle Sitzungen aufzuzeichnen.\",\"ELFO4F\":\"Listengröße (Segmente)\",\"D0Nwch\":\"Live-Streaming zum dlive Live RTMP-Dienst.\",\"n2VKys\":\"Live-Streaming zum Facebook Live RTMP-Dienst\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming zum Media Network RTMP-Dienst.\",\"w9zSAv\":\"Live-Streaming zum PeerTube v3+ RTMP/S-Dienst.\",\"SZ9Q++\":\"Live-Streaming zum Trovo Live RTMP-Dienst.\",\"JJGagy\":\"Live-Streaming zu Twitch.\",\"4TnPVp\":\"Live-Streaming zu Vimeo\",\"G4x3PY\":\"Livesource-ID\",\"0aIqC4\":\"Protokollierungsebene\",\"x7PDL5\":\"Protokollierung\",\"z0t9bb\":\"Anmelden\",\"+fL+Rj\":[\"Login fehlgeschlagen: \",[\"0\"]],\"4cd7gw\":\"Login fehlgeschlagen: Konnte die API-Details nicht laden\",\"sNqu7k\":\"Anmeldung/JWT-Autorisierung\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Abmelden\",\"DYX2fZ\":\"Schleife\",\"SzaPTL\":\"Lautheitsnormalisierung\",\"QGvS9k\":\"Geringe Latenz (Buffer)\",\"GaV7al\":\"Hauptkanal\",\"Wsn0Uw\":\"Hauptkanal nicht gefunden\",\"tROIde\":\"Hauptkanal gespeichert\",\"nLVSux\":\"Kanal auf der Startseite (index.html)\",\"rd3Pv7\":\"Hauptquelle\",\"f4txA1\":\"Gepflegt von:\",\"3iTz2L\":\"Den Kanal as RTMP-Stream verfügbar machen (experimentell).\",\"mMiku6\":\"Den Kanal als SRT-Stream verfügbar machen (experimentell).\",\"6dZ9NS\":\"Markierte Frames\",\"iuA3xD\":\"Master playlist (erhöht Kompatibilität mit Browsern/Klienten)\",\"WBpxnA\":\"Maximal zulässige Cache-Größe, 0 für unbegrenzt.\",\"NzaPGT\":\"Maximal erlaubte MB RAM für /memfs, 0 für unbegrenzt.\",\"aaso5s\":\"Maximal erlaubte MB, die von der Festplatte verbraucht werden dürfen. 0 für unbegrenzt.\",\"4hp5D2\":\"Maximale Bandbreite Mbit/s\",\"L+uBOR\":\"Maximale Latenz (Ms).\",\"hkoCqq\":\"Maximale Dateigröße (MB)\",\"i96JfZ\":\"Maximale Dateigröße, die in den Cache gestellt wird.\",\"Q9HspI\":\"Maximale Protokollhistorie\",\"bS9ZHz\":\"Maximale Protokollzeilen\",\"6sayfE\":\"Maximale Größe (Megabytes)\",\"09BWQO\":\"Maximale Zuschauer Leerzeit (Sekunden)\",\"hW0DV1\":\"Maximale Anzahl von Zuschauenden\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Arbeitsspeicher\",\"KReOHe\":\"Speicherlimit (Megabyte)\",\"fViWSz\":\"Speichernutzungslimit in Megabyte, 0 für unbegrenzt.\",\"emJ6M7\":\"Meta-Informationen\",\"6GBt0m\":\"Metadaten\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", Standard \",[\"1\"]],\"riWPSk\":\"Mold\",\"QA/rur\":\"Mehr über die Lizenzen hier\",\"fyGu1l\":\"Mehr über den Service\",\"yBsv2n\":\"Mehr über Twitter’s Urheberrecht <0>hier.\",\"ZpfAc9\":\"Mehr über das Urheberrecht von YouTube <0>hier.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Muss größer sein als die maximale Dateigröße im Cache.\",\"gC9RIS\":\" Muss kleiner sein als die maximale Cachegröße.\",\"R7SsBE\":\"Stumm\",\"K0rCAk\":\"Einen Kanal stumm schalten\",\"Jv/kid\":\"Links stumm schalten\",\"FsCP6P\":\"Rechts stumm schalten\",\"6YtxFj\":\"Name\",\"0ZkQqR\":\"Templatename. Wenn der Name existiert, wird er überschrieben.\",\"OR475H\":\"Netzwerk\",\"KZDcDr\":\"Netzwerk-Quelle\",\"hXzOVo\":\"Weiter\",\"JZrXI6\":\"Weiter: Audio\",\"kZFy+Q\":\"Weiter: Video-Einrichtung\",\"1UzENP\":\"Nein\",\"p6Fxed\":\"Kein Audio\",\"bIDO3H\":\"Kein Audiostream verfügbar\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Kein Eingabegerät vorhanden\",\"dEwhMr\":\"Es wurde kein Livestream erkannt. Bitte die Software überprüfen, die den Stream sendet.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Keine Quelle ausgewählt\",\"3TfuWb\":\"Keine Quellen verfügbar\",\"fiXA/y\":\"Keine passender Encoder gefunden.\",\"acY4BT\":\"Keine passenden Filter gefunden.\",\"/02FxK\":\"Kein Video\",\"AVWnC9\":\"Kein Videostream verfügbar\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Knoten-ID\",\"9J5l/O\":\"Rauschen\",\"EdQY6l\":\"Keine\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Hinweise\",\"/a9y2d\":\"Anzahl der Protokollzeilen, die aufbewahrt werden sollen.\",\"ZD0urA\":\"Anzahl der Protokolle, die je Prozess aufbewahrt werden sollen.\",\"Aia5w3\":\"Anzahl der Sekunden, die die Grenzwerte überschritten werden dürfen.\",\"1lZb7D\":\"Anzahl der Kachelspalten, mit denen kodiert werden soll.\",\"InpHMl\":\"Anzahl der Kacheln, mit denen kodiert wird.\",\"wnRD5D\":\"Anzahl der zu kodierenden Kachelreihen.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Ein Referrer pro Zeile, wie http://www.beispiel.com\",\"1TNIig\":\"Öffnen\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Ausgangs-Buffer\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Schwenken\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passwort\",\"Y+p0Tt\":\"Passwort für SRT-Verschlüsselung\",\"fpQo1i\":\"Das Passwort muss zwischen 10 und 79 Zeichen lang sein.\",\"3GZXaB\":\"Passthrough (Kopieren) sollte nur bei Bedarf deaktiviert werden. Jede Kodierung erfordert zusätzliche CPU/GPU-Ressourcen.\",\"8ZsakT\":\"Passwort\",\"b+AuuK\":\"Passwort für die Autorisierung.\",\"oREnCY\":\"Passwort von dem Gerät.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Betrachterstatistiken beibehalten\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Pixelformat\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Starter\",\"Ejic1p\":\"Plattformen\",\"gtQk6c\":\"Wiedergabe\",\"vRayGs\":\"Player\",\"tWB9Gz\":\"Playereinstellungen gespeichert\",\"GIxxiU\":\"Player-URL\",\"PUmLMn\":\"Playerseite\",\"LKPR6G\":\"Wiedergabeliste\",\"luDqS5\":\"Playlist Version (M3U8). Version 3 bietet die grösste Kompatibilität mit Browsern/Klienten.\",\"84gH7g\":\"Bitte <0>Prozessprotokoll prüfen\",\"OMpKNS\":\"An den Betreiber des Dienstes wenden und prüfen, was passiert ist.\",\"4lATxE\":\"Bitte geben Sie Ihre E-Mail-Adresse ein, um Ihr Einverständnis mit den Nutzungsbedingungen von Let's Encrypt CA zu erklären und um im Falle von Problemen benachrichtigt zu werden.\",\"bdMiXb\":\"Bitte kontaktieren Sie den Betreiber des Services.\",\"wPZBpR\":\"Datei zum Hochladen auswählen.\",\"YcGRmx\":\"„Passthrough (Kopieren)“ sollte nur deaktiviert werden, wenn es erforderlich ist. Jedes weitere Encoding benötigt zusätzliche CPU/GPU Ressourcen.\",\"06qnxB\":\"Bitte warten — der Stream wird geprüft ...\",\"FTIPkL\":\"Bitte warten — einrichten des Streams ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Position\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"URL des Posterbilds\",\"6o2Onc\":\"Voreinstellung\",\"lxxyq5\":\"Primärer Stream\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Prüfen\",\"1B9XX0\":\"Prozess\",\"DL/nrw\":\"Prozesskontrolle\",\"fzYV2N\":\"Prozess-Details\",\"zNVLia\":\"Prozess-Bericht\",\"PwMwvX\":\"Verarbeitung & Steuerung\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokoll\",\"hEksWI\":\"Protokolle\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Öffentliceh Domain/s\",\"7lbVwY\":\"Publikationsdienst nicht gefunden\",\"ia1vIb\":\"Einstellungen der Publication Webseite gespeichert\",\"XHw75Y\":\"Publikationen\",\"dsOSCf\":\"Abholmodus\",\"lQQ/zA\":\"Daten abholen oder empfangen:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualität\",\"i9d+3B\":\"Raspberry Pi Kamera\",\"tbXj/A\":\"Ratenkontrolle\",\"iaocTt\":\"Verhältnis\",\"WnSPyE\":\"rav1e Parameter\",\"6PpdQP\":\"Eingabe mit nativer Geschwindigkeit lesen\",\"bqsSkO\":\"Empfangsmodus\",\"gcoiFh\":\"Wiederverbinden\",\"lakzvL\":\"Verzögerung beim Wiederherstellen der Verbindung (Sekunden)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Wiederverbinden in \",[\"0\"],\"s\"],\"uSDaLA\":[\"Die Wiederherstellung der Verbindung zum Restreamer Core ist in den letzten \",[\"RETRIES\"],\" Sekunden fehlgeschlagen.\"],\"N7ojfh\":\"Die Wiederherstellung der Verbindung zu Restreamer Core ist fehlgeschlagen.\",\"lCF0wC\":\"Aktualisieren\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Benutzer registrieren\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Erneut laden\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Älteste Einträge entfernen, wenn das /memfs voll ist\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Aktivierung erforderlich\",\"XMbkus\":\"Logo zurücksetzen\",\"36SXzE\":\"Poster zurücksetzen\",\"6z9W13\":\"Neustart\",\"dKwnjv\":\"Neustart erforderlich\",\"0Er6+M\":\"Neustart\",\"X1sT1j\":\"Neustart von Restreamer Core …\",\"o5q6jb\":\"Neustart der Anwendung ist fehlgeschlagen.\",\"x8cAsq\":\"Restreamer-Anleitung\",\"24fLVm\":\"Restreamer Service\",\"LCGjV4\":\"Abrufen von Streamdaten ...\",\"6gRgw8\":\"Wiederholen\",\"Qe1vaN\":\"RGB-Testbild\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Rotieren\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"RTMP-App für die Veröffentlichung.\",\"7ggERB\":\"RTMP-Ausgabe\",\"V82lE+\":\"RTMP Port\",\"itARjB\":\"RTMP-Server\",\"WWZqzz\":\"RTMP-Server ist nicht aktiviert\",\"HhOPCL\":\"RTMP-Server Zugriffsadresse.\",\"DbHOhO\":\"RTMP-Token für die Veröffentlichung und Wiedergabe. Das Token ist der Wert des URL-Abfrageparameters „token“.\",\"OAZeFE\":\"RTMPS Port\",\"Wt/wFL\":\"RTMPS-Server\",\"xwonDv\":\"RTMPS-Server Zugriffsadresse\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regel\",\"HneYgw\":\"Sampling\",\"tfDRzk\":\"Speichern\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Skalierung\",\"6aaceW\":\"Größe skalieren\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Sekunden, um Dateien im Cache zu halten.\",\"geM4Wc\":\"Sekunden, bis ein Prozess neu gestartet wird.\",\"iF7dnC\":\"Sekunden, bis ein hängender Prozess beendet wird.\",\"mydmGn\":\"Sekunden, bis ein Vorschaubild (JPEG) der Videoquelle aktualisiert wird.\",\"a3LDKx\":\"Sicherheit\",\"Gkr6zI\":\"Sicherheit Token\",\"/Ocrtf\":\"Seekbar Farbe\",\"4lDlYf\":\"Segmentlänge (Sek)\",\"XfNrg+\":\"Das Segment wird nach Ablauf dieser Zeit auf dem folgenden Keyframe geschnitten. 2 wird empfohlen.\",\"jHCoDy\":\"Segmentierung\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Auswahl Gerät:\",\"O+ruJ3\":\"Audio-Quelle auswählen:\",\"6MTTpq\":\"Benutze RTMP oder SRT (falls aktiviert) für eine geringere Latenz.\",\"E7haRr\":\"Auswahl Quelle ...\",\"PlZ1aw\":\"Videoquelle auswählen:\",\"YYlcWm\":\"Wählen Sie aus, ob Sie den Stream von einer <0>Netzwerkquelle (z. B. einer Netzwerkkamera) oder dem <1>internen RTMP-Server (z. B. OBS-Streams an den Restreamer) beziehen.\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Einstellungen für die Encodierung:\",\"aT3o8A\":\"Filtereinstellungen auswählen (optional):\",\"ylXj1N\":\"Ausgewählt\",\"kYpw4+\":\"Auswahl\",\"p7/fS2\":\"Auswahl\",\"SOePwi\":\"Sende anonyme Anwendungsdaten (Hilft den Restreamer kontinuierlich zu verbessern)\",\"kOhBl+\":\"Stream an Adresse senden ...\",\"E1X5xY\":\"Sende den Stream an diese Adresse:\",\"d/IMf3\":\"Sendet das Video zum Bildspeicher\",\"sGH11W\":\"Server\",\"9rG25a\":\"Server URL\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Name des Dienstes\",\"DOrSw/\":\"Servicetoken für die Überwachung.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Zuschauer\",\"xwK3ty\":\"Setzen Sie die rav1e-Konfiguration mit einer :-getrennten Liste von Schlüssel=Wert-Parametern.\",\"FIIk8R\":\"Legt eine Begrenzung der Bandbreite in Mbit/s für die ausgehende HLS-Datenübertragung fest. Alle Dienste, wie RTMP und ausgehende Prozesse, werden in die Berechnung einbezogen. Wenn die Bandbreite überschritten wird, erhalten HLS-Zuschauende den HTTP-Statuscode 509 (Bandwidth Limit Exceeded). 0 ist unbegrenzt.\",\"cOG/FK\":\"Legt ein Limit für die Zuschauenden in der HLS-Sitzungen fest. Wenn das Limit überschritten wird, erhalten HLS-Zuschauende den HTTP-Statuscode 509 (Bandbreitenlimit überschritten). 0 ist unbegrenzt.\",\"mcJFKm\":\"Einstellung für die Anbindung an den Service.\",\"Tz0i8g\":\"Einstellungen\",\"IiOZ6R\":\"Einstellungen (Experten-Modus)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Eintellungen für den /data Pfad. Der Zugriff wird geschützt durch\",\"Ytdvyh\":\"Einstellung für den /memfs Pfad.\",\"1w3lYe\":\"Einstellungen gespeichert. Die Änderungen werden nach einem Neustart der Anwendungen übernommen.\",\"XUw3i9\":\"Share-Button\",\"oD0Oes\":\"Zeigt einen Hinweis auf das Projekt.\",\"+vv4q2\":\"Anmelden (Kostenlos)\",\"JXVFAm\":\"Stille\",\"VSK9FJ\":\"Stilles Audio\",\"L8Jb2l\":\"Sinus\",\"MxZN16\":\"Seitenname\",\"Cj2Gtd\":\"Grösse\",\"yTZe+y\":\"Vorschaubild\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Socket-Zeitüberschreitung (Mikrosekunden)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Quelle\",\"sywlQb\":\"Quelle & Encoding\",\"l9wI00\":\"Geschwindigkeit\",\"vdhBFK\":\"Geschwindigkeit Voreinstellung\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT-Ausgabe\",\"YqnAto\":\"SRT Server\",\"k6hpqB\":\"Der SRT Server ist nicht aktiviert\",\"SzqwHY\":\"SRT Zugriffsadresse\",\"KwbjpB\":\"SRT-Token für die Veröffentlichung und Wiedergabe. Das Token ist der Wert des streamid-Parameters „token“.\",\"Aj28wT\":\"Zeitüberschreitung (Sekunden)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistiken\",\"BrrIs8\":\"Speicherplatz\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Speichert die Zuschauerstatistik auf der Festplatte.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream-Schlüssel\",\"bqiH5R\":\"Stream-Schlüssel\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Streamname\",\"eXELiS\":\"Streamnamen\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Stream-Quelle für Publikations-Service (experimentell).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Stream-URL\",\"+fVH0Y\":\"Unterstütze datarhei Restreamer\",\"5HSoct\":\"Unterstützt HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT und mehr.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Ziel-Addresse\",\"/K2CvV\":\"Vorlage\",\"2Ivkf/\":\"Vorlage, die für die Erstellung der Publikations-Website verwendet werden soll. Mit der Schaltfläche „Löschen“ wird die Auswahl aus dem System entfernt.\",\"4Y5H+g\":\"Bedingungen\",\"tRNH6x\":\"Testbild\",\"EtlVOt\":\"Testbild (erweitert)\",\"wGPolR\":\"Textfarben\",\"m0TUJj\":\"Die Amplitude (0,0 - 1,0) des erzeugten Audiostreams\",\"8C6xwe\":\"Die Applikation verwendet eine ältere Version der Einstellungen.\",\"VPQVR2\":\"Die verfügbare FFmpeg-Version unterstützt keines der erforderlichen Protokolle.\",\"Gx9PPK\":\"Die Bitrate des Audiostreams.\",\"T2kk3f\":\"Trägerfrequenz\",\"JAOLK8\":[\"Der Kanal \\\"\",[\"0\"],\"\\\" konnte nicht gelöscht werden\"],\"jNaBhy\":[\"Der Kanal \\\"\",[\"0\"],\"\\\" wurde gelöscht\"],\"SD8pYJ\":\"Die Löschung dieses Kanals kann nicht rückgängig gemacht werden. Alle Veröffentlichungen dieses Kanals werden entfernt.\",\"bnkV//\":\"Unvollständiges Eingangsprofil. Video- und Audioquelle definieren.\",\"wCYjmB\":\"Das Eingabeprofil ist unvollständig. Bitte definieren Sie eine Video- und/oder Audioquelle.\",\"JMaqWu\":\"Anordnung des Audiostreams.\",\"0dqo+p\":\"Die maximale Anzahl von Wiedergabelistensegmenten. 0 enthält alle Segmente. 6 wird empfohlen.\",\"BDgbiW\":\"Audio-Rauschfarbe\",\"SxGu7I\":\"Die Person, die ein Werk mit dieser Urkunde verbunden hat, hat das Werk der Allgemeinheit gewidmet, indem sie auf alle ihre Rechte an dem Werk weltweit nach dem Urheberrecht, einschließlich aller verwandten und benachbarten Rechte, verzichtet, soweit dies gesetzlich zulässig ist. Sie können das Werk vervielfältigen, verändern, verbreiten und aufführen, auch für kommerzielle Zwecke, alles ohne um Erlaubnis zu fragen.\",\"XISvrq\":\"Der öffentlich erreichbare Domänenname des Hosts, auf dem der Restreamer läuft. Trennen Sie mehrere Domänennamen durch ein Komma.\",\"yt3d3G\":[\"Der Publikationsdienst \\\"\",[\"0\"],\"\\\" konnte nicht gelöscht werden\"],\"zYcO/c\":[\"Der Publikationsdienst \\\"\",[\"0\"],\"\\\" wurde erstellt\"],\"AQE+oz\":[\"Der Publikationsdienst wurde \\\"\",[\"0\"],\"\\\" gelöscht\"],\"qVLWvp\":\"Der Publikationsdienst wurde erstellt\",\"njj2Wn\":\"Die RTMP Ausgabe erfordert den RTMP-Server.\",\"WRxiP8\":\"Abtastrate des Audiostreams.\",\"/pZjRr\":\"Die ausgewählte Datei ist zu groß (<0/>). Es sind nur <1/> zulässig.\",\"VBaSn9\":[\"Der ausgewählte Dateityp (\",[\"0\"],\") ist nicht zulässig. Zulässige Dateitypen sind \",[\"1\"]],\"fM410X\":[\"Die Einstellungen für \\\"\",[\"0\"],\"\\\" wurden gespeichert\"],\"02ii2e\":\"Die Quelle stellt keine Audiostreams zur Verfügung.\",\"+2cAEU\":\"Die Quelle stellt keine Audiostreams zur Verfügung. Bitte die <0>Details der Überprüfung ansehen.\",\"pfqmY7\":\"Die Quelle stellt keine kompatiblen Audiostreams zur Verfügung.\",\"VO9KeK\":\"Die Quelle stellt keine kompatiblen Videostreams zur Verfügung. Bitte die <0>Anforderungen prüfen.\",\"007foU\":\"Die Quelle stellt keine Videostreams zur Verfügung. Bitte die <0>Details der Überprüfung ansehen.\",\"lAsMdV\":\"Die Quelle stellt keine Videostreams zur Verfügung. Bitte die Quelle prüfen.\",\"XlnvcR\":\"Die SRT Ausgabe erfordert den SRT-Server.\",\"w6uuIE\":\"Die Videoquelle stellt keinen kompatiblen Audiokanal zur Verfügung. <0>Silence Audio wird empfohlen. Dienste wie z.B. YouTube, Facebook & Co. benötigen einen Audiokanal.\",\"YJJ2RL\":\"Die Videoquelle ist kompatibel. Gewünschte Auflösung auswählen:\",\"wEiZHy\":\"Es sind Updates verfügbar. Hier erhalten Sie weitere Informationen.\",\"4p1MgS\":\"Es gab ein Problem beim Speichern der Einstellungen. Einstellungen nicht gespeichert.\",\"YJhhwT\":[\"Es ist ein Fehler beim Verbinden mit Restreamer Core bei \",[\"0\"],\" aufgetreten.\"],\"q42VsF\":[\"Beim Hochladen ist ein Fehler aufgetreten: \",[\"0\"]],\"HM96PJ\":\"Es ist ein Fehler beim Einrichten des Streams aufgetreten.\",\"LoDP+Y\":\"Es gab einige Fehler in den Einstellungen. Einstellungen nicht gespeichert.\",\"l92ZKN\":\"Es ist keine Methode für die Anmeldung verfügbar.\",\"cPKuc8\":\"Dies ist ein Dummy-Dienst, der Ihnen die Konzepte des Dienstes erklärt.\",\"Ku8nyu\":\"Bitte Geduld. Es kann einen Moment dauern, bis der Restreamer Core neu gestartet ist …\",\"vCRP3w\":\"Dies ist ein Hinweis auf die urheberrechtlichen Bestimmungen für das Ziel dieses Dienstes.\",\"Hx7k3c\":\"Diese Lizenz erlaubt Wiederverwendern das Kopieren und Verteilen des Materials in jedem Medium oder Format nur in unangepasster Form und nur so lange, wie die Nennung des Urhebers erfolgt. Die Lizenz erlaubt die kommerzielle Nutzung.\",\"6OeMYB\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format in unangepasster Form zu kopieren und zu verbreiten, und zwar nur für nicht-kommerzielle Zwecke und nur so lange, wie der Urheber genannt wird.\",\"TUuhsB\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material zu verbreiten, zu remixen, zu adaptieren und darauf aufzubauen, und zwar in jedem Medium oder Format und nur für nicht-kommerzielle Zwecke und nur so lange, wie die Nennung des Urhebers erfolgt.\",\"kVtKRl\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material zu verbreiten, zu remixen, zu adaptieren und darauf aufzubauen, und zwar in jedem Medium oder Format und nur für nicht-kommerzielle Zwecke, und nur solange der Urheber genannt wird. Wenn Sie das Material umarbeiten, anpassen oder darauf aufbauen, müssen Sie das geänderte Material unter identischen Bedingungen lizenzieren.\",\"FpX5mp\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format zu verbreiten, zu remixen, anzupassen und darauf aufzubauen, solange der Urheber genannt wird. Die Lizenz erlaubt die kommerzielle Nutzung.\",\"SDvwLd\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format zu verbreiten, zu remixen, anzupassen und darauf aufzubauen, solange der Urheber genannt wird. Die Lizenz erlaubt die kommerzielle Nutzung. Wenn Sie das Material umarbeiten, anpassen oder darauf aufbauen, müssen Sie das geänderte Material unter identischen Bedingungen lizenzieren.\",\"H144rX\":\"Dieses Protokoll ist entweder unbekannt oder nicht verfügbar mit der verfügbaren FFmpeg-Version.\",\"nlOxxw\":\"Diese Quelle kann nicht bearbeitet werden, während sie in Gebrauch ist. Um fortzufahren, müssen Sie die Verbindung zur Quelle unterbrechen.\",\"mbSyrG\":[\"Diese Version der Benutzeroberfläche unterstützt nicht das verfügbare FFmpeg-Binary (\",[\"0\"],\"). Die Benutzeroberfläche erfordert \",[\"1\"],\". Bitte verwenden Sie eine unterstützte FFmpeg-Binärdatei.\"],\"N/tTgz\":[\"Diese Version der Benutzeroberfläche unterstützt nicht den angeschlossenen Kern (\",[\"0\"],\"). Die Benutzeroberfläche erfordert \",[\"1\"],\". Bitte verwenden Sie eine kompatible Version der UI.\"],\"2Vq5tr\":\"Die verwendete Version der Benutzeroberfläche ist kompatibel.\",\"QxX9Z5\":\"Schwellenwert (Sekunden)\",\"sNmspt\":\"Kachel-Spalten\",\"sYGp2E\":\"Kachel-Reihen\",\"wbOpwP\":\"Kacheln\",\"H59P7E\":\"Zeit bis eine inaktive Zuschauerverbindung als geschlossen behandelt wird.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Um das System zu stabilisieren, erhöhen Sie die HLS-Segmentlänge für das Keyframe-Intervall um 2-3 * (Verarbeitung und Steuerung).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Oberes Feld\",\"7mjsuh\":\"Übertrage einen Livestream zu einem Telegram Channel.\",\"Gxlq7L\":\"Überträgt Schnappschüsse der Hauptquelle an einen HTTP/S Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"SdyhUl\":\"Überträgt den Audiokanal der Hauptquelle an einen Icecast Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"MayU3b\":\"Übertragen Sie die Hauptquelle als HTTP-Live-Streaming (HLS) an einen HTTP/S-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"3K8kpL\":\"Übertragen Sie die Hauptquelle als MPEG-DASH an einen HTTP/S Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"P/J230\":\"Übertragen Sie die Hauptquelle an einen Brightcove Live-Service. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"u0MhFy\":\"Übertragen Sie die Hauptquelle an einen CDN77 RTMP Service. Mehr über die Einrichtung <0>hier.\",\"zkgT7c\":\"Übertragen Sie die Hauptquelle an einen DaCast RTMP Service. Mehr über die Einrichtung <0>hier.\",\"in9xJz\":\"Überträgt die Hauptquelle auf eine datarhei Core Ressource. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"PcgwEU\":\"Übertragen Sie die Hauptquelle auf eine livespotting.com Ressource. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"D7jwpf\":\"Übertragen Sie die Hauptquelle an einen MPEG-TS-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"SpSgUV\":\"Übertragen Sie die Hauptquelle an einen Red5/Pro Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"lIpqI/\":\"Übertragen Sie die Hauptquelle an einen MPEG-TS-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"pqR6nq\":\"Übertragen Sie die Hauptquelle an einen RTSP-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Q4dSnZ\":\"Übertragen Sie die Hauptquelle an einen SRT Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"fx9S4p\":\"Übertragen Sie die Hauptquelle an einen UDP-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"GLXY2N\":\"Übertragen Sie die Hauptquelle an einen WOWZA Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"AsMKFi\":\"Übertragen Sie die Hauptquelle an die Akamai (MSL) Media Services Live. Weitere Details zu den MSL-Encoder-Einstellungen finden Sie <0>hier.\",\"FB364G\":\"Übertragen Sie die Hauptquelle an den Livepush RTMP-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"CC9yS5\":\"Übertragen Sie die Hauptquelle an den Nimo TV RTMP-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"fP8ZYg\":\"Übertragen Sie die Hauptquelle an den Picarto TV RTMP-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"D9A0LK\":\"Übertragen Sie die Hauptquelle an den Restream RTMP Service. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"YL800g\":\"Überträgt Ihren Videostream zu Azure Media Services. Weiters Informationen finden sie <0>hier.\",\"Abgy4c\":\"Übermittlung an LinkedIn. Weitere Einzelheiten finden Sie <0>hier.\",\"dhCZoS\":\"Übertragen Sie Ihren Livestream an einen Dailymotion-RTMP-Dienst. <0>Hierfinden Sie weitere Details zu den Einstellungen.\",\"tQNclD\":\"Übertragen Sie Ihren Livestream an einen Kick.com-RTMP-Dienst. <0>Hierfinden Sie weitere Details zu den Einstellungen.\",\"mQ0sjr\":\"Überträgt Ihren Livestream an einen Owncast-Server. <0>Weitere Informationen zu den Einstellungen.\",\"AqYRa3\":\"Übertragen Sie Ihren Livestream an einen Rumble RTMP-Dienst. <0>Hierfinden Sie weitere Details zu den Einstellungen.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Überträgt Ihren Videostream mit dem erforderlichen Schlüssel, der in Twitter Producer generiert wurde. Weitere Informationen zum Einrichten eines Livestreams finden Sie unter <0>Producer von Twitter.\",\"ADKef2\":\"Optimieren\",\"8jwViA\":\"UDP-Transport\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Die Konfiguration kann nicht geladen werden.\",\"MWrgON\":\"Einzigartige Identität für den Service.\",\"Ef7StM\":\"Unbekannt\",\"wiIpKZ\":\"Unbekannter Upload-Fehler\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Nicht gewählt\",\"j9zg7e\":\"Details zum Update (Changelog)\",\"ONWvwQ\":\"Hochladen\",\"OXItQT\":[\"Laden Sie eine Audiodatei hoch (\",[\"0\"],\"), um eine Schleife zu erstellen.\"],\"75yxb7\":[\"Laden Sie eine Bild- oder Videodatei (\",[\"0\"],\") hoch, um sie in einer Schleife abzuspielen.\"],\"iAkPTY\":\"Die Dateiübertragung ist fehlgeschlagen\",\"Jmy6pK\":\"Hochladen des Logos fehlgeschlagen\",\"xl1xFp\":\"Das Hochladen des Posters ist fehlgeschlagen\",\"TjrbDj\":\"Betriebszeit\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Verwenden Sie Auth0 für Ihren laufenden Restreamer Core. Mehr <0>Details.\",\"JX4TqK\":\"Verwenden Sie den Assistenten (<0/>) für eine schnelle und einfache Einrichtung, oder bearbeiten Sie (<1/>) die Quellen direkt im benutzerdefinierten Modus.\",\"YYTBz0\":\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"2UPEb1\":\"Copyright und die richtige Bildlizenz wählen. Ob frei für alle oder stark eingeschränkt. Überlege kurz, was andere mit dem Video machen dürfen.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Benutzerregistrierung\",\"7sNhEz\":\"Anmeldename\",\"Gv3pbp\":\"Anmeldename für die Autorisierung.\",\"RQSvXZ\":\"Anmeldename von dem Gerät.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M ist experimentell.\",\"PvM7Yi\":\"Variable Framerate (VFR)\",\"hpBTpL\":\"velvet\",\"uIAsxu\":\"Vertikal spiegeln\",\"vSJd18\":\"Video\",\"auaWhL\":\"Videogerät\",\"/skRGV\":\"Videoeinstellungen\",\"EzOjvB\":\"Video-Einrichtung\",\"QcQXbU\":\"Videoquelle\",\"M/TIv1\":\"Zuschauende\",\"L2hKw+\":\"violett\",\"hA6FFn\":\"Virtuelle-Quelle\",\"/cF7Rs\":\"Lautstärke\",\"/gnt8J\":\"VPU-ID\",\"wRy4hg\":\"Wir empfehlen OpenMAX IL für Raspberry PI (3/4) mit einem 32-Bit-Betriebssystem.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Willkommen bei Restreamer v2, der Lösung für die schnelle und einfache Veröffentlichung von Videos. Kostenlos für private und kommerzielle Nutzung. Weitere Hilfe in der <0>Dokumentation.\",\"hJfWkA\":\"Welche Geschwindigkeitsvoreinstellung ist zu verwenden.\",\"6Pz2IF\":\"Wo die HLS-Playlist und Segmente gespeichert werden sollen. In-Memory ist empfohlen.\",\"aWHAbR\":\"weiß\",\"aFWU1n\":\"Breite\",\"e0wV2Y\":\"Schreibschutz\",\"l75CjT\":\"Ja\",\"WPUsOF\":\"Sie können den Assistenten nicht abbrechen, da mindestens ein Eingang definiert sein muss.\",\"qwY9F9\":\"Konfiguration geändert. Damit die Änderungen wirksam werden muss die Anwendung neu starten. Jetzt neu starten?\",\"nxq2ni\":\"Verbindung manuell wiederherstellen\",\"RM3CEc\":\"Ungespeicherte Änderungen. Bitte speichern, bevor der Dienst wieder gesteuert werden kann.\",\"/cg7qS\":\"Ihr Stream muss kodiert werden, aber es ist kein geeigneter Encoder verfügbar.\",\"BwrOm6\":\"Stream muss kodiert werden. Gewünschten Encoder wählen:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV-Testbild\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Kompatibilitätsliste\",\"TkRUk0\":\"<0>Details der Überprüfung anzeigen\",\"tBy4Bb\":\"Wechseln Sie auf die Oberfläche des Ziel-Restreamers.\",\"2JnpXL\":\"Erstellen Sie einen neuen Kanal und wählen RTMP- oder SRT-Server aus.\",\"YidyJl\":\"Kopieren Sie die URL und fügen Sie sie in das Feld \\\"Ziel-Adresse\\\" ein.\",\"X1MZZp\":\"6 (+ garantierter Start mit einem Keyframe)\",\"JVJkxU\":\"7 (+ fragmentierte MP4 Format)\",\"ssjjFt\":\"Abbrechen\",\"uyJsf6\":\"Über\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Hinzufügen\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Fügen Sie externe Widgets und Stile zur Publikationsseite hinzu. Einige Beispiele finden Sie auf der Hilfeseite.\",\"tsJWSj\":\"Neuen Kanal hinzufügen\",\"PLTLdv\":\"Publikation hinzufügen\",\"35l+l6\":[\"Hinzufügen: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adresse\",\"8M7jVn\":\"Adresse des Hintergrundbildes.\",\"Vu9yiv\":\"Die Adresse für das Abhören von HTTP-Anfragen.\",\"AQDW5r\":\"Die Adresse für das Abhören von HTTPS-Anfragen.\",\"tPrmjP\":\"Adresse:\",\"owt8Ow\":\"Farben und den Hintergrund der Publikationsseite nach Belieben anpassen.\",\"uNXGDK\":\"Erweiterte Systemüberwachung\",\"VNgKZz\":\"Erweiterte Einstellungen\",\"eiGNYb\":\"Erweiterte Einrichtung\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Benachrichtigung per E-Mail\",\"N40H+G\":\"Alle\",\"Hw5q+W\":\"Alle Frames\",\"f2zxGk\":\"Alle wichtigen Systemeinstellungen.\",\"lle3bd\":\"Erlaube alle Referrer\",\"bgFbIB\":\"Erlaubt das Zählen der Anzahl des Publikums vom Stream.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"Eine Umgebungsvariable legt diesen Wert fest.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API-Endpunkt nicht gefunden. Einstellungen nicht gespeichert.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Anwendung\",\"xnCC/2\":\"Sind Sie sicher, dass Sie den Assistenten abbrechen wollen?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Audiogerät\",\"sYyYfE\":\"Audiogerät\",\"2he4Ra\":\"Audio von Gerät\",\"MvY15a\":\"Audio-Einstellungen\",\"NoLJ6g\":\"Audio-Einrichtung\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 ist derzeit nicht verfügbar, da diese Schnittstelle von einer unsicheren Quelle geladen wurde.\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Autorisierung\",\"R9Khdg\":\"Automatisch\",\"6yEk/V\":\"Automatische Bereinigung aller Mediadateien\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Verfügbar\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Zurück\",\"1KfyNL\":\"Hintergrundfarben\",\"23c2Uw\":\"Hintergrundbild\",\"r0bEmM\":\"Backup-Server\",\"JFjQhH\":\"Backupstream\",\"bkJ+QE\":\"Backup-URL\",\"OlXThP\":\"Bandbreite\",\"QYaaBO\":\"Bandbreitensteuerung\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Basic\",\"YR04fn\":\"Piep-Faktor\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Cache-Typen blockieren\",\"zOC7cT\":\"blau\",\"359XuU\":\"Unteres Feld\",\"aC3kWW\":\"Beschreiben Sie kurz, was die Zuschauenden während des Live-Streams sehen werden.\",\"SehDNd\":\"braun\",\"Ptp9MF\":\"Farbe des Knopfes\",\"Lp4WkO\":\"Nach Höhe\",\"IeV/4P\":\"Nach Breite\",\"KxP5AO\":\"Cache für Dateien auf /data.\",\"qX8ffo\":\"Cache-Zeit (Sek)\",\"4dRAku\":\"Cache-Typen\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Eingangs-Buffer\",\"aL2+1d\":\"Klicks erfassen\",\"EOfLfP\":\"Mauszeiger erfassen\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" gespeichert\"],\"lfFsZ4\":\"Kanäle\",\"WMCwmR\":\"Nach Updates suchen\",\"vM6kpc\":\"Anforderungen prüfen\",\"Wzgqhl\":\"Videostream wählen\",\"JpTR0/\":\"Audiostream wählen\",\"BTNyrQ\":\"Eingabegerät wählen …\",\"f9QIui\":\"Wählen Sie einen Eingangs-Stream ...\",\"/Y6zrN\":\"Wähle zwischen CFR und VFR (Auto)\",\"gObOjh\":\"Codec wählen …\",\"v7lrmU\":\"Wähle einen Tenant\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Segment\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Schliessen\",\"r8NEPc\":\"Code Injection\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Farbe\",\"sjVfrA\":\"Befehl\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Konfiguration\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Bestätigen Sie das Passwort\",\"iSLIjg\":\"Verbinden\",\"NL3Gev\":\"Verbundenes Gerät\",\"ywAvGr\":\"Verbunden für <0/>\",\"lNg25t\":\"Verbinde ...\",\"y6+BXa\":\"Mit Restreamer Core verbinden …\",\"Td5lm6\":\"Die Verbindung zu Restreamer Core ist wahrscheinlich wegen gemischter Inhalte fehlgeschlagen.\",\"awE5Py\":\"Konstante Framerate (CFR)\",\"DT0Af/\":\"Konstanter Quantisierungsmodus (-1 bis 255).\",\"4b3oEV\":\"Inhalt\",\"U34RbB\":\"Inhalts-URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU-Limit (Prozent)\",\"uW5tVo\":\"CPU-Limit in Prozent (0-100%), 0 für unbegrenzt.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Individuell …\",\"kH80Lk\":\"Individuelles Audiogerät\",\"fW1XQD\":\"Individueller Audio-Index\",\"bzREp0\":\"Individuelle Bitrate (kbit/s)\",\"w9oKek\":\"Injektion von Individuellem Code\",\"jYaP01\":\"Individuelle Verzögerung\",\"2Gw+zZ\":\"Individuelles Gerät\",\"WCXGNp\":\"Individuelles Format\",\"ZkpZ06\":\"Individuelle Bildfrequenz\",\"1OXCgh\":\"Individuelle JSON Konfiguration für den datarhei Core.\",\"kl56NX\":\"Individuelles Keyframe-Intervall\",\"prIqWa\":\"Individuelles Aussehen\",\"HSB43e\":\"Individuelle Abtastung (Hz)\",\"Efe3BI\":\"Individuelle Skalierung\",\"E/2KdS\":\"Individuelle Größe\",\"Se794B\":\"Individuelles Videogerät\",\"aqv915\":\"Individueller Video-Index\",\"v8OlX8\":\"Daten wurden in die Zwischenablage kopiert\",\"J/VBax\":\"Death color\",\"d2TTfK\":\"Dezibel (dB)\",\"W034oz\":\"Decoder\",\"ovBPCi\":\"Standard\",\"gFwPaj\":[\"Standard \",[\"0\"]],\"JQnkrI\":[\"Standard \",[\"0\"],\" (\",[\"1\"],\" Sekunden)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace Frames\",\"g3JmiG\":\"Deinterlace-Modus\",\"aro6lN\":\"Deinterlace-Parität\",\"YeWQto\":\"Verzögerung\",\"qBC9g9\":\"Verzögerung (ms)\",\"cnGeoo\":\"Löschen\",\"ScK3zL\":\"Die Löschung eines Publikationsdienstes kann nicht rückgängig gemacht werden. Die Veröffentlichung wird sofort gestoppt.\",\"cEx3oI\":\"Zustellmodus\",\"Nu4oKW\":\"Beschreibung\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Gerät\",\"+K0AvT\":\"Trennen\",\"miKA/E\":\"Trennen und fortfahren\",\"5/pMTZ\":\"Trennen ...\",\"sPFHpI\":\"Festplatte\",\"qczNPP\":\"Festplatten Zwischenspeicher\",\"PUqOjv\":\"Festplattenspeicher\",\"uTwT/l\":\"Möchten Sie die Anwendung wirklich neu starten?\",\"FgxcNT\":[\"Soll \\\"\",[\"0\"],\"\\\" gelöscht werden?\"],\"NogZqg\":[\"Möchten Sie \",[\"title\"],\" löschen?\"],\"0p+Mpn\":[\"Möchten Sie die Verbindung zu „\",[\"0\"],\"“ unterbrechen?\"],\"TbjyhA\":\"Dokumente\",\"TvY/XA\":\"Dokumentation\",\"jPtEhI\":\"Duplizierte Frames\",\"diaSRH\":\"Jedes Feld\",\"u2SnNO\":\"Jedes Frame\",\"ePK91l\":\"Bearbeiten\",\"INCFjw\":\"Bearbeiten Sie die Audio- und Videoquellen für den Live-Stream. Fügen Sie eine Beschreibung hinzu, und legen Sie die gewünschte Inhaltslizenz fest.\",\"+7Wr2a\":[\"Bearbeiten: \",[\"title\"]],\"e3GLqI\":\"EDIT: Player\",\"dTPDyf\":\"BEARBEITEN: Publikation Website\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Einbetten\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Aktivieren\",\"No9svk\":\"Periodischen Piepton jede Sekunde mit diesem Wert mal der Trägerfrequenz aktivieren\",\"R7s0Th\":\"Backupstream aktivieren\",\"xA5zBY\":\"Nerd-Statistiken einschalten\",\"r0zP4o\":\"Jetzt aktivieren\",\"JwR989\":\"Primären Stream aktivieren\",\"blkDNw\":\"RTMP-Server aktivieren …\",\"FgEhO4\":\"Erlauber RTMPS-Transfer\",\"uGvvxq\":\"Momentaufnahme aktivieren\",\"IuL64N\":\"SRT Server aktivieren ...\",\"NJsnxf\":\"Es wird dringend empfohlen, die Autorisierung zu aktivieren. Andernfalls kann jeder auf diese Instanz zugreifen.\",\"xwS6bX\":\"Es wird dringend empfohlen, die Basisauthentifizierung zu aktivieren. Andernfalls könnte jeder Daten in /memfs schreiben.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Kodierung\",\"q1srUM\":\"Verschlüsselung\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Einen Namen für den neuen Kanal eingeben.\",\"f7sXvi\":\"Passwort eingeben\",\"5QCNrf\":\"Adresse des Netzwerkquelle eintragen:\",\"WLnvCZ\":\"Anmeldename eingeben\",\"ijwVVM\":\"Entropy coder\",\"SlfejT\":\"Fehler\",\"sHoMKO\":\"Fehler beim Kopieren von Daten in die Zwischenablage\",\"TpqeIh\":[\"Fehler: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Erweitert den Bereich oberhalb der Kanalliste (Live-Chat).\",\"IBJg8n\":\"Erweitert den Bereich unter der Kanalbeschreibung (Kommentarfelder).\",\"XeunlQ\":\"Expertenmodus\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Kanalliste erweitern\",\"tG09kC\":\"Inhalt erweitern\",\"bPWJOj\":\"Fußzeile erweitern\",\"SeaRa5\":\"Header erweitern\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Publikationsdienst konnte nicht erstellt werden (\",[\"0\"],\")\"],\"yT6MEY\":\"Die Dateien der Publikations-Website konnten nicht erstellt werden.\",\"FGdPhH\":\"Prüfen der Quelle ist fehlgeschlagen. <0>Details der Überprüfung ansehen.\",\"DvfYM2\":[\"Token konnte nicht aktualisiert werden: \",[\"0\"]],\"J0Jclh\":\"Speichern der Ingest-Metadaten fehlgeschlagen\",\"RPXHsU\":\"Prozess konnte nicht angehalten werden\",\"AhS7uc\":\"Die Einstellung für die Playergröße konnte nicht gespeichert werden.\",\"PcJRf4\":[\"Publikationsdienst konnte nicht gespeichert werden (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Aktualisierung des Ingest-Prozesses fehlgeschlagen (\",[\"0\"],\")\"],\"t1E1OU\":[\"Aktualisierung des Vorschaubild-Prozesses fehlgeschlagen (\",[\"0\"],\")\"],\"bssUbs\":\"Aktualisierung des Players fehlgeschlagen\",\"4SzVSX\":\"Aktualisierung der Playerseite fehlgeschlagen\",\"H8gP5T\":\"Die Quelle konnte nicht verifiziert werden. Bitte Adresse prüfen.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Dateipfad\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Speichern\",\"k4A6IZ\":\"Feste Grösse\",\"Xgkhyj\":\"Flaggen\",\"+L0/av\":\"Für Javascripte.\",\"VBU6dD\":\"Für Stylesheets.\",\"XDTTEp\":\"Bildfrequenz für die Eingabe erzwingen\",\"Y5YNoi\":\"Erzwinge Keyframes\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Verlorene Frames\",\"lPICcX\":\"Frames durchreichen (Passthrough)\",\"T8wPu0\":\"Bildspeicher\",\"Ou/g2q\":\"Bildfrequenz\",\"RFrfTY\":\"Framerate-Konvertierung (Frame-Interpolation)\",\"xDfHbM\":\"Framerate Modus\",\"4xNpe4\":\"Frequenz (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Allgemein\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Name Google Analytics Tracker\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Hardwaregerät\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Kopfzeile\",\"+670Zw\":\"Überschrift\",\"PFFhCT\":\"Höhe\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS-Ausgabe\",\"oMxmoP\":\"HLS-Server\",\"5/G5c1\":\"HLS-Statistik für den In-Memory-Speicher\",\"wXoUQx\":\"Horizontal spiegeln\",\"8iPCh6\":\"Gehostete Restreamer-Oberfläche\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP und HTTPS\",\"YmRLab\":\"HTTP Port\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS Port\",\"Ptrvx5\":\"Von Menschen lesbarer Name des Dienstes.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Wenn Sie die Ports geändert haben, kann es sein, dass Restreamer Core bereits neu gestartet wurde, aber jetzt auf einem anderen Port verfügbar ist.\",\"OQONQS\":\"Wenn Sie Let’s Encrypt TLS aktiviert haben, kann es einige Zeit dauern, die Zertifikate zu erwerben. Stellen Sie sicher, dass Restreamer Core über Port 80 aus dem Internet erreichbar ist. Bitte überprüfen Sie das Protokoll in der Konsole von Restreamer Core.\",\"yWR5EY\":\"iframe Code\",\"7ZKroD\":\"IP-Bereiche ignorieren\",\"VyUuZb\":\"Bild-URL\",\"5n8FKh\":\"Impressum\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Neben dem Player bietet der Restreamer eine komplette Landingpage, mit der Sie Ihren Live-Stream einfach und schnell präsentieren können.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"In-Memory-Speicher\",\"xmsVuq\":\"Inkompatibel\",\"exUN1j\":\"Übernehmen\",\"CDdi1R\":\"Inject 1\",\"MJlrvd\":\"Inject 2\",\"MppU96\":\"Inject 3\",\"zBVRQb\":\"Inject 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Eingangs-Stream\",\"jnyWFc\":\"Instanz-Domain\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervall (Sekunden)\",\"C4WaV1\":\"Fehler melden\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Keyframe-Intervall (Sekunden)\",\"rdU729\":\"Layout\",\"Cpw3fU\":\"Zertifizierung mit Let’s Encrypt\",\"LgUs17\":\"Let’s Encrypt erfordert einen oder mehrere öffentliche Domainnamen und einen zugänglichen Port 80/TCP.\",\"oCHfGC\":\"Level\",\"eyLS1J\":\"Ebene des Systemprotokolls.\",\"iQmbPb\":\"Lizenz\",\"mQImez\":\"Life color\",\"6BDqha\":\"Grenzen\",\"1pbzRr\":\"Linienfarbe\",\"Ce6Hrg\":\"Linien\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, Mouseover\",\"xCrpEt\":\"List der nicht zu cachenden Dateiwerweiterungen (z. B. \\\".m3u8\\\"), eine pro Zeile. Leer lassen, um keine Dateitypen auszuschliessen.\",\"m2l8c3\":\"Liste der zu cachenden Dateierweiterungen (z. B. \\\".html\\\"), eine pro Zeile. Leer lassen, um alle Dateitypen zu cachen.\",\"QYw6tl\":\"Liste der IP-Bereiche in CIDR-Notation, z. B. 127.0.0.1/32, die von der Statistik nicht erfasst werden sollen - ein IP-Bereich pro Zeile. Leer lassen, um alle Sitzungen aufzuzeichnen.\",\"ELFO4F\":\"Listengröße (Segmente)\",\"D0Nwch\":\"Live-Streaming zum dlive Live RTMP-Dienst.\",\"n2VKys\":\"Live-Streaming zum Facebook Live RTMP-Dienst\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming zum Media Network RTMP-Dienst.\",\"w9zSAv\":\"Live-Streaming zum PeerTube v3+ RTMP/S-Dienst.\",\"SZ9Q++\":\"Live-Streaming zum Trovo Live RTMP-Dienst.\",\"JJGagy\":\"Live-Streaming zu Twitch.\",\"4TnPVp\":\"Live-Streaming zu Vimeo\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource-ID\",\"0aIqC4\":\"Protokollierungsebene\",\"x7PDL5\":\"Protokollierung\",\"z0t9bb\":\"Anmelden\",\"+fL+Rj\":[\"Login fehlgeschlagen: \",[\"0\"]],\"4cd7gw\":\"Login fehlgeschlagen: Konnte die API-Details nicht laden\",\"sNqu7k\":\"Anmeldung/JWT-Autorisierung\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Abmelden\",\"DYX2fZ\":\"Schleife\",\"SzaPTL\":\"Lautheitsnormalisierung\",\"QGvS9k\":\"Geringe Latenz (Buffer)\",\"GaV7al\":\"Hauptkanal\",\"Wsn0Uw\":\"Hauptkanal nicht gefunden\",\"tROIde\":\"Hauptkanal gespeichert\",\"nLVSux\":\"Kanal auf der Startseite (index.html)\",\"rd3Pv7\":\"Hauptquelle\",\"f4txA1\":\"Gepflegt von:\",\"3iTz2L\":\"Den Kanal as RTMP-Stream verfügbar machen (experimentell).\",\"mMiku6\":\"Den Kanal als SRT-Stream verfügbar machen (experimentell).\",\"6dZ9NS\":\"Markierte Frames\",\"iuA3xD\":\"Master playlist (erhöht Kompatibilität mit Browsern/Klienten)\",\"WBpxnA\":\"Maximal zulässige Cache-Größe, 0 für unbegrenzt.\",\"NzaPGT\":\"Maximal erlaubte MB RAM für /memfs, 0 für unbegrenzt.\",\"aaso5s\":\"Maximal erlaubte MB, die von der Festplatte verbraucht werden dürfen. 0 für unbegrenzt.\",\"4hp5D2\":\"Maximale Bandbreite Mbit/s\",\"L+uBOR\":\"Maximale Latenz (Ms).\",\"hkoCqq\":\"Maximale Dateigröße (MB)\",\"i96JfZ\":\"Maximale Dateigröße, die in den Cache gestellt wird.\",\"Q9HspI\":\"Maximale Protokollhistorie\",\"bS9ZHz\":\"Maximale Protokollzeilen\",\"6sayfE\":\"Maximale Größe (Megabytes)\",\"09BWQO\":\"Maximale Zuschauer Leerzeit (Sekunden)\",\"hW0DV1\":\"Maximale Anzahl von Zuschauenden\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Arbeitsspeicher\",\"KReOHe\":\"Speicherlimit (Megabyte)\",\"fViWSz\":\"Speichernutzungslimit in Megabyte, 0 für unbegrenzt.\",\"emJ6M7\":\"Meta-Informationen\",\"6GBt0m\":\"Metadaten\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", Standard \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Mold\",\"QA/rur\":\"Mehr über die Lizenzen hier\",\"fyGu1l\":\"Mehr über den Service\",\"yBsv2n\":\"Mehr über Twitter’s Urheberrecht <0>hier.\",\"ZpfAc9\":\"Mehr über das Urheberrecht von YouTube <0>hier.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Muss größer sein als die maximale Dateigröße im Cache.\",\"gC9RIS\":\" Muss kleiner sein als die maximale Cachegröße.\",\"R7SsBE\":\"Stumm\",\"K0rCAk\":\"Einen Kanal stumm schalten\",\"Jv/kid\":\"Links stumm schalten\",\"FsCP6P\":\"Rechts stumm schalten\",\"6YtxFj\":\"Name\",\"0ZkQqR\":\"Templatename. Wenn der Name existiert, wird er überschrieben.\",\"OR475H\":\"Netzwerk\",\"KZDcDr\":\"Netzwerk-Quelle\",\"hXzOVo\":\"Weiter\",\"JZrXI6\":\"Weiter: Audio\",\"kZFy+Q\":\"Weiter: Video-Einrichtung\",\"1UzENP\":\"Nein\",\"p6Fxed\":\"Kein Audio\",\"bIDO3H\":\"Kein Audiostream verfügbar\",\"nn9C5B\":\"Kein Eingabegerät vorhanden\",\"dEwhMr\":\"Es wurde kein Livestream erkannt. Bitte die Software überprüfen, die den Stream sendet.\",\"1FJdZA\":\"Keine Quelle ausgewählt\",\"3TfuWb\":\"Keine Quellen verfügbar\",\"fiXA/y\":\"Keine passender Encoder gefunden.\",\"acY4BT\":\"Keine passenden Filter gefunden.\",\"/02FxK\":\"Kein Video\",\"AVWnC9\":\"Kein Videostream verfügbar\",\"wZ7CK3\":\"Knoten-ID\",\"9J5l/O\":\"Rauschen\",\"EdQY6l\":\"Keine\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Hinweise\",\"/a9y2d\":\"Anzahl der Protokollzeilen, die aufbewahrt werden sollen.\",\"ZD0urA\":\"Anzahl der Protokolle, die je Prozess aufbewahrt werden sollen.\",\"Aia5w3\":\"Anzahl der Sekunden, die die Grenzwerte überschritten werden dürfen.\",\"1lZb7D\":\"Anzahl der Kachelspalten, mit denen kodiert werden soll.\",\"InpHMl\":\"Anzahl der Kacheln, mit denen kodiert wird.\",\"wnRD5D\":\"Anzahl der zu kodierenden Kachelreihen.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Ein Referrer pro Zeile, wie http://www.beispiel.com\",\"1TNIig\":\"Öffnen\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Ausgangs-Buffer\",\"vjgq8y\":\"Schwenken\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passwort\",\"Y+p0Tt\":\"Passwort für SRT-Verschlüsselung\",\"fpQo1i\":\"Das Passwort muss zwischen 10 und 79 Zeichen lang sein.\",\"3GZXaB\":\"Passthrough (Kopieren) sollte nur bei Bedarf deaktiviert werden. Jede Kodierung erfordert zusätzliche CPU/GPU-Ressourcen.\",\"8ZsakT\":\"Passwort\",\"b+AuuK\":\"Passwort für die Autorisierung.\",\"oREnCY\":\"Passwort von dem Gerät.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Betrachterstatistiken beibehalten\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Pixelformat\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Starter\",\"Ejic1p\":\"Plattformen\",\"gtQk6c\":\"Wiedergabe\",\"vRayGs\":\"Player\",\"tWB9Gz\":\"Playereinstellungen gespeichert\",\"GIxxiU\":\"Player-URL\",\"PUmLMn\":\"Playerseite\",\"LKPR6G\":\"Wiedergabeliste\",\"luDqS5\":\"Playlist Version (M3U8). Version 3 bietet die grösste Kompatibilität mit Browsern/Klienten.\",\"84gH7g\":\"Bitte <0>Prozessprotokoll prüfen\",\"OMpKNS\":\"An den Betreiber des Dienstes wenden und prüfen, was passiert ist.\",\"4lATxE\":\"Bitte geben Sie Ihre E-Mail-Adresse ein, um Ihr Einverständnis mit den Nutzungsbedingungen von Let's Encrypt CA zu erklären und um im Falle von Problemen benachrichtigt zu werden.\",\"bdMiXb\":\"Bitte kontaktieren Sie den Betreiber des Services.\",\"wPZBpR\":\"Datei zum Hochladen auswählen.\",\"YcGRmx\":\"„Passthrough (Kopieren)“ sollte nur deaktiviert werden, wenn es erforderlich ist. Jedes weitere Encoding benötigt zusätzliche CPU/GPU Ressourcen.\",\"06qnxB\":\"Bitte warten — der Stream wird geprüft ...\",\"FTIPkL\":\"Bitte warten — einrichten des Streams ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Position\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"URL des Posterbilds\",\"6o2Onc\":\"Voreinstellung\",\"lxxyq5\":\"Primärer Stream\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Prüfen\",\"1B9XX0\":\"Prozess\",\"DL/nrw\":\"Prozesskontrolle\",\"fzYV2N\":\"Prozess-Details\",\"zNVLia\":\"Prozess-Bericht\",\"PwMwvX\":\"Verarbeitung & Steuerung\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokoll\",\"hEksWI\":\"Protokolle\",\"aLZh9m\":\"Öffentliceh Domain/s\",\"7lbVwY\":\"Publikationsdienst nicht gefunden\",\"ia1vIb\":\"Einstellungen der Publication Webseite gespeichert\",\"XHw75Y\":\"Publikationen\",\"dsOSCf\":\"Abholmodus\",\"lQQ/zA\":\"Daten abholen oder empfangen:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualität\",\"i9d+3B\":\"Raspberry Pi Kamera\",\"tbXj/A\":\"Ratenkontrolle\",\"iaocTt\":\"Verhältnis\",\"WnSPyE\":\"rav1e Parameter\",\"6PpdQP\":\"Eingabe mit nativer Geschwindigkeit lesen\",\"bqsSkO\":\"Empfangsmodus\",\"gcoiFh\":\"Wiederverbinden\",\"lakzvL\":\"Verzögerung beim Wiederherstellen der Verbindung (Sekunden)\",\"HC1Dci\":[\"Wiederverbinden in \",[\"0\"],\"s\"],\"uSDaLA\":[\"Die Wiederherstellung der Verbindung zum Restreamer Core ist in den letzten \",[\"RETRIES\"],\" Sekunden fehlgeschlagen.\"],\"N7ojfh\":\"Die Wiederherstellung der Verbindung zu Restreamer Core ist fehlgeschlagen.\",\"lCF0wC\":\"Aktualisieren\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Benutzer registrieren\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Erneut laden\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Älteste Einträge entfernen, wenn das /memfs voll ist\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Aktivierung erforderlich\",\"XMbkus\":\"Logo zurücksetzen\",\"36SXzE\":\"Poster zurücksetzen\",\"6z9W13\":\"Neustart\",\"dKwnjv\":\"Neustart erforderlich\",\"0Er6+M\":\"Neustart\",\"X1sT1j\":\"Neustart von Restreamer Core …\",\"o5q6jb\":\"Neustart der Anwendung ist fehlgeschlagen.\",\"x8cAsq\":\"Restreamer-Anleitung\",\"24fLVm\":\"Restreamer Service\",\"LCGjV4\":\"Abrufen von Streamdaten ...\",\"6gRgw8\":\"Wiederholen\",\"Qe1vaN\":\"RGB-Testbild\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Rotieren\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"RTMP-App für die Veröffentlichung.\",\"7ggERB\":\"RTMP-Ausgabe\",\"V82lE+\":\"RTMP Port\",\"itARjB\":\"RTMP-Server\",\"WWZqzz\":\"RTMP-Server ist nicht aktiviert\",\"HhOPCL\":\"RTMP-Server Zugriffsadresse.\",\"DbHOhO\":\"RTMP-Token für die Veröffentlichung und Wiedergabe. Das Token ist der Wert des URL-Abfrageparameters „token“.\",\"OAZeFE\":\"RTMPS Port\",\"Wt/wFL\":\"RTMPS-Server\",\"xwonDv\":\"RTMPS-Server Zugriffsadresse\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regel\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Sampling\",\"tfDRzk\":\"Speichern\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Skalierung\",\"6aaceW\":\"Größe skalieren\",\"xbb037\":\"Sekunden, um Dateien im Cache zu halten.\",\"geM4Wc\":\"Sekunden, bis ein Prozess neu gestartet wird.\",\"iF7dnC\":\"Sekunden, bis ein hängender Prozess beendet wird.\",\"mydmGn\":\"Sekunden, bis ein Vorschaubild (JPEG) der Videoquelle aktualisiert wird.\",\"a3LDKx\":\"Sicherheit\",\"Gkr6zI\":\"Sicherheit Token\",\"/Ocrtf\":\"Seekbar Farbe\",\"4lDlYf\":\"Segmentlänge (Sek)\",\"XfNrg+\":\"Das Segment wird nach Ablauf dieser Zeit auf dem folgenden Keyframe geschnitten. 2 wird empfohlen.\",\"jHCoDy\":\"Segmentierung\",\"htbsw4\":\"Auswahl Gerät:\",\"O+ruJ3\":\"Audio-Quelle auswählen:\",\"6MTTpq\":\"Benutze RTMP oder SRT (falls aktiviert) für eine geringere Latenz.\",\"E7haRr\":\"Auswahl Quelle ...\",\"PlZ1aw\":\"Videoquelle auswählen:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Einstellungen für die Encodierung:\",\"aT3o8A\":\"Filtereinstellungen auswählen (optional):\",\"ylXj1N\":\"Ausgewählt\",\"kYpw4+\":\"Auswahl\",\"p7/fS2\":\"Auswahl\",\"SOePwi\":\"Sende anonyme Anwendungsdaten (Hilft den Restreamer kontinuierlich zu verbessern)\",\"kOhBl+\":\"Stream an Adresse senden ...\",\"E1X5xY\":\"Sende den Stream an diese Adresse:\",\"d/IMf3\":\"Sendet das Video zum Bildspeicher\",\"sGH11W\":\"Server\",\"9rG25a\":\"Server URL\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Name des Dienstes\",\"DOrSw/\":\"Servicetoken für die Überwachung.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Zuschauer\",\"xwK3ty\":\"Setzen Sie die rav1e-Konfiguration mit einer :-getrennten Liste von Schlüssel=Wert-Parametern.\",\"FIIk8R\":\"Legt eine Begrenzung der Bandbreite in Mbit/s für die ausgehende HLS-Datenübertragung fest. Alle Dienste, wie RTMP und ausgehende Prozesse, werden in die Berechnung einbezogen. Wenn die Bandbreite überschritten wird, erhalten HLS-Zuschauende den HTTP-Statuscode 509 (Bandwidth Limit Exceeded). 0 ist unbegrenzt.\",\"cOG/FK\":\"Legt ein Limit für die Zuschauenden in der HLS-Sitzungen fest. Wenn das Limit überschritten wird, erhalten HLS-Zuschauende den HTTP-Statuscode 509 (Bandbreitenlimit überschritten). 0 ist unbegrenzt.\",\"mcJFKm\":\"Einstellung für die Anbindung an den Service.\",\"Tz0i8g\":\"Einstellungen\",\"IiOZ6R\":\"Einstellungen (Experten-Modus)\",\"t64OSP\":\"Eintellungen für den /data Pfad. Der Zugriff wird geschützt durch\",\"Ytdvyh\":\"Einstellung für den /memfs Pfad.\",\"1w3lYe\":\"Einstellungen gespeichert. Die Änderungen werden nach einem Neustart der Anwendungen übernommen.\",\"XUw3i9\":\"Share-Button\",\"oD0Oes\":\"Zeigt einen Hinweis auf das Projekt.\",\"+vv4q2\":\"Anmelden (Kostenlos)\",\"JXVFAm\":\"Stille\",\"VSK9FJ\":\"Stilles Audio\",\"L8Jb2l\":\"Sinus\",\"MxZN16\":\"Seitenname\",\"Cj2Gtd\":\"Grösse\",\"yTZe+y\":\"Vorschaubild\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Socket-Zeitüberschreitung (Mikrosekunden)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Quelle\",\"sywlQb\":\"Quelle & Encoding\",\"l9wI00\":\"Geschwindigkeit\",\"vdhBFK\":\"Geschwindigkeit Voreinstellung\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT-Ausgabe\",\"YqnAto\":\"SRT Server\",\"k6hpqB\":\"Der SRT Server ist nicht aktiviert\",\"SzqwHY\":\"SRT Zugriffsadresse\",\"KwbjpB\":\"SRT-Token für die Veröffentlichung und Wiedergabe. Das Token ist der Wert des streamid-Parameters „token“.\",\"Aj28wT\":\"Zeitüberschreitung (Sekunden)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistiken\",\"BrrIs8\":\"Speicherplatz\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Speichert die Zuschauerstatistik auf der Festplatte.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream-Schlüssel\",\"bqiH5R\":\"Stream-Schlüssel\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Streamname\",\"eXELiS\":\"Streamnamen\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Stream-Quelle für Publikations-Service (experimentell).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Stream-URL\",\"+fVH0Y\":\"Unterstütze datarhei Restreamer\",\"5HSoct\":\"Unterstützt HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT und mehr.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Ziel-Addresse\",\"/K2CvV\":\"Vorlage\",\"2Ivkf/\":\"Vorlage, die für die Erstellung der Publikations-Website verwendet werden soll. Mit der Schaltfläche „Löschen“ wird die Auswahl aus dem System entfernt.\",\"4Y5H+g\":\"Bedingungen\",\"tRNH6x\":\"Testbild\",\"EtlVOt\":\"Testbild (erweitert)\",\"wGPolR\":\"Textfarben\",\"m0TUJj\":\"Die Amplitude (0,0 - 1,0) des erzeugten Audiostreams\",\"8C6xwe\":\"Die Applikation verwendet eine ältere Version der Einstellungen.\",\"VPQVR2\":\"Die verfügbare FFmpeg-Version unterstützt keines der erforderlichen Protokolle.\",\"Gx9PPK\":\"Die Bitrate des Audiostreams.\",\"T2kk3f\":\"Trägerfrequenz\",\"JAOLK8\":[\"Der Kanal \\\"\",[\"0\"],\"\\\" konnte nicht gelöscht werden\"],\"jNaBhy\":[\"Der Kanal \\\"\",[\"0\"],\"\\\" wurde gelöscht\"],\"SD8pYJ\":\"Die Löschung dieses Kanals kann nicht rückgängig gemacht werden. Alle Veröffentlichungen dieses Kanals werden entfernt.\",\"bnkV//\":\"Unvollständiges Eingangsprofil. Video- und Audioquelle definieren.\",\"wCYjmB\":\"Das Eingabeprofil ist unvollständig. Bitte definieren Sie eine Video- und/oder Audioquelle.\",\"JMaqWu\":\"Anordnung des Audiostreams.\",\"0dqo+p\":\"Die maximale Anzahl von Wiedergabelistensegmenten. 0 enthält alle Segmente. 6 wird empfohlen.\",\"BDgbiW\":\"Audio-Rauschfarbe\",\"SxGu7I\":\"Die Person, die ein Werk mit dieser Urkunde verbunden hat, hat das Werk der Allgemeinheit gewidmet, indem sie auf alle ihre Rechte an dem Werk weltweit nach dem Urheberrecht, einschließlich aller verwandten und benachbarten Rechte, verzichtet, soweit dies gesetzlich zulässig ist. Sie können das Werk vervielfältigen, verändern, verbreiten und aufführen, auch für kommerzielle Zwecke, alles ohne um Erlaubnis zu fragen.\",\"XISvrq\":\"Der öffentlich erreichbare Domänenname des Hosts, auf dem der Restreamer läuft. Trennen Sie mehrere Domänennamen durch ein Komma.\",\"yt3d3G\":[\"Der Publikationsdienst \\\"\",[\"0\"],\"\\\" konnte nicht gelöscht werden\"],\"zYcO/c\":[\"Der Publikationsdienst \\\"\",[\"0\"],\"\\\" wurde erstellt\"],\"AQE+oz\":[\"Der Publikationsdienst wurde \\\"\",[\"0\"],\"\\\" gelöscht\"],\"qVLWvp\":\"Der Publikationsdienst wurde erstellt\",\"njj2Wn\":\"Die RTMP Ausgabe erfordert den RTMP-Server.\",\"WRxiP8\":\"Abtastrate des Audiostreams.\",\"/pZjRr\":\"Die ausgewählte Datei ist zu groß (<0/>). Es sind nur <1/> zulässig.\",\"VBaSn9\":[\"Der ausgewählte Dateityp (\",[\"0\"],\") ist nicht zulässig. Zulässige Dateitypen sind \",[\"1\"]],\"fM410X\":[\"Die Einstellungen für \\\"\",[\"0\"],\"\\\" wurden gespeichert\"],\"02ii2e\":\"Die Quelle stellt keine Audiostreams zur Verfügung.\",\"+2cAEU\":\"Die Quelle stellt keine Audiostreams zur Verfügung. Bitte die <0>Details der Überprüfung ansehen.\",\"pfqmY7\":\"Die Quelle stellt keine kompatiblen Audiostreams zur Verfügung.\",\"VO9KeK\":\"Die Quelle stellt keine kompatiblen Videostreams zur Verfügung. Bitte die <0>Anforderungen prüfen.\",\"007foU\":\"Die Quelle stellt keine Videostreams zur Verfügung. Bitte die <0>Details der Überprüfung ansehen.\",\"lAsMdV\":\"Die Quelle stellt keine Videostreams zur Verfügung. Bitte die Quelle prüfen.\",\"XlnvcR\":\"Die SRT Ausgabe erfordert den SRT-Server.\",\"w6uuIE\":\"Die Videoquelle stellt keinen kompatiblen Audiokanal zur Verfügung. <0>Silence Audio wird empfohlen. Dienste wie z.B. YouTube, Facebook & Co. benötigen einen Audiokanal.\",\"YJJ2RL\":\"Die Videoquelle ist kompatibel. Gewünschte Auflösung auswählen:\",\"wEiZHy\":\"Es sind Updates verfügbar. Hier erhalten Sie weitere Informationen.\",\"4p1MgS\":\"Es gab ein Problem beim Speichern der Einstellungen. Einstellungen nicht gespeichert.\",\"YJhhwT\":[\"Es ist ein Fehler beim Verbinden mit Restreamer Core bei \",[\"0\"],\" aufgetreten.\"],\"q42VsF\":[\"Beim Hochladen ist ein Fehler aufgetreten: \",[\"0\"]],\"HM96PJ\":\"Es ist ein Fehler beim Einrichten des Streams aufgetreten.\",\"LoDP+Y\":\"Es gab einige Fehler in den Einstellungen. Einstellungen nicht gespeichert.\",\"l92ZKN\":\"Es ist keine Methode für die Anmeldung verfügbar.\",\"cPKuc8\":\"Dies ist ein Dummy-Dienst, der Ihnen die Konzepte des Dienstes erklärt.\",\"Ku8nyu\":\"Bitte Geduld. Es kann einen Moment dauern, bis der Restreamer Core neu gestartet ist …\",\"vCRP3w\":\"Dies ist ein Hinweis auf die urheberrechtlichen Bestimmungen für das Ziel dieses Dienstes.\",\"Hx7k3c\":\"Diese Lizenz erlaubt Wiederverwendern das Kopieren und Verteilen des Materials in jedem Medium oder Format nur in unangepasster Form und nur so lange, wie die Nennung des Urhebers erfolgt. Die Lizenz erlaubt die kommerzielle Nutzung.\",\"6OeMYB\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format in unangepasster Form zu kopieren und zu verbreiten, und zwar nur für nicht-kommerzielle Zwecke und nur so lange, wie der Urheber genannt wird.\",\"TUuhsB\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material zu verbreiten, zu remixen, zu adaptieren und darauf aufzubauen, und zwar in jedem Medium oder Format und nur für nicht-kommerzielle Zwecke und nur so lange, wie die Nennung des Urhebers erfolgt.\",\"kVtKRl\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material zu verbreiten, zu remixen, zu adaptieren und darauf aufzubauen, und zwar in jedem Medium oder Format und nur für nicht-kommerzielle Zwecke, und nur solange der Urheber genannt wird. Wenn Sie das Material umarbeiten, anpassen oder darauf aufbauen, müssen Sie das geänderte Material unter identischen Bedingungen lizenzieren.\",\"FpX5mp\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format zu verbreiten, zu remixen, anzupassen und darauf aufzubauen, solange der Urheber genannt wird. Die Lizenz erlaubt die kommerzielle Nutzung.\",\"SDvwLd\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format zu verbreiten, zu remixen, anzupassen und darauf aufzubauen, solange der Urheber genannt wird. Die Lizenz erlaubt die kommerzielle Nutzung. Wenn Sie das Material umarbeiten, anpassen oder darauf aufbauen, müssen Sie das geänderte Material unter identischen Bedingungen lizenzieren.\",\"H144rX\":\"Dieses Protokoll ist entweder unbekannt oder nicht verfügbar mit der verfügbaren FFmpeg-Version.\",\"nlOxxw\":\"Diese Quelle kann nicht bearbeitet werden, während sie in Gebrauch ist. Um fortzufahren, müssen Sie die Verbindung zur Quelle unterbrechen.\",\"mbSyrG\":[\"Diese Version der Benutzeroberfläche unterstützt nicht das verfügbare FFmpeg-Binary (\",[\"0\"],\"). Die Benutzeroberfläche erfordert \",[\"1\"],\". Bitte verwenden Sie eine unterstützte FFmpeg-Binärdatei.\"],\"N/tTgz\":[\"Diese Version der Benutzeroberfläche unterstützt nicht den angeschlossenen Kern (\",[\"0\"],\"). Die Benutzeroberfläche erfordert \",[\"1\"],\". Bitte verwenden Sie eine kompatible Version der UI.\"],\"2Vq5tr\":\"Die verwendete Version der Benutzeroberfläche ist kompatibel.\",\"QxX9Z5\":\"Schwellenwert (Sekunden)\",\"sNmspt\":\"Kachel-Spalten\",\"sYGp2E\":\"Kachel-Reihen\",\"wbOpwP\":\"Kacheln\",\"H59P7E\":\"Zeit bis eine inaktive Zuschauerverbindung als geschlossen behandelt wird.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Um das System zu stabilisieren, erhöhen Sie die HLS-Segmentlänge für das Keyframe-Intervall um 2-3 * (Verarbeitung und Steuerung).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Oberes Feld\",\"7mjsuh\":\"Übertrage einen Livestream zu einem Telegram Channel.\",\"Gxlq7L\":\"Überträgt Schnappschüsse der Hauptquelle an einen HTTP/S Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"SdyhUl\":\"Überträgt den Audiokanal der Hauptquelle an einen Icecast Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"MayU3b\":\"Übertragen Sie die Hauptquelle als HTTP-Live-Streaming (HLS) an einen HTTP/S-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"3K8kpL\":\"Übertragen Sie die Hauptquelle als MPEG-DASH an einen HTTP/S Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"P/J230\":\"Übertragen Sie die Hauptquelle an einen Brightcove Live-Service. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"u0MhFy\":\"Übertragen Sie die Hauptquelle an einen CDN77 RTMP Service. Mehr über die Einrichtung <0>hier.\",\"zkgT7c\":\"Übertragen Sie die Hauptquelle an einen DaCast RTMP Service. Mehr über die Einrichtung <0>hier.\",\"in9xJz\":\"Überträgt die Hauptquelle auf eine datarhei Core Ressource. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"PcgwEU\":\"Übertragen Sie die Hauptquelle auf eine livespotting.com Ressource. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"D7jwpf\":\"Übertragen Sie die Hauptquelle an einen MPEG-TS-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"SpSgUV\":\"Übertragen Sie die Hauptquelle an einen Red5/Pro Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"lIpqI/\":\"Übertragen Sie die Hauptquelle an einen MPEG-TS-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"pqR6nq\":\"Übertragen Sie die Hauptquelle an einen RTSP-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Q4dSnZ\":\"Übertragen Sie die Hauptquelle an einen SRT Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"fx9S4p\":\"Übertragen Sie die Hauptquelle an einen UDP-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"GLXY2N\":\"Übertragen Sie die Hauptquelle an einen WOWZA Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"AsMKFi\":\"Übertragen Sie die Hauptquelle an die Akamai (MSL) Media Services Live. Weitere Details zu den MSL-Encoder-Einstellungen finden Sie <0>hier.\",\"FB364G\":\"Übertragen Sie die Hauptquelle an den Livepush RTMP-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"CC9yS5\":\"Übertragen Sie die Hauptquelle an den Nimo TV RTMP-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"fP8ZYg\":\"Übertragen Sie die Hauptquelle an den Picarto TV RTMP-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"D9A0LK\":\"Übertragen Sie die Hauptquelle an den Restream RTMP Service. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"YL800g\":\"Überträgt Ihren Videostream zu Azure Media Services. Weiters Informationen finden sie <0>hier.\",\"Abgy4c\":\"Übermittlung an LinkedIn. Weitere Einzelheiten finden Sie <0>hier.\",\"dhCZoS\":\"Übertragen Sie Ihren Livestream an einen Dailymotion-RTMP-Dienst. <0>Hierfinden Sie weitere Details zu den Einstellungen.\",\"tQNclD\":\"Übertragen Sie Ihren Livestream an einen Kick.com-RTMP-Dienst. <0>Hierfinden Sie weitere Details zu den Einstellungen.\",\"mQ0sjr\":\"Überträgt Ihren Livestream an einen Owncast-Server. <0>Weitere Informationen zu den Einstellungen.\",\"AqYRa3\":\"Übertragen Sie Ihren Livestream an einen Rumble RTMP-Dienst. <0>Hierfinden Sie weitere Details zu den Einstellungen.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Überträgt Ihren Videostream mit dem erforderlichen Schlüssel, der in Twitter Producer generiert wurde. Weitere Informationen zum Einrichten eines Livestreams finden Sie unter <0>Producer von Twitter.\",\"ADKef2\":\"Optimieren\",\"8jwViA\":\"UDP-Transport\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Die Konfiguration kann nicht geladen werden.\",\"MWrgON\":\"Einzigartige Identität für den Service.\",\"Ef7StM\":\"Unbekannt\",\"wiIpKZ\":\"Unbekannter Upload-Fehler\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Nicht gewählt\",\"j9zg7e\":\"Details zum Update (Changelog)\",\"ONWvwQ\":\"Hochladen\",\"OXItQT\":[\"Laden Sie eine Audiodatei hoch (\",[\"0\"],\"), um eine Schleife zu erstellen.\"],\"75yxb7\":[\"Laden Sie eine Bild- oder Videodatei (\",[\"0\"],\") hoch, um sie in einer Schleife abzuspielen.\"],\"iAkPTY\":\"Die Dateiübertragung ist fehlgeschlagen\",\"Jmy6pK\":\"Hochladen des Logos fehlgeschlagen\",\"xl1xFp\":\"Das Hochladen des Posters ist fehlgeschlagen\",\"TjrbDj\":\"Betriebszeit\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Verwenden Sie Auth0 für Ihren laufenden Restreamer Core. Mehr <0>Details.\",\"JX4TqK\":\"Verwenden Sie den Assistenten (<0/>) für eine schnelle und einfache Einrichtung, oder bearbeiten Sie (<1/>) die Quellen direkt im benutzerdefinierten Modus.\",\"YYTBz0\":\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"2UPEb1\":\"Copyright und die richtige Bildlizenz wählen. Ob frei für alle oder stark eingeschränkt. Überlege kurz, was andere mit dem Video machen dürfen.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Benutzerregistrierung\",\"7sNhEz\":\"Anmeldename\",\"Gv3pbp\":\"Anmeldename für die Autorisierung.\",\"RQSvXZ\":\"Anmeldename von dem Gerät.\",\"zze3B5\":\"V4L2_M2M ist experimentell.\",\"PvM7Yi\":\"Variable Framerate (VFR)\",\"hpBTpL\":\"velvet\",\"uIAsxu\":\"Vertikal spiegeln\",\"vSJd18\":\"Video\",\"auaWhL\":\"Videogerät\",\"/skRGV\":\"Videoeinstellungen\",\"EzOjvB\":\"Video-Einrichtung\",\"QcQXbU\":\"Videoquelle\",\"M/TIv1\":\"Zuschauende\",\"L2hKw+\":\"violett\",\"hA6FFn\":\"Virtuelle-Quelle\",\"/cF7Rs\":\"Lautstärke\",\"/gnt8J\":\"VPU-ID\",\"wRy4hg\":\"Wir empfehlen OpenMAX IL für Raspberry PI (3/4) mit einem 32-Bit-Betriebssystem.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Willkommen bei Restreamer v2, der Lösung für die schnelle und einfache Veröffentlichung von Videos. Kostenlos für private und kommerzielle Nutzung. Weitere Hilfe in der <0>Dokumentation.\",\"hJfWkA\":\"Welche Geschwindigkeitsvoreinstellung ist zu verwenden.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Wo die HLS-Playlist und Segmente gespeichert werden sollen. In-Memory ist empfohlen.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"weiß\",\"aFWU1n\":\"Breite\",\"e0wV2Y\":\"Schreibschutz\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Ja\",\"WPUsOF\":\"Sie können den Assistenten nicht abbrechen, da mindestens ein Eingang definiert sein muss.\",\"qwY9F9\":\"Konfiguration geändert. Damit die Änderungen wirksam werden muss die Anwendung neu starten. Jetzt neu starten?\",\"nxq2ni\":\"Verbindung manuell wiederherstellen\",\"RM3CEc\":\"Ungespeicherte Änderungen. Bitte speichern, bevor der Dienst wieder gesteuert werden kann.\",\"/cg7qS\":\"Ihr Stream muss kodiert werden, aber es ist kein geeigneter Encoder verfügbar.\",\"BwrOm6\":\"Stream muss kodiert werden. Gewünschten Encoder wählen:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV-Testbild\"}")}; \ No newline at end of file diff --git a/src/locales/de/messages.po b/src/locales/de/messages.po index 044818e..f0fde73 100644 --- a/src/locales/de/messages.po +++ b/src/locales/de/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Kompatibilitätsliste" msgid "<0>Show probe details" msgstr "<0>Details der Überprüfung anzeigen" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "Wechseln Sie auf die Oberfläche des Ziel-Restreamers." @@ -76,11 +76,16 @@ msgstr "Abbrechen" msgid "About" msgstr "Über" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Audio" @@ -302,10 +311,6 @@ msgstr "Autor" msgid "Authorization" msgstr "Autorisierung" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Automatisch" @@ -322,10 +327,6 @@ msgstr "Autoplay" msgid "Available" msgstr "Verfügbar" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Cache-Zeit (Sek)" msgid "Cache types" msgstr "Cache-Typen" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Segment" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Farbe" msgid "Command" msgstr "Befehl" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Konfiguration" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Verbundenes Gerät" msgid "Connected since <0/>" msgstr "Verbunden für <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Verbinde ..." @@ -616,15 +618,19 @@ msgstr "Konstanter Quantisierungsmodus (-1 bis 255)." msgid "Content" msgstr "Inhalt" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "Inhalts-URL" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "CPU-Limit (Prozent)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "CPU-Limit in Prozent (0-100%), 0 für unbegrenzt." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Deinterlace-Modus" msgid "Deinterlace parity" msgstr "Deinterlace-Parität" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Verzögerung" @@ -851,14 +841,6 @@ msgstr "Die Löschung eines Publikationsdienstes kann nicht rückgängig gemacht msgid "Delivering mode" msgstr "Zustellmodus" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Trennen" msgid "Disconnect & Continue" msgstr "Trennen und fortfahren" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Player" msgid "EDIT: Publication Website" msgstr "BEARBEITEN: Publikation Website" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Email" msgid "Embed" msgstr "Einbetten" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Kodierung" msgid "Encryption" msgstr "Verschlüsselung" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Einen Namen für den neuen Kanal eingeben." @@ -1101,12 +1099,12 @@ msgstr "Fehler" msgid "Error while copying data to clipboard" msgstr "Fehler beim Kopieren von Daten in die Zwischenablage" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Fehler: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Dateipfad" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filter" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Allgemein" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Name Google Analytics Tracker" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Hardwaregerät" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Überschrift" msgid "Height" msgstr "Höhe" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "HLS-Statistik für den In-Memory-Speicher" msgid "Horizontal Flip" msgstr "Horizontal spiegeln" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Gehostete Restreamer-Oberfläche" @@ -1438,8 +1429,8 @@ msgstr "HTTPS Port" msgid "Human readable name on the service." msgstr "Von Menschen lesbarer Name des Dienstes." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Inkompatibel" msgid "Inherit" msgstr "Übernehmen" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Inject 1" @@ -1527,6 +1514,14 @@ msgstr "Inject 3" msgid "Inject 4" msgstr "Inject 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Keyframe-Intervall (Sekunden)" msgid "Layout" msgstr "Layout" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Zertifizierung mit Let’s Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Live-Streaming zu Twitch." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Live-Streaming zu Vimeo" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource-ID" @@ -1726,7 +1721,7 @@ msgstr "Lautheitsnormalisierung" msgid "Low latency (Buffer)" msgstr "Geringe Latenz (Buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Hauptkanal" @@ -1848,6 +1843,10 @@ msgstr "Metadaten" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, Standard {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Mold" @@ -1870,7 +1869,7 @@ msgstr "Mehr über Twitter’s Urheberrecht <0>hier." msgid "More about YouTube's copyright <0>here." msgstr "Mehr über das Urheberrecht von YouTube <0>hier." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Kein Audio" msgid "No audio stream available" msgstr "Kein Audiostream verfügbar" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Kein Eingabegerät vorhanden" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Es wurde kein Livestream erkannt. Bitte die Software überprüfen, die den Stream sendet." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Keine Quelle ausgewählt" @@ -1989,7 +1972,7 @@ msgstr "Keine passender Encoder gefunden." msgid "No suitable filter found." msgstr "Keine passenden Filter gefunden." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Kein Video" @@ -1998,10 +1981,6 @@ msgstr "Kein Video" msgid "No video stream available" msgstr "Kein Videostream verfügbar" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Knoten-ID" @@ -2052,10 +2031,6 @@ msgstr "Anzahl der Kacheln, mit denen kodiert wird." msgid "Number of tiles rows to encode with." msgstr "Anzahl der zu kodierenden Kachelreihen." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Ein Referrer pro Zeile, wie http://www.beispiel.com" msgid "Open" msgstr "Öffnen" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Ausgangs-Buffer" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Schwenken" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Passwort von dem Gerät." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Wiedergabeliste" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Playlist Version (M3U8). Version 3 bietet die grösste Kompatibilität mit Browsern/Klienten." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Bitte <0>Prozessprotokoll prüfen" @@ -2309,16 +2284,9 @@ msgstr "Voreinstellung" msgid "Primary stream" msgstr "Primärer Stream" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Prozess" msgid "Process control" msgstr "Prozesskontrolle" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Prozess-Details" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protokoll" msgid "Protocols" msgstr "Protokolle" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Öffentliceh Domain/s" @@ -2437,6 +2401,10 @@ msgstr "Abholmodus" msgid "Pull or recieve the data:" msgstr "Daten abholen oder empfangen:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Wiederverbinden" msgid "Reconnect delay (seconds)" msgstr "Verzögerung beim Wiederherstellen der Verbindung (Sekunden)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Region" msgid "Register user" msgstr "Benutzer registrieren" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Älteste Einträge entfernen, wenn das /memfs voll ist" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Restreamer-Anleitung" msgid "Restreamer Service" msgstr "Restreamer Service" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Abrufen von Streamdaten ..." @@ -2618,15 +2578,15 @@ msgstr "Wiederholen" msgid "RGB test pattern" msgstr "RGB-Testbild" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Rotieren" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Regel" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Skalierung" msgid "Scale size" msgstr "Größe skalieren" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Sekunden, um Dateien im Cache zu halten." @@ -2778,10 +2738,6 @@ msgstr "Das Segment wird nach Ablauf dieser Zeit auf dem folgenden Keyframe gesc msgid "Segmentation" msgstr "Segmentierung" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Auswahl Quelle ..." msgid "Select video source:" msgstr "Videoquelle auswählen:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Wählen Sie aus, ob Sie den Stream von einer <0>Netzwerkquelle (z. B. einer Netzwerkkamera) oder dem <1>internen RTMP-Server (z. B. OBS-Streams an den Restreamer) beziehen." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Name des Dienstes" msgid "Service token for monitoring." msgstr "Servicetoken für die Überwachung." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Einstellungen" msgid "Settings (expert mode)" msgstr "Einstellungen (Experten-Modus)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Eintellungen für den /data Pfad. Der Zugriff wird geschützt durch" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Grösse" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Vorschaubild" @@ -3005,7 +2957,7 @@ msgstr "Geschwindigkeit" msgid "Speed Preset" msgstr "Geschwindigkeit Voreinstellung" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Kacheln" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Zeit bis eine inaktive Zuschauerverbindung als geschlossen behandelt wird." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Um das System zu stabilisieren, erhöhen Sie die HLS-Segmentlänge für das Keyframe-Intervall um 2-3 * (Verarbeitung und Steuerung)." @@ -3477,18 +3413,6 @@ msgstr "Um das System zu stabilisieren, erhöhen Sie die HLS-Segmentlänge für msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Oberes Feld" @@ -3627,12 +3551,12 @@ msgstr "Optimieren" msgid "UDP transport" msgstr "UDP-Transport" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Unbekannt" msgid "Unknown upload error" msgstr "Unbekannter Upload-Fehler" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Das Hochladen des Posters ist fehlgeschlagen" msgid "Uptime" msgstr "Betriebszeit" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Copyright und die richtige Bildlizenz wählen. Ob frei für alle oder st msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Benutzerregistrierung" @@ -3773,10 +3693,6 @@ msgstr "Anmeldename für die Autorisierung." msgid "Username for the device." msgstr "Anmeldename von dem Gerät." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M ist experimentell." @@ -3850,10 +3766,10 @@ msgstr "VPU-ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Wir empfehlen OpenMAX IL für Raspberry PI (3/4) mit einem 32-Bit-Betriebssystem." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Willkommen bei Restreamer v2, der Lösung für die schnelle und einfache msgid "What speed preset to use." msgstr "Welche Geschwindigkeitsvoreinstellung ist zu verwenden." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Wo die HLS-Playlist und Segmente gespeichert werden sollen. In-Memory ist empfohlen." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "weiß" @@ -3881,6 +3809,10 @@ msgstr "Breite" msgid "Write protection" msgstr "Schreibschutz" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Ja" @@ -3893,7 +3825,7 @@ msgstr "Sie können den Assistenten nicht abbrechen, da mindestens ein Eingang d msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Konfiguration geändert. Damit die Änderungen wirksam werden muss die Anwendung neu starten. Jetzt neu starten?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Verbindung manuell wiederherstellen" @@ -3910,14 +3842,6 @@ msgstr "Ihr Stream muss kodiert werden, aber es ist kein geeigneter Encoder verf msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Stream muss kodiert werden. Gewünschten Encoder wählen:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/el/messages.js b/src/locales/el/messages.js index 7ada626..deb8ddc 100644 --- a/src/locales/el/messages.js +++ b/src/locales/el/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Λίστα συμβατότητας\",\"TkRUk0\":\"<0>Εμφάνιση λεπτομερειών ανιχνευτή\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Μεταβείτε στη διασύνδεση του Restreamer-στόχου.\",\"2JnpXL\":\"2. Δημιουργήστε ένα νέο κανάλι και επιλέξτε διακομιστή RTMP ή SRT.\",\"YidyJl\":\"3. Αντιγράψτε τη διεύθυνση URL και επικολλήστε την στο πεδίο \\\"Διεύθυνση στόχου\\\".\",\"X1MZZp\":\"6 (+ εγγυημένη έναρξη με ένα πλαίσιο Key)\",\"JVJkxU\":\"7 (+ κατακερματισμένη μορφή MP4)\",\"ssjjFt\":\"Διακοπή\",\"uyJsf6\":\"Σχετικά με το\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Προσθέστε\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Προσθέστε εξωτερικά widgets και στυλ στον ιστότοπο δημοσίευσης. Μπορείτε να βρείτε μερικά παραδείγματα στη σελίδα βοήθειας.\",\"tsJWSj\":\"Προσθήκη νέου καναλιού\",\"PLTLdv\":\"Προσθήκη δημοσίευσης\",\"35l+l6\":[\"Προσθήκη: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Διεύθυνση\",\"8M7jVn\":\"Διεύθυνση για την εικόνα φόντου.\",\"Vu9yiv\":\"Διεύθυνση για ακρόαση για αιτήσεις HTTP.\",\"AQDW5r\":\"Διεύθυνση για ακρόαση για αιτήσεις HTTPS.\",\"tPrmjP\":\"Διεύθυνση:\",\"owt8Ow\":\"Προσαρμόστε τα χρώματα και το φόντο του ιστότοπου δημοσίευσης όπως σας αρέσει.\",\"uNXGDK\":\"Προηγμένη παρακολούθηση\",\"VNgKZz\":\"Προηγμένες ρυθμίσεις\",\"eiGNYb\":\"Προηγμένη ρύθμιση\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Ειδοποίηση μέσω email\",\"N40H+G\":\"Όλα\",\"Hw5q+W\":\"Όλα τα πλαίσια\",\"f2zxGk\":\"Όλες οι σημαντικές ρυθμίσεις του συστήματος.\",\"lle3bd\":\"Επιτρέψτε όλους τους παραπέμποντες\",\"bgFbIB\":\"Επιτρέπει την καταμέτρηση του αριθμού των θεατών που έχει η ροή.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Πλάτος\",\"ngteek\":\"Μια μεταβλητή περιβάλλοντος καθορίζει αυτή την τιμή.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Το τελικό σημείο API δεν βρέθηκε. Οι ρυθμίσεις δεν έχουν αποθηκευτεί.\",\"LMUw1U\":\"Εφαρμογή\",\"IrC12v\":\"Εφαρμογή\",\"xnCC/2\":\"Είστε σίγουροι ότι θέλετε να διακόψετε τον οδηγό;\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Ήχος\",\"n3RW8K\":\"Συσκευή ήχου\",\"sYyYfE\":\"Συσκευή ήχου\",\"2he4Ra\":\"Ήχος από συσκευή\",\"MvY15a\":\"Ρυθμίσεις ήχου\",\"NoLJ6g\":\"Ρύθμιση ήχου\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Το Auth0 δεν είναι προς το παρόν διαθέσιμο, επειδή αυτή η διασύνδεση έχει φορτωθεί από μη ασφαλή πηγή.\",\"aKsflb\":\"Auth0 Μισθωτής\",\"VbeIOx\":\"Συγγραφέας\",\"NJgJy9\":\"Εξουσιοδότηση\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Αυτόματος καθαρισμός όλων των δεδομένων πολυμέσων\",\"jT50Rz\":\"Αυτόματο παιχνίδι\",\"csDS2L\":\"Διαθέσιμο\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"Ίδρυμα AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Πίσω\",\"1KfyNL\":\"Χρώματα φόντου\",\"23c2Uw\":\"Εικόνα φόντου\",\"r0bEmM\":\"Διακομιστής αντιγράφων ασφαλείας\",\"JFjQhH\":\"Εφεδρική ροή\",\"bkJ+QE\":\"Δημιουργία αντιγράφου ασφαλείας URL\",\"OlXThP\":\"Εύρος ζώνης\",\"QYaaBO\":\"Έλεγχος εύρους ζώνης\",\"KSSL9f\":\"Πανό\",\"0wJVK+\":\"Βασικό\",\"YR04fn\":\"Παράγοντας μπιπ\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Τύποι κρυφής μνήμης μπλοκ\",\"zOC7cT\":\"μπλε\",\"359XuU\":\"Κάτω πεδίο\",\"aC3kWW\":\"Περιγράψτε εν συντομία τι θα δει το κοινό κατά τη διάρκεια της ζωντανής ροής.\",\"SehDNd\":\"καφέ\",\"Ptp9MF\":\"Χρώμα κουμπιού\",\"Lp4WkO\":\"Με ύψος\",\"IeV/4P\":\"Με πλάτος\",\"KxP5AO\":\"Κρυφή μνήμη για αρχεία στο /data.\",\"qX8ffo\":\"Χρόνος προσωρινής αποθήκευσης (δευτερόλεπτα)\",\"4dRAku\":\"Τύποι κρυφής μνήμης\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Απομονωτής σύλληψης\",\"aL2+1d\":\"Λήψη κλικ\",\"EOfLfP\":\"Δρομέας σύλληψης\",\"ieS3Wc\":[\"Το κανάλι \\\"\",[\"0\"],\"\\\" αποθηκεύτηκε\"],\"lfFsZ4\":\"Κανάλια\",\"WMCwmR\":\"Έλεγχος για ενημερώσεις\",\"vM6kpc\":\"Ελέγξτε τις απαιτήσεις\",\"Wzgqhl\":\"Επιλέξτε μια ροή βίντεο\",\"JpTR0/\":\"Επιλέξτε μια ροή ήχου\",\"BTNyrQ\":\"Επιλέξτε μια συσκευή εισόδου ...\",\"f9QIui\":\"Επιλέξτε μια ροή εισόδου ...\",\"/Y6zrN\":\"Επιλέξτε μεταξύ CFR και VFR (Auto)\",\"gObOjh\":\"Επιλέξτε codec ...\",\"v7lrmU\":\"Επιλέξτε ενοικιαστή ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Κλείστε το\",\"r8NEPc\":\"Έγχυση κώδικα\",\"BaUuhR\":\"Κωδικοποιητής\",\"jZlrte\":\"Χρώμα\",\"sjVfrA\":\"Εντολή\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Διαμόρφωση\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Επιβεβαίωση κωδικού πρόσβασης\",\"iSLIjg\":\"Συνδέστε το\",\"NL3Gev\":\"Συνδεδεμένη συσκευή\",\"ywAvGr\":\"Συνδεδεμένος από <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Σύνδεση ...\",\"y6+BXa\":\"Σύνδεση στο Restreamer Core ...\",\"Td5lm6\":\"Η σύνδεση στο Restreamer Core απέτυχε πιθανώς λόγω μικτού περιεχομένου.\",\"awE5Py\":\"Σταθερός ρυθμός καρέ (CFR)\",\"DT0Af/\":\"Λειτουργία σταθερού κβαντιστή (-1 έως 255).\",\"4b3oEV\":\"Περιεχόμενο\",\"U34RbB\":\"URL περιεχομένου\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Πυρήνες\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Όριο CPU (ποσοστό)\",\"uW5tVo\":\"Όριο χρήσης CPU σε ποσοστό (0-100%), 0 για απεριόριστη χρήση.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Προσαρμοσμένη ...\",\"kH80Lk\":\"Προσαρμοσμένη συσκευή ήχου\",\"fW1XQD\":\"Προσαρμοσμένο ευρετήριο ήχου\",\"bzREp0\":\"Προσαρμοσμένος ρυθμός bitrate (kbit/s)\",\"w9oKek\":\"Έγχυση προσαρμοσμένου κώδικα\",\"jYaP01\":\"Προσαρμοσμένη καθυστέρηση\",\"2Gw+zZ\":\"Προσαρμοσμένη συσκευή\",\"WCXGNp\":\"Προσαρμοσμένη μορφή\",\"ZkpZ06\":\"Προσαρμοσμένη ταχύτητα καρέ\",\"1OXCgh\":\"Προσαρμοσμένες ρυθμίσεις JSON για το datarhei Core.\",\"kl56NX\":\"Προσαρμοσμένο διάστημα καρέ πλήκτρων\",\"prIqWa\":\"Προσαρμοσμένη διάταξη\",\"HSB43e\":\"Προσαρμοσμένη δειγματοληψία (Hz)\",\"Efe3BI\":\"Προσαρμοσμένη κλίμακα\",\"E/2KdS\":\"Προσαρμοσμένο μέγεθος\",\"Se794B\":\"Προσαρμοσμένη συσκευή βίντεο\",\"aqv915\":\"Προσαρμοσμένο ευρετήριο βίντεο\",\"v8OlX8\":\"Αντιγραφή δεδομένων στο πρόχειρο\",\"J/VBax\":\"Χρώμα θανάτου\",\"d2TTfK\":\"Ντεσιμπέλ (dB)\",\"W034oz\":\"Αποκωδικοποιητής\",\"ovBPCi\":\"Προεπιλογή\",\"gFwPaj\":[\"Προεπιλογή \",[\"0\"]],\"JQnkrI\":[\"Προεπιλογή \",[\"0\"],\" (\",[\"1\"],\" δευτερόλεπτα)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Λειτουργία Deinterlace\",\"aro6lN\":\"Deinterlace parity\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Καθυστέρηση\",\"qBC9g9\":\"Καθυστέρηση (ms)\",\"cnGeoo\":\"Διαγραφή\",\"ScK3zL\":\"Η διαγραφή μιας υπηρεσίας δημοσίευσης δεν μπορεί να αντιστραφεί. Η δημοσίευση σταματά αμέσως.\",\"cEx3oI\":\"Λειτουργία παράδοσης\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Περιγραφή\",\"f8fH8W\":\"Σχεδιασμός\",\"PEHQTf\":\"Συσκευή\",\"+K0AvT\":\"Αποσύνδεση\",\"miKA/E\":\"Αποσύνδεση & συνέχιση\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Αποσύνδεση ...\",\"sPFHpI\":\"Δίσκος\",\"qczNPP\":\"Κρυφή μνήμη δίσκου\",\"PUqOjv\":\"Αποθήκευση δίσκου\",\"uTwT/l\":\"Θέλετε πραγματικά να επανεκκινήσετε την εφαρμογή τώρα;\",\"FgxcNT\":[\"Θέλετε να διαγράψετε το \\\"\",[\"0\"],\"\\\";\"],\"NogZqg\":[\"Θέλετε να διαγράψετε το \",[\"title\"],\";\"],\"0p+Mpn\":[\"Θέλετε να αποσυνδέσετε το \\\"\",[\"0\"],\"\\\";\"],\"TbjyhA\":\"Έγγραφα\",\"TvY/XA\":\"Τεκμηρίωση\",\"jPtEhI\":\"Διπλά πλαίσια\",\"diaSRH\":\"Κάθε πεδίο\",\"u2SnNO\":\"Κάθε πλαίσιο\",\"ePK91l\":\"Επεξεργασία\",\"INCFjw\":\"Επεξεργαστείτε τις πηγές ήχου και βίντεο για τη ζωντανή ροή. Προσθέστε μια περιγραφή και ορίστε την επιθυμητή άδεια χρήσης περιεχομένου.\",\"+7Wr2a\":[\"Επεξεργασία: \",[\"title\"]],\"e3GLqI\":\"EDIT: Παίκτης\",\"dTPDyf\":\"EDIT: Δικτυακός τόπος δημοσίευσης\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Ηλεκτρονικό ταχυδρομείο\",\"KKBlUU\":\"Ενσωματώστε το\",\"PaQ3df\":\"Ενεργοποίηση\",\"No9svk\":\"Ενεργοποίηση ενός περιοδικού ηχητικού σήματος κάθε δευτερόλεπτο με αυτή την τιμή επί τη συχνότητα του φέροντος.\",\"R7s0Th\":\"Ενεργοποίηση εφεδρικής ροής\",\"xA5zBY\":\"Ενεργοποίηση στατιστικών σπασίκλας\",\"r0zP4o\":\"Ενεργοποίηση τώρα\",\"JwR989\":\"Ενεργοποίηση πρωτεύουσας ροής\",\"blkDNw\":\"Ενεργοποίηση διακομιστή RTMP ...\",\"FgEhO4\":\"Ενεργοποίηση μεταφοράς RTMPS\",\"uGvvxq\":\"Ενεργοποίηση στιγμιότυπων\",\"IuL64N\":\"Ενεργοποίηση διακομιστή SRT ...\",\"NJsnxf\":\"Η ενεργοποίηση της εξουσιοδότησης συνιστάται ανεπιφύλακτα. Διαφορετικά, οποιοσδήποτε μπορεί να έχει πρόσβαση σε αυτή την περίπτωση.\",\"xwS6bX\":\"Η ενεργοποίηση του βασικού auth συνιστάται ανεπιφύλακτα. Διαφορετικά, οποιοσδήποτε μπορεί να γράψει δεδομένα στο /memfs.\",\"0zaXWu\":\"Κωδικοποιητής\",\"o0XA5y\":\"Κωδικοποίηση\",\"q1srUM\":\"Κρυπτογράφηση\",\"qS2y97\":\"Εισάγετε ένα όνομα για το νέο κανάλι.\",\"f7sXvi\":\"Εισάγετε τον κωδικό πρόσβασης\",\"5QCNrf\":\"Εισάγετε τη διεύθυνση της πηγής δικτύου σας:\",\"WLnvCZ\":\"Εισάγετε το όνομα χρήστη\",\"ijwVVM\":\"Κωδικοποιητής εντροπίας\",\"SlfejT\":\"Σφάλμα\",\"sHoMKO\":\"Σφάλμα κατά την αντιγραφή δεδομένων στο πρόχειρο\",\"TpqeIh\":[\"Σφάλμα: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Επεκτείνει την περιοχή πάνω από τη λίστα καναλιών (ζωντανή συνομιλία).\",\"IBJg8n\":\"Επεκτείνει την περιοχή κάτω από την περιγραφή του καναλιού (πλαίσια σχολίων).\",\"XeunlQ\":\"Λειτουργία εμπειρογνώμονα\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Επέκταση λίστας καναλιών\",\"tG09kC\":\"Επέκταση περιεχομένου\",\"bPWJOj\":\"Επέκταση υποσέλιδου\",\"SeaRa5\":\"Επέκταση κεφαλίδας\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Αποτυχία δημιουργίας υπηρεσίας δημοσίευσης (\",[\"0\"],\")\"],\"yT6MEY\":\"Απέτυχε η δημιουργία αρχείων ιστότοπου δημοσίευσης.\",\"FGdPhH\":\"Απέτυχε η διερεύνηση της πηγής. Ελέγξτε τις λεπτομέρειες του <0>ανιχνευτή.\",\"DvfYM2\":[\"Απέτυχε η ανανέωση του κουπονιού: \",[\"0\"]],\"J0Jclh\":\"Αποτυχία αποθήκευσης μεταδεδομένων εισόδου\",\"RPXHsU\":\"Απέτυχε να σταματήσει η διαδικασία\",\"AhS7uc\":\"Απέτυχε η αποθήκευση της ρύθμισης μεγέθους παίκτη.\",\"PcJRf4\":[\"Απέτυχε η αποθήκευση της υπηρεσίας δημοσίευσης (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Απέτυχε η ενημέρωση της διαδικασίας λήψης (\",[\"0\"],\")\"],\"t1E1OU\":[\"Απέτυχε η ενημέρωση της διαδικασίας λήψης στιγμιότυπων (\",[\"0\"],\")\"],\"bssUbs\":\"Απέτυχε η ενημέρωση του παίκτη\",\"4SzVSX\":\"Απέτυχε η ενημέρωση της ιστοσελίδας παικτών\",\"H8gP5T\":\"Απέτυχε η επαλήθευση της πηγής. Ελέγξτε τη διεύθυνση.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Διαδρομή αρχείου\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Φίλτρο\",\"JmZ/+d\":\"Τέλος\",\"k4A6IZ\":\"Μέγεθος στερέωσης\",\"Xgkhyj\":\"Σημαίες\",\"+L0/av\":\"Για Javascripts.\",\"VBU6dD\":\"Για Φύλλα στυλ.\",\"XDTTEp\":\"Αναγκαστική εισαγωγή καρέ\",\"Y5YNoi\":\"Αναγκαστικά πλαίσια πλήκτρων\",\"kI1qVD\":\"Μορφή\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Πτώσεις πλαισίων\",\"lPICcX\":\"Το πλαίσιο περνάει (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Ταχύτητα καρέ\",\"RFrfTY\":\"Μετατροπή καρέ (παρεμβολή καρέ)\",\"xDfHbM\":\"Λειτουργία καρέ\",\"4xNpe4\":\"Συχνότητα (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Γενικά\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Αναγνωριστικό Google Analytics\",\"S/8Noo\":\"Όνομα ανιχνευτή Google Analytics\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Συσκευή υλικού\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Κεφαλίδα\",\"+670Zw\":\"Επικεφαλίδα\",\"PFFhCT\":\"Ύψος\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Έξοδος HLS\",\"oMxmoP\":\"Διακομιστής HLS\",\"5/G5c1\":\"Στατιστικά στοιχεία HLS για την αποθήκευση στη μνήμη\",\"wXoUQx\":\"Οριζόντια αναστροφή\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Διασύνδεση Restreamer με φιλοξενία\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP και HTTPS\",\"YmRLab\":\"Θύρα HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Θύρα HTTPS\",\"Ptrvx5\":\"Όνομα της υπηρεσίας που μπορεί να διαβαστεί από τον άνθρωπο.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Αν αλλάξατε τις θύρες, μπορεί το Restreamer Core να έχει ήδη επανεκκινήσει, αλλά τώρα είναι διαθέσιμο σε διαφορετική θύρα.\",\"OQONQS\":\"Αν έχετε ενεργοποιήσει το Let's Encrypt TLS, μπορεί να χρειαστεί λίγος χρόνος για να αποκτήσετε τα πιστοποιητικά. Βεβαιωθείτε ότι το Restreamer Core είναι προσβάσιμο μέσω της θύρας 80 από το διαδίκτυο. Ελέγξτε το αρχείο καταγραφής της κονσόλας του Restreamer Core.\",\"yWR5EY\":\"κώδικας iframe\",\"7ZKroD\":\"Αγνοήστε περιοχές IP\",\"VyUuZb\":\"URL εικόνας\",\"5n8FKh\":\"Εκτύπωση\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Εκτός από τη συσκευή αναπαραγωγής, το Restreamer προσφέρει μια πλήρη σελίδα προορισμού, την οποία μπορείτε να χρησιμοποιήσετε για να παρουσιάσετε τη ζωντανή ροή σας εύκολα και γρήγορα.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"Στη μνήμη\",\"EwM+sw\":\"Αποθήκευση στη μνήμη\",\"xmsVuq\":\"Μη συμβατό\",\"exUN1j\":\"Κληρονόμος\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Ένεση 1\",\"MJlrvd\":\"Ένεση 2\",\"MppU96\":\"Έγχυση 3\",\"zBVRQb\":\"Ένεση 4\",\"Adqgqr\":\"Ροή εισόδου\",\"jnyWFc\":\"Πεδίο αναφοράς\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Διάστημα (δευτερόλεπτα)\",\"C4WaV1\":\"Ειδοποίηση έκδοσης\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Διάστημα καρέ πλήκτρων (δευτερόλεπτα)\",\"rdU729\":\"Διάταξη\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Πιστοποίηση Let's Encrypt\",\"LgUs17\":\"Το Let's Encrypt απαιτεί ένα ή περισσότερα δημόσια ονόματα τομέα και μια προσβάσιμη θύρα 80/TCP.\",\"oCHfGC\":\"Επίπεδο\",\"eyLS1J\":\"Επίπεδο πρωτοκόλλου συστήματος.\",\"iQmbPb\":\"Άδεια\",\"mQImez\":\"Χρώμα ζωής\",\"6BDqha\":\"Όρια\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Γραμμές\",\"yzF66j\":\"Σύνδεσμος\",\"NBxw5Y\":\"Σύνδεσμος, mouseover\",\"xCrpEt\":\"Λίστα επεκτάσεων αρχείων που δεν πρέπει να αποθηκευτούν στην προσωρινή μνήμη (π.χ. \\\".m3u8\\\"), μία ανά γραμμή. Αφήστε κενό για καμία.\",\"m2l8c3\":\"Λίστα επεκτάσεων αρχείων προς προσωρινή αποθήκευση (π.χ. \\\".html\\\"), μία ανά γραμμή. Αφήστε το κενό για να αποθηκεύσετε όλους τους τύπους αρχείων.\",\"QYw6tl\":\"Κατάλογος περιοχών IP σε συμβολισμό CIDR, π.χ. 127.0.0.1/32, τις οποίες τα στατιστικά στοιχεία δεν θα καταγράφουν - μία περιοχή IP ανά γραμμή. Αφήστε την κενή για να καταγράψετε όλες τις περιόδους λειτουργίας.\",\"ELFO4F\":\"Μέγεθος λίστας (τμήματα)\",\"D0Nwch\":\"Live-Streaming στην υπηρεσία dlive Live RTMP.\",\"n2VKys\":\"Live-Streaming στην υπηρεσία Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming στην υπηρεσία RTMP του δικτύου μέσων ενημέρωσης.\",\"w9zSAv\":\"Live-Streaming στην υπηρεσία PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Live-Streaming στην υπηρεσία Trovo Live RTMP.\",\"JJGagy\":\"Live-Streaming στην υπηρεσία Twitch Live RTMP.\",\"4TnPVp\":\"Live-Streaming στην υπηρεσία Vimeo Live RTMP\",\"G4x3PY\":\"Αναγνωριστικό πηγής ζωής\",\"0aIqC4\":\"Επίπεδο καταγραφής\",\"x7PDL5\":\"Καταγραφή\",\"z0t9bb\":\"Σύνδεση\",\"+fL+Rj\":[\"Η σύνδεση απέτυχε: \",[\"0\"]],\"4cd7gw\":\"Η σύνδεση απέτυχε: API: Δεν μπόρεσε να φορτώσει λεπτομέρειες API\",\"sNqu7k\":\"Είσοδος/JWT εξουσιοδότηση\",\"iG7KNr\":\"Λογότυπο\",\"nOhz3x\":\"Αποσύνδεση\",\"DYX2fZ\":\"Βρόχος\",\"SzaPTL\":\"Κανονικοποίηση ηχηρότητας\",\"QGvS9k\":\"Χαμηλή καθυστέρηση (Buffer)\",\"GaV7al\":\"Κύριο κανάλι\",\"Wsn0Uw\":\"Το κύριο κανάλι δεν βρέθηκε\",\"tROIde\":\"Κύριο κανάλι αποθηκευμένο\",\"nLVSux\":\"Κανάλι κύριας σελίδας (index.html).\",\"rd3Pv7\":\"Κύρια πηγή\",\"f4txA1\":\"Συντηρητής:\",\"3iTz2L\":\"Κάντε το κανάλι διαθέσιμο ως ροή RTMP (πειραματικό).\",\"mMiku6\":\"Κάντε το κανάλι διαθέσιμο ως ροή SRT (πειραματικό).\",\"6dZ9NS\":\"Σημειωμένα πλαίσια\",\"iuA3xD\":\"Κύρια λίστα αναπαραγωγής (αυξάνει τη συμβατότητα προγράμματος περιήγησης/πελάτη)\",\"WBpxnA\":\"Μέγιστο επιτρεπόμενο μέγεθος cache, 0 για απεριόριστο.\",\"NzaPGT\":\"Μέγιστα επιτρεπόμενα megabytes μνήμης RAM για το /memfs, 0 για απεριόριστη μνήμη.\",\"aaso5s\":\"Μέγιστη επιτρεπόμενη κατανάλωση megabytes από το σκληρό δίσκο. 0 για απεριόριστα.\",\"4hp5D2\":\"Μέγιστο εύρος ζώνης Mbit/s\",\"L+uBOR\":\"Μέγιστη καθυστέρηση σε χιλιοστά του δευτερολέπτου.\",\"hkoCqq\":\"Μέγιστο μέγεθος αρχείου (Megabytes)\",\"i96JfZ\":\"Μέγιστο μέγεθος αρχείου που θα τοποθετηθεί στη μνήμη cache.\",\"Q9HspI\":\"Μέγιστο ιστορικό καταγραφής\",\"bS9ZHz\":\"Μέγιστες γραμμές καταγραφής\",\"6sayfE\":\"Μέγιστο μέγεθος (Megabytes)\",\"09BWQO\":\"Μέγιστος χρόνος αδράνειας του θεατή (δευτερόλεπτα)\",\"hW0DV1\":\"Μέγιστοι θεατές\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Μνήμη\",\"KReOHe\":\"Όριο μνήμης (megabytes)\",\"fViWSz\":\"Όριο χρήσης μνήμης σε megabytes, 0 για απεριόριστη χρήση.\",\"emJ6M7\":\"Μεταπληροφορίες\",\"6GBt0m\":\"Μεταδεδομένα\",\"SCcIsq\":[\"Ελάχιστο \",[\"0\"],\", προεπιλογή \",[\"1\"]],\"riWPSk\":\"Μούχλα\",\"QA/rur\":\"Περισσότερα για τις άδειες εδώ\",\"fyGu1l\":\"Περισσότερα για την υπηρεσία\",\"yBsv2n\":\"Περισσότερα για τα πνευματικά δικαιώματα του Twitter <0>εδώ.\",\"ZpfAc9\":\"Περισσότερα για τα πνευματικά δικαιώματα του YouTube <0>εδώ.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Πρέπει να είναι μεγαλύτερο από το μέγιστο μέγεθος αρχείου στην προσωρινή μνήμη.\",\"gC9RIS\":\"Πρέπει να είναι μικρότερη από το μέγιστο μέγεθος της κρυφής μνήμης.\",\"R7SsBE\":\"Σίγαση\",\"K0rCAk\":\"Σίγαση ενός καναλιού.\",\"Jv/kid\":\"Σίγαση αριστερά\",\"FsCP6P\":\"Σίγαση δεξιά\",\"6YtxFj\":\"Όνομα\",\"0ZkQqR\":\"Όνομα για το πρότυπο. Εάν το όνομα υπάρχει ήδη, θα αντικατασταθεί.\",\"OR475H\":\"Δίκτυο\",\"KZDcDr\":\"Πηγή δικτύου\",\"hXzOVo\":\"Επόμενο\",\"JZrXI6\":\"Επόμενος: Ήχος\",\"kZFy+Q\":\"Επόμενος: Ρύθμιση βίντεο\",\"1UzENP\":\"Όχι\",\"p6Fxed\":\"Χωρίς ήχο\",\"bIDO3H\":\"Δεν υπάρχει διαθέσιμη ροή ήχου\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Δεν υπάρχει διαθέσιμη συσκευή εισόδου\",\"dEwhMr\":\"Δεν εντοπίστηκε ζωντανή ροή. Ελέγξτε το λογισμικό που στέλνει τη ροή.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Δεν έχει επιλεγεί πηγή\",\"3TfuWb\":\"Δεν υπάρχουν διαθέσιμες πηγές\",\"fiXA/y\":\"Δεν βρέθηκε κατάλληλος κωδικοποιητής.\",\"acY4BT\":\"Δεν βρέθηκε κατάλληλο φίλτρο.\",\"/02FxK\":\"Δεν υπάρχει βίντεο\",\"AVWnC9\":\"Δεν υπάρχει διαθέσιμη ροή βίντεο\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Αναγνωριστικό κόμβου\",\"9J5l/O\":\"Θόρυβος\",\"EdQY6l\":\"Κανένα\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Σημειώσεις\",\"/a9y2d\":\"Αριθμός γραμμών καταγραφής που θα διατηρηθούν.\",\"ZD0urA\":\"Αριθμός καταγραφών που πρέπει να διατηρούνται για κάθε διεργασία.\",\"Aia5w3\":\"Αριθμός δευτερολέπτων για τα οποία επιτρέπεται η υπέρβαση των ορίων.\",\"1lZb7D\":\"Αριθμός στηλών πλακιδίων για κωδικοποίηση.\",\"InpHMl\":\"Αριθμός πλακιδίων που κωδικοποιούνται με.\",\"wnRD5D\":\"Αριθμός σειρών πλακιδίων για κωδικοποίηση.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Ένας παραπομπός ανά γραμμή, π.χ. http://www.example.com\",\"1TNIig\":\"Ανοίξτε το\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Απομονωτής εξόδου\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Συνθηματική φράση\",\"Y+p0Tt\":\"Σύνθημα πρόσβασης για κρυπτογράφηση SRT.\",\"fpQo1i\":\"Η φράση πρόσβασης πρέπει να έχει μήκος μεταξύ 10 και 79 χαρακτήρων\",\"3GZXaB\":\"Το Passthrough (αντιγραφή) θα πρέπει να απενεργοποιείται μόνο εάν είναι απαραίτητο. Κάθε κωδικοποίηση απαιτεί πρόσθετους πόρους CPU/GPU.\",\"8ZsakT\":\"Κωδικός πρόσβασης\",\"b+AuuK\":\"Κωδικός πρόσβασης για εξουσιοδότηση.\",\"oREnCY\":\"Κωδικός πρόσβασης για τη συσκευή.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Στατιστικά στοιχεία θεατών που παραμένουν\",\"ANX1b0\":\"ροζ\",\"c8aBfM\":\"Μορφή pixel\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Σχέδιο: <0>Starter\",\"Ejic1p\":\"Πλατφόρμες\",\"gtQk6c\":\"Αναπαραγωγή\",\"vRayGs\":\"Παίκτης\",\"tWB9Gz\":\"Αποθήκευση ρυθμίσεων παίκτη\",\"GIxxiU\":\"URL παίκτη\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Λίστα αναπαραγωγής\",\"luDqS5\":\"Έκδοση λίστας αναπαραγωγής (M3U8). Η έκδοση 3 έχει την καλύτερη συμβατότητα προγράμματος περιήγησης/πελάτη.\",\"84gH7g\":\"Ελέγξτε το αρχείο καταγραφής <0>διεργασίας\",\"OMpKNS\":\"Επικοινωνήστε με τον φορέα εκμετάλλευσης της υπηρεσίας και ελέγξτε τι συμβαίνει.\",\"4lATxE\":\"Παρακαλούμε εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας για να υπογράψετε τη συμφωνία σας με τους όρους χρήσης της Let's Encrypt CA και για να ειδοποιηθείτε σε περίπτωση προβλημάτων.\",\"bdMiXb\":\"Παρακαλούμε επικοινωνήστε με τον φορέα εκμετάλλευσης της υπηρεσίας και ελέγξτε τι συμβαίνει.\",\"wPZBpR\":\"Παρακαλούμε επιλέξτε ένα αρχείο για να το ανεβάσετε.\",\"YcGRmx\":\"Παρακαλούμε χρησιμοποιήστε το \\\"Passthrough (αντίγραφο)\\\" εάν είναι δυνατόν. Η κωδικοποίηση απαιτεί πρόσθετους πόρους CPU/GPU.\",\"06qnxB\":\"Παρακαλώ περιμένετε. Δεδομένα ροής ανιχνευτή ...\",\"FTIPkL\":\"Παρακαλώ περιμένετε. Ρύθμιση της ροής ...\",\"hZ6znB\":\"Λιμάνι\",\"p/78dY\":\"Θέση\",\"d62Stt\":\"Αφίσα\",\"PNap/Y\":\"URL εικόνας αφίσας\",\"6o2Onc\":\"Προεπιλεγμένο\",\"lxxyq5\":\"Πρωτογενής ροή\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Ανιχνευτής\",\"1B9XX0\":\"Διαδικασία\",\"DL/nrw\":\"Έλεγχος διεργασιών\",\"fzYV2N\":\"Λεπτομέρειες διαδικασίας\",\"zNVLia\":\"Αναφορά διαδικασίας\",\"PwMwvX\":\"Επεξεργασία & έλεγχος\",\"vERlcd\":\"Προφίλ\",\"6+OdGi\":\"Πρωτόκολλο\",\"hEksWI\":\"Πρωτόκολλα\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Δημόσιος τομέας/ες\",\"7lbVwY\":\"Η υπηρεσία δημοσίευσης δεν βρέθηκε\",\"ia1vIb\":\"Αποθήκευση ρυθμίσεων ιστότοπου δημοσίευσης\",\"XHw75Y\":\"Δημοσιεύσεις\",\"dsOSCf\":\"Λειτουργία έλξης\",\"lQQ/zA\":\"Τραβήξτε ή λάβετε τα δεδομένα:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Ποιότητα\",\"i9d+3B\":\"Κάμερα Raspberry Pi\",\"tbXj/A\":\"Έλεγχος ποσοστού\",\"iaocTt\":\"Αναλογία\",\"WnSPyE\":\"rav1e Παράμετροι\",\"6PpdQP\":\"Διαβάστε την είσοδο σε εγγενή ταχύτητα\",\"bqsSkO\":\"Λειτουργία λήψης\",\"gcoiFh\":\"Επανασύνδεση\",\"lakzvL\":\"Καθυστέρηση επανασύνδεσης (δευτερόλεπτα)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Επανασύνδεση σε \",[\"0\"],\"s\"],\"uSDaLA\":[\"Η επανασύνδεση με τον πυρήνα Restreamer απέτυχε για τα τελευταία \",[\"RETRIES\"],\" δευτερόλεπτα.\"],\"N7ojfh\":\"Η επανασύνδεση με το Restreamer Core απέτυχε.\",\"lCF0wC\":\"Ανανέωση\",\"uJ+Ve2\":\"Περιοχή\",\"CNipTv\":\"Εγγραφή χρήστη\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Επαναφόρτωση\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Αφαίρεση των παλαιότερων καταχωρήσεων αν το /memfs είναι γεμάτο\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Απαιτεί ενεργοποίηση\",\"XMbkus\":\"Επαναφορά λογότυπου\",\"36SXzE\":\"Επαναφορά αφίσας\",\"6z9W13\":\"Επανεκκίνηση\",\"dKwnjv\":\"Απαιτείται επανεκκίνηση\",\"0Er6+M\":\"Επανεκκίνηση του\",\"X1sT1j\":\"Επανεκκίνηση του Restreamer Core ...\",\"o5q6jb\":\"Η επανεκκίνηση της εφαρμογής απέτυχε.\",\"x8cAsq\":\"Οδηγίες Restreamer\",\"24fLVm\":\"Υπηρεσία Restreamer\",\"LCGjV4\":\"Ανάκτηση δεδομένων ροής ...\",\"6gRgw8\":\"Επανάληψη\",\"Qe1vaN\":\"Μοτίβο δοκιμής RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Περιστροφή\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Εφαρμογή RTMP για δημοσίευση.\",\"7ggERB\":\"Έξοδος RTMP\",\"V82lE+\":\"Θύρα RTMP\",\"itARjB\":\"Διακομιστής RTMP\",\"WWZqzz\":\"Ο διακομιστής RTMP δεν είναι ενεργοποιημένος\",\"HhOPCL\":\"Διεύθυνση ακρόασης διακομιστή RTMP.\",\"DbHOhO\":\"Token RTMP για δημοσίευση και αναπαραγωγή. Το token είναι η τιμή της παραμέτρου ερωτήματος URL 'token'.\",\"OAZeFE\":\"Λιμάνι RTMPS\",\"Wt/wFL\":\"Διακομιστής RTMPS\",\"xwonDv\":\"Διεύθυνση ακρόασης διακομιστή RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Κανόνας\",\"HneYgw\":\"Δειγματοληψία\",\"tfDRzk\":\"Αποθήκευση\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Κλίμακα\",\"6aaceW\":\"Μέγεθος κλίμακας\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Δευτερόλεπτα για τη διατήρηση των αρχείων στη μνήμη cache.\",\"geM4Wc\":\"Δευτερόλεπτα μέχρι την επανεκκίνηση μιας διεργασίας.\",\"iF7dnC\":\"Δευτερόλεπτα έως ότου τερματιστεί μια σταλμένη διεργασία.\",\"mydmGn\":\"Δευτερόλεπτα μέχρι να ενημερωθεί το στιγμιότυπο/μικρογραφία της πηγής βίντεο.\",\"a3LDKx\":\"Ασφάλεια\",\"Gkr6zI\":\"Κουπόνι ασφαλείας\",\"/Ocrtf\":\"Χρώμα Seekbar\",\"4lDlYf\":\"Μήκος τμήματος (δευτερόλεπτα)\",\"XfNrg+\":\"Το τμήμα θα αποκοπεί στο επόμενο καρέ πλήκτρων μετά την παρέλευση αυτού του χρόνου. Συνιστάται το 2.\",\"jHCoDy\":\"Τμηματοποίηση\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Επιλέξτε μια συσκευή:\",\"O+ruJ3\":\"Επιλέξτε πηγή ήχου:\",\"6MTTpq\":\"Επιλέξτε RTMP ή SRT (αν είναι ενεργοποιημένο) για μικρότερη καθυστέρηση.\",\"E7haRr\":\"Επιλέξτε πηγή ...\",\"PlZ1aw\":\"Επιλέξτε πηγή βίντεο:\",\"YYlcWm\":\"Επιλέξτε αν θα αντλήσετε τη ροή από μια <0>πηγή δικτύου (όπως μια κάμερα δικτύου) ή από τον <1>εσωτερικό διακομιστή RTMP (π.χ. ροές OBS στο Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Επιλέξτε τη ρύθμιση κωδικοποίησης:\",\"aT3o8A\":\"Επιλέξτε τις ρυθμίσεις του φίλτρου σας (προαιρετικά):\",\"ylXj1N\":\"Επιλεγμένα\",\"kYpw4+\":\"Επιλεγμένο κανάλι\",\"p7/fS2\":\"Επιλογή\",\"SOePwi\":\"Στείλτε ανώνυμες μετρήσεις (μας βοηθά για μελλοντική ανάπτυξη)\",\"kOhBl+\":\"Στείλτε ροή στη διεύθυνση ...\",\"E1X5xY\":\"Στείλτε ρεύμα σε αυτή τη διεύθυνση:\",\"d/IMf3\":\"Αποστολή βίντεο σε Framebuffer\",\"sGH11W\":\"Διακομιστής\",\"9rG25a\":\"URL διακομιστή\",\"T3bXxK\":\"Υπηρεσία\",\"KPPdUO\":\"Όνομα υπηρεσίας\",\"DOrSw/\":\"Κουπόνι υπηρεσίας για παρακολούθηση.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Συνεδρίες\",\"xwK3ty\":\"Ορίστε τη ρύθμιση παραμέτρων rav1e χρησιμοποιώντας μια λίστα παραμέτρων key=value με διαχωρισμό :-.\",\"FIIk8R\":\"Ορίζει ένα όριο εύρους ζώνης σε Mbit ανά δευτερόλεπτο για τη μεταφορά εξερχόμενων δεδομένων HLS. Όλες οι υπηρεσίες, όπως το RTMP και οι εξερχόμενες διεργασίες, περιλαμβάνονται στον υπολογισμό. Εάν το εύρος ζώνης ξεπεραστεί, οι θεατές HLS λαμβάνουν τον κωδικό κατάστασης HTTP 509 (υπέρβαση ορίου εύρους ζώνης). Το 0 είναι απεριόριστο.\",\"cOG/FK\":\"Ορίζει ένα όριο θεατών για συνεδρίες HLS. Εάν το όριο ξεπεραστεί, οι θεατές HLS λαμβάνουν τον κωδικό κατάστασης HTTP 509 (υπέρβαση ορίου εύρους ζώνης). Το 0 είναι απεριόριστο.\",\"mcJFKm\":\"Ρύθμιση για τη σύνδεση με την υπηρεσία.\",\"Tz0i8g\":\"Ρυθμίσεις\",\"IiOZ6R\":\"Ρυθμίσεις (λειτουργία εμπειρογνώμονα)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Ρυθμίσεις για τη διαδρομή /data. Η πρόσβαση προστατεύεται από\",\"Ytdvyh\":\"Ρυθμίσεις για τη διαδρομή /memfs.\",\"1w3lYe\":\"Οι ρυθμίσεις αποθηκεύονται. Όλες οι αλλαγές θα εφαρμοστούν μετά την επανεκκίνηση της εφαρμογής.\",\"XUw3i9\":\"Κουμπί κοινής χρήσης\",\"oD0Oes\":\"Εμφανίζει μια αναφορά στο έργο.\",\"+vv4q2\":\"Εγγραφείτε (δωρεάν)\",\"JXVFAm\":\"Σιωπή\",\"VSK9FJ\":\"Σιωπή ήχου\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Sitename\",\"Cj2Gtd\":\"Μέγεθος\",\"yTZe+y\":\"Στιγμιότυπο\",\"pSUgnY\":\"Κοινωνική σύνδεση (OAuth2, 2FA)\",\"qe9jaI\":\"Χρονικό όριο υποδοχής (μικροδευτερόλεπτα)\",\"bRN5nm\":\"Λογισμικό\",\"wdxz7K\":\"Πηγή\",\"sywlQb\":\"Πηγή & κωδικοποίηση\",\"l9wI00\":\"Ταχύτητα\",\"vdhBFK\":\"Προεπιλογή ταχύτητας\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Έξοδος SRT\",\"YqnAto\":\"Διακομιστής SRT\",\"k6hpqB\":\"Ο διακομιστής SRT δεν είναι ενεργοποιημένος\",\"SzqwHY\":\"Διεύθυνση ακρόασης διακομιστή SRT.\",\"KwbjpB\":\"SRT token για δημοσίευση και αναπαραγωγή. Το token είναι η τιμή της παραμέτρου streamid 'token'.\",\"Aj28wT\":\"Καθυστερημένο χρονικό όριο (δευτερόλεπτα)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Στατιστικά στοιχεία\",\"BrrIs8\":\"Αποθήκευση\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Αποθηκεύει τα στατιστικά στοιχεία προβολής στο δίσκο.\",\"hou0tP\":\"Ρεύμα\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Κλειδί ροής\",\"bqiH5R\":\"Κλειδί ροής\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Όνομα ρεύματος\",\"eXELiS\":\"Ονόματα ρευμάτων\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Πηγή ροής για την υπηρεσία δημοσίευσης (πειραματική).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL ροής\",\"+fVH0Y\":\"Υποστήριξη datarhei Restreamer\",\"5HSoct\":\"Υποστηρίζει HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT και άλλα.\",\"D+NlUC\":\"Σύστημα\",\"jkuW2z\":\"Διεύθυνση στόχου\",\"/K2CvV\":\"Πρότυπο\",\"2Ivkf/\":\"Πρότυπο που θα χρησιμοποιηθεί για τη δημιουργία του δικτυακού τόπου δημοσίευσης. Το κουμπί διαγραφής αφαιρεί την επιλογή από το σύστημα.\",\"4Y5H+g\":\"Όροι\",\"tRNH6x\":\"Μοτίβο δοκιμής\",\"EtlVOt\":\"Μοτίβο δοκιμής (εκτεταμένο)\",\"wGPolR\":\"Χρώματα κειμένου\",\"m0TUJj\":\"Το πλάτος (0.0 - 1.0) της παραγόμενης ροής ήχου\",\"8C6xwe\":\"Η εφαρμογή χρησιμοποιεί παλαιότερη έκδοση των ρυθμίσεων.\",\"VPQVR2\":\"Το διαθέσιμο δυαδικό αρχείο FFmpeg δεν υποστηρίζει κανένα από τα απαιτούμενα πρωτόκολλα.\",\"Gx9PPK\":\"Το bitrate της ροής ήχου.\",\"T2kk3f\":\"Η φέρουσα συχνότητα\",\"JAOLK8\":[\"Το κανάλι \\\"\",[\"0\"],\"\\\" δεν μπόρεσε να διαγραφεί\"],\"jNaBhy\":[\"Το κανάλι \\\"\",[\"0\"],\"\\\" έχει διαγραφεί\"],\"SD8pYJ\":\"Η διαγραφή αυτού του καναλιού δεν μπορεί να ανακτηθεί. Όλες οι δημοσιεύσεις αυτού του καναλιού θα αφαιρεθούν.\",\"bnkV//\":\"Το προφίλ εισόδου δεν είναι πλήρες. Ορίστε μια πηγή βίντεο και ήχου.\",\"wCYjmB\":\"Το προφίλ εισόδου δεν είναι πλήρες. Ορίστε μια πηγή βίντεο ή/και ήχου.\",\"JMaqWu\":\"Η διάταξη της ροής ήχου.\",\"0dqo+p\":\"Ο μέγιστος αριθμός τμημάτων λίστας αναπαραγωγής. Το 0 θα περιέχει όλα τα τμήματα. Συνιστάται το 6.\",\"BDgbiW\":\"Το χρώμα του θορύβου\",\"SxGu7I\":\"Το πρόσωπο που συνέδεσε ένα έργο με αυτή την πράξη έχει αφιερώσει το έργο στο δημόσιο τομέα παραιτούμενος από όλα τα δικαιώματά του επί του έργου παγκοσμίως βάσει του νόμου περί πνευματικών δικαιωμάτων, συμπεριλαμβανομένων όλων των συγγενικών και συγγενικών δικαιωμάτων, στο βαθμό που επιτρέπεται από το νόμο. Μπορείτε να αντιγράψετε, να τροποποιήσετε, να διανείμετε και να εκτελέσετε το έργο, ακόμη και για εμπορικούς σκοπούς, και όλα αυτά χωρίς να ζητήσετε άδεια.\",\"XISvrq\":\"Το δημόσιο προσβάσιμο όνομα τομέα του κεντρικού υπολογιστή στον οποίο εκτελείται αυτός ο Restreamer. Διαχωρίστε πολλαπλά ονόματα τομέα με κόμμα.\",\"yt3d3G\":[\"Η υπηρεσία δημοσίευσης \\\"\",[\"0\"],\"\\\" δεν μπόρεσε να διαγραφεί\"],\"zYcO/c\":[\"Η υπηρεσία δημοσίευσης \\\"\",[\"0\"],\"\\\" έχει δημιουργηθεί\"],\"AQE+oz\":[\"Η υπηρεσία δημοσίευσης \\\"\",[\"0\"],\"\\\" έχει διαγραφεί\"],\"qVLWvp\":\"Η υπηρεσία δημοσίευσης έχει δημιουργηθεί\",\"njj2Wn\":\"Η έξοδος RTMP απαιτεί τον διακομιστή RTMP.\",\"WRxiP8\":\"Ο ρυθμός δειγματοληψίας της ροής ήχου.\",\"/pZjRr\":\"Το επιλεγμένο αρχείο είναι πολύ μεγάλο (<0/>). Επιτρέπονται μόνο <1/>.\",\"VBaSn9\":[\"Ο επιλεγμένος τύπος αρχείου (\",[\"0\"],\") δεν επιτρέπεται. Οι επιτρεπόμενοι τύποι αρχείων είναι \",[\"1\"]],\"fM410X\":[\"Οι ρυθμίσεις για το \\\"\",[\"0\"],\"\\\" έχουν αποθηκευτεί\"],\"02ii2e\":\"Η πηγή δεν παρέχει ροές ήχου.\",\"+2cAEU\":\"Η πηγή δεν παρέχει ροές ήχου. Ελέγξτε τις λεπτομέρειες του <0>δοκιμίου.\",\"pfqmY7\":\"Η πηγή δεν παρέχει συμβατές ροές ήχου.\",\"VO9KeK\":\"Η πηγή δεν παρέχει συμβατές ροές βίντεο. Ελέγξτε τις <0>απαιτήσεις.\",\"007foU\":\"Η πηγή δεν παρέχει ροές βίντεο. Ελέγξτε τις λεπτομέρειες του <0>δοκιμίου.\",\"lAsMdV\":\"Η πηγή δεν παρέχει ροές βίντεο. Ελέγξτε τη συσκευή.\",\"XlnvcR\":\"Η έξοδος SRT απαιτεί τον διακομιστή SRT.\",\"w6uuIE\":\"Η πηγή βίντεο δεν παρέχει καμία συμβατή ροή ήχου. Συνιστάται η επιλογή <0>ήχος σιωπής. Οι υπηρεσίες π.χ. YouTube, Facebook & Co. απαιτούν ένα κανάλι ήχου.\",\"YJJ2RL\":\"Η πηγή βίντεο είναι συμβατή. Επιλέξτε την επιθυμητή ανάλυση:\",\"wEiZHy\":\"Υπάρχουν διαθέσιμες ενημερώσεις. Εδώ μπορείτε να πάρετε περισσότερες πληροφορίες.\",\"4p1MgS\":\"Υπήρξε πρόβλημα με την αποθήκευση των ρυθμίσεων. Οι ρυθμίσεις δεν αποθηκεύτηκαν.\",\"YJhhwT\":[\"Υπήρξε σφάλμα σύνδεσης με τον πυρήνα Restreamer στο \",[\"0\"],\".\"],\"q42VsF\":[\"Υπήρξε ένα σφάλμα κατά το ανέβασμα: \",[\"0\"]],\"HM96PJ\":\"Υπήρξε σφάλμα στη ρύθμιση της ροής.\",\"LoDP+Y\":\"Υπήρχαν κάποια σφάλματα στις ρυθμίσεις. Οι ρυθμίσεις δεν αποθηκεύτηκαν.\",\"l92ZKN\":\"Δεν υπάρχει διαθέσιμη μέθοδος σύνδεσης.\",\"cPKuc8\":\"Πρόκειται για μια εικονική υπηρεσία που σας εξηγεί τις έννοιες της υπηρεσίας.\",\"Ku8nyu\":\"Αυτό δεν αποτελεί απαραίτητα σφάλμα. Ωστόσο, μπορεί να πάρει λίγο περισσότερο χρόνο για να επανεκκινήσει το Restreamer Core..\",\"vCRP3w\":\"Πρόκειται για την αναφορά των κανονισμών περί πνευματικών δικαιωμάτων για τον στόχο αυτής της υπηρεσίας.\",\"Hx7k3c\":\"Αυτή η άδεια επιτρέπει στους χρήστες να αντιγράφουν και να διανέμουν το υλικό σε οποιοδήποτε μέσο ή μορφή μόνο σε μη προσαρμοσμένη μορφή και μόνο εφόσον γίνεται αναφορά στον δημιουργό. Η άδεια επιτρέπει την εμπορική χρήση.\",\"6OeMYB\":\"Αυτή η άδεια επιτρέπει στους χρήστες να αντιγράφουν και να διανέμουν το υλικό σε οποιοδήποτε μέσο ή μορφή σε μη προσαρμοσμένη μορφή, μόνο για μη εμπορικούς σκοπούς και μόνο εφόσον αναφέρεται ο δημιουργός.\",\"TUuhsB\":\"Αυτή η άδεια επιτρέπει στους χρήστες να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή για μη εμπορικούς σκοπούς και μόνο εφόσον αναφέρεται ο δημιουργός.\",\"kVtKRl\":\"Αυτή η άδεια επιτρέπει στους χρήστες να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή για μη εμπορικούς σκοπούς και μόνο εφόσον αναφέρεται ο δημιουργός. Εάν αναμίξετε, προσαρμόσετε ή αξιοποιήσετε το υλικό, θα πρέπει να αδειοδοτήσετε το τροποποιημένο υλικό με τους ίδιους όρους.\",\"FpX5mp\":\"Αυτή η άδεια επιτρέπει στους επαναχρησιμοποιητές να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή, αρκεί να γίνεται αναφορά στον δημιουργό. Η άδεια επιτρέπει την εμπορική χρήση.\",\"SDvwLd\":\"Αυτή η άδεια επιτρέπει στους επαναχρησιμοποιητές να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή, αρκεί να γίνεται αναφορά στον δημιουργό. Η άδεια επιτρέπει την εμπορική χρήση. Εάν αναμίξετε, προσαρμόσετε ή βασιστείτε στο υλικό, πρέπει να αδειοδοτήσετε το τροποποιημένο υλικό με τους ίδιους όρους.\",\"H144rX\":\"Αυτό το πρωτόκολλο είναι άγνωστο ή δεν υποστηρίζεται από το διαθέσιμο δυαδικό αρχείο FFmpeg.\",\"nlOxxw\":\"Αυτή η πηγή δεν μπορεί να επεξεργαστεί όσο είναι σε χρήση. Για να συνεχίσετε, πρέπει να αποσυνδέσετε την πηγή.\",\"mbSyrG\":[\"Αυτή η έκδοση του UI δεν υποστηρίζει το διαθέσιμο δυαδικό αρχείο FFmpeg (\",[\"0\"],\"). Το UI απαιτεί \",[\"1\"],\". Παρακαλούμε χρησιμοποιήστε ένα υποστηριζόμενο δυαδικό FFmpeg.\"],\"N/tTgz\":[\"Αυτή η έκδοση του UI δεν υποστηρίζει τον συνδεδεμένο πυρήνα (\",[\"0\"],\"). Το UI απαιτεί \",[\"1\"],\". Παρακαλούμε χρησιμοποιήστε μια συμβατή έκδοση του UI.\"],\"2Vq5tr\":\"Αυτή η έκδοση του UI είναι συμβατή.\",\"QxX9Z5\":\"Κατώφλι (δευτερόλεπτα)\",\"sNmspt\":\"Στήλες κεραμιδιών\",\"sYGp2E\":\"Σειρές πλακιδίων\",\"wbOpwP\":\"Πλακάκια\",\"H59P7E\":\"Χρόνος μέχρι μια ανενεργή σύνδεση προβολής να θεωρηθεί κλειστή.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Για να σταθεροποιήσετε το σύστημα, αυξήστε το μήκος του τμήματος HLS για το διάστημα του καρέ κλειδιού κατά 2-3 * (Επεξεργασία και έλεγχος).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Κορυφαίο πεδίο\",\"7mjsuh\":\"Μεταδώστε μια Livestream σε ένα κανάλι Telegram.\",\"Gxlq7L\":\"Μεταβίβαση στιγμιότυπων της κύριας πηγής σε έναν διακομιστή HTTP/S. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"SdyhUl\":\"Μεταδίδει το κανάλι ήχου της κύριας πηγής σε έναν διακομιστή Icecast. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"MayU3b\":\"Μεταδώστε την κύρια πηγή ως HTTP-Live-Streaming (HLS) σε έναν διακομιστή HTTP/S. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"3K8kpL\":\"Μεταδώστε την κύρια πηγή ως MPEG-DASH σε έναν διακομιστή HTTP/S. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"P/J230\":\"Μεταδώστε την κύρια πηγή σε μια υπηρεσία Brightcove Live. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"u0MhFy\":\"Μετάδοση της κύριας πηγής σε μια υπηρεσία CDN77 RTMP. Περισσότερα για την εγκατάσταση <0>εδώ.\",\"zkgT7c\":\"Μετάδοση της κύριας πηγής σε μια υπηρεσία DaCast RTMP. Περισσότερα για τη ρύθμιση <0>εδώ.\",\"in9xJz\":\"Μεταβίβαση της κύριας πηγής σε ένα datarhei Core Ressource. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"PcgwEU\":\"Μεταφέρετε την κύρια πηγή σε μια πηγή livespotting.com. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"D7jwpf\":\"Μεταδώστε την κύρια πηγή σε μια υπηρεσία MPEG-TS. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε εδώ <0>εδώ.\",\"SpSgUV\":\"Μεταδώστε την κύρια πηγή σε έναν διακομιστή Red5/Pro. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"lIpqI/\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή RTMP(e|s|t|te|ts). Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"pqR6nq\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή RTSP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"Q4dSnZ\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή SRT. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"fx9S4p\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή UDP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"GLXY2N\":\"Μεταδώστε την κύρια πηγή σε έναν διακομιστή WOWZA. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"AsMKFi\":\"Μετάδοση της κύριας πηγής στο Akamai (MSL) Media Services Live. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις του κωδικοποιητή MSL μπορείτε να βρείτε στο <0>εδώ.\",\"FB364G\":\"Μεταδώστε την κύρια πηγή στην υπηρεσία Livepush RTMP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"CC9yS5\":\"Μεταδώστε την κύρια πηγή στην υπηρεσία RTMP της Nimo TV. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"fP8ZYg\":\"Μεταδώστε την κύρια πηγή στην υπηρεσία Picarto TV RTMP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"D9A0LK\":\"Μετάδοση της κύριας πηγής στην υπηρεσία Restream RTMP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"YL800g\":\"Μετάδοση σε ένα Azure Media Services. Περισσότερες λεπτομέρειες μπορείτε να βρείτε <0>εδώ.\",\"Abgy4c\":\"Μεταβίβαση στο LinkedIn. Περισσότερες λεπτομέρειες μπορείτε να βρείτε <0>εδώ.\",\"dhCZoS\":\"Μεταδώστε το Livestream σας σε μια υπηρεσία RTMP του Dailymotion. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"tQNclD\":\"Μεταδώστε το Livestream σας σε μια υπηρεσία RTMP του Kick.com. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"mQ0sjr\":\"Μεταδώστε τη Livestream σας σε έναν διακομιστή Owncast. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"AqYRa3\":\"Μεταδώστε τη Livestream σας σε μια υπηρεσία Rumble RTMP. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Μεταδίδει τη ροή βίντεο με το απαιτούμενο κλειδί, το οποίο δημιουργήθηκε στο Twitter Producer. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με τη δημιουργία μιας ζωντανής ροής στο <0>Producer του Twitter.\",\"ADKef2\":\"Συντονισμός\",\"8jwViA\":\"Μεταφορά UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Αδυναμία φόρτωσης της διαμόρφωσης.\",\"MWrgON\":\"Μοναδικό αναγνωριστικό στην υπηρεσία.\",\"Ef7StM\":\"Άγνωστος\",\"wiIpKZ\":\"Άγνωστο σφάλμα μεταφόρτωσης\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Μη επιλεγμένο\",\"j9zg7e\":\"Λεπτομέρειες ενημέρωσης (Changelog)\",\"ONWvwQ\":\"Ανέβασμα\",\"OXItQT\":[\"Ανεβάστε ένα αρχείο ήχου (\",[\"0\"],\") για να το κάνετε βρόχο.\"],\"75yxb7\":[\"Ανεβάστε ένα αρχείο εικόνας ή βίντεο (\",[\"0\"],\") για να το κάνετε βρόχο.\"],\"iAkPTY\":\"Το ανέβασμα του αρχείου απέτυχε\",\"Jmy6pK\":\"Το ανέβασμα του λογότυπου απέτυχε\",\"xl1xFp\":\"Το ανέβασμα της αφίσας απέτυχε\",\"TjrbDj\":\"Χρόνος διαθεσιμότητας\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Χρησιμοποιήστε το Auth0 για το Restreamer Core που εκτελείτε. Περισσότερες <0>λεπτομέρειες.\",\"JX4TqK\":\"Χρησιμοποιήστε τον οδηγό (<0/>) για μια γρήγορη και εύκολη ρύθμιση ή επεξεργαστείτε (<1/>) τις πηγές απευθείας στην προσαρμοσμένη λειτουργία.\",\"YYTBz0\":\"Χρησιμοποιήστε τα πνευματικά σας δικαιώματα και επιλέξτε τη σωστή άδεια χρήσης εικόνας. Είτε ελεύθερη για όλους είτε με αυστηρούς περιορισμούς. Συζητήστε εν συντομία τι επιτρέπεται να κάνουν οι άλλοι με την εικόνα σας.\",\"2UPEb1\":\"Χρησιμοποιήστε τα πνευματικά σας δικαιώματα και επιλέξτε τη σωστή άδεια χρήσης εικόνας. Είτε ελεύθερη για όλους είτε με αυστηρούς περιορισμούς. Συζητήστε εν συντομία τι επιτρέπεται να κάνουν οι άλλοι με την εικόνα σας.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Εγγραφή χρήστη\",\"7sNhEz\":\"Όνομα χρήστη\",\"Gv3pbp\":\"Όνομα χρήστη για εξουσιοδότηση.\",\"RQSvXZ\":\"Όνομα χρήστη για τη συσκευή.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"Το V4L2_M2M είναι πειραματικό.\",\"PvM7Yi\":\"Μεταβλητός ρυθμός καρέ (VFR)\",\"hpBTpL\":\"βελούδο\",\"uIAsxu\":\"Κάθετη αναστροφή\",\"vSJd18\":\"Βίντεο\",\"auaWhL\":\"Συσκευή βίντεο\",\"/skRGV\":\"Ρυθμίσεις βίντεο\",\"EzOjvB\":\"Ρύθμιση βίντεο\",\"QcQXbU\":\"Πηγή βίντεο\",\"M/TIv1\":\"Πρόγραμμα προβολής\",\"L2hKw+\":\"βιολετί\",\"hA6FFn\":\"Εικονική πηγή\",\"/cF7Rs\":\"Τόμος\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Συνιστούμε το OpenMAX IL για Raspberry PI (3/4) με λειτουργικό σύστημα 32-bit.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Καλώς ήρθατε στο Restreamer v2, τη λύση για γρήγορη και εύκολη δημοσίευση βίντεο. Δωρεάν για ιδιωτική και εμπορική χρήση. Περαιτέρω βοήθεια στα <0>docs.\",\"hJfWkA\":\"Ποια προεπιλογή ταχύτητας να χρησιμοποιήσετε.\",\"6Pz2IF\":\"Πού να αποθηκεύσετε τη λίστα αναπαραγωγής HLS και τα τμήματα. Συνιστάται η αποθήκευση στη μνήμη.\",\"aWHAbR\":\"λευκό\",\"aFWU1n\":\"Πλάτος\",\"e0wV2Y\":\"Προστασία εγγραφής\",\"l75CjT\":\"Ναι\",\"WPUsOF\":\"Δεν μπορείτε να διακόψετε τον οδηγό, επειδή πρέπει να οριστεί τουλάχιστον μία είσοδος.\",\"qwY9F9\":\"Έχετε αλλάξει τη διαμόρφωση. Για να τεθούν σε ισχύ οι αλλαγές, πρέπει να επανεκκινήσετε την εφαρμογή. Θέλετε να κάνετε επανεκκίνηση τώρα;\",\"nxq2ni\":\"Πρέπει να επανασυνδεθείτε χειροκίνητα\",\"RM3CEc\":\"Έχετε μη αποθηκευμένες αλλαγές. Παρακαλούμε αποθηκεύστε τις πριν μπορέσετε να ελέγξετε ξανά την υπηρεσία.\",\"/cg7qS\":\"Η ροή σας πρέπει να κωδικοποιηθεί, αλλά δεν υπάρχει διαθέσιμος κατάλληλος κωδικοποιητής.\",\"BwrOm6\":\"Η ροή σας πρέπει να κωδικοποιηθεί. Επιλέξτε τον επιθυμητό κωδικοποιητή:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Μοτίβο δοκιμής YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Λίστα συμβατότητας\",\"TkRUk0\":\"<0>Εμφάνιση λεπτομερειών ανιχνευτή\",\"tBy4Bb\":\"1. Μεταβείτε στη διασύνδεση του Restreamer-στόχου.\",\"2JnpXL\":\"2. Δημιουργήστε ένα νέο κανάλι και επιλέξτε διακομιστή RTMP ή SRT.\",\"YidyJl\":\"3. Αντιγράψτε τη διεύθυνση URL και επικολλήστε την στο πεδίο \\\"Διεύθυνση στόχου\\\".\",\"X1MZZp\":\"6 (+ εγγυημένη έναρξη με ένα πλαίσιο Key)\",\"JVJkxU\":\"7 (+ κατακερματισμένη μορφή MP4)\",\"ssjjFt\":\"Διακοπή\",\"uyJsf6\":\"Σχετικά με το\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Προσθέστε\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Προσθέστε εξωτερικά widgets και στυλ στον ιστότοπο δημοσίευσης. Μπορείτε να βρείτε μερικά παραδείγματα στη σελίδα βοήθειας.\",\"tsJWSj\":\"Προσθήκη νέου καναλιού\",\"PLTLdv\":\"Προσθήκη δημοσίευσης\",\"35l+l6\":[\"Προσθήκη: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Διεύθυνση\",\"8M7jVn\":\"Διεύθυνση για την εικόνα φόντου.\",\"Vu9yiv\":\"Διεύθυνση για ακρόαση για αιτήσεις HTTP.\",\"AQDW5r\":\"Διεύθυνση για ακρόαση για αιτήσεις HTTPS.\",\"tPrmjP\":\"Διεύθυνση:\",\"owt8Ow\":\"Προσαρμόστε τα χρώματα και το φόντο του ιστότοπου δημοσίευσης όπως σας αρέσει.\",\"uNXGDK\":\"Προηγμένη παρακολούθηση\",\"VNgKZz\":\"Προηγμένες ρυθμίσεις\",\"eiGNYb\":\"Προηγμένη ρύθμιση\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Ειδοποίηση μέσω email\",\"N40H+G\":\"Όλα\",\"Hw5q+W\":\"Όλα τα πλαίσια\",\"f2zxGk\":\"Όλες οι σημαντικές ρυθμίσεις του συστήματος.\",\"lle3bd\":\"Επιτρέψτε όλους τους παραπέμποντες\",\"bgFbIB\":\"Επιτρέπει την καταμέτρηση του αριθμού των θεατών που έχει η ροή.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Πλάτος\",\"ngteek\":\"Μια μεταβλητή περιβάλλοντος καθορίζει αυτή την τιμή.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Το τελικό σημείο API δεν βρέθηκε. Οι ρυθμίσεις δεν έχουν αποθηκευτεί.\",\"LMUw1U\":\"Εφαρμογή\",\"IrC12v\":\"Εφαρμογή\",\"xnCC/2\":\"Είστε σίγουροι ότι θέλετε να διακόψετε τον οδηγό;\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Ήχος\",\"n3RW8K\":\"Συσκευή ήχου\",\"sYyYfE\":\"Συσκευή ήχου\",\"2he4Ra\":\"Ήχος από συσκευή\",\"MvY15a\":\"Ρυθμίσεις ήχου\",\"NoLJ6g\":\"Ρύθμιση ήχου\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Το Auth0 δεν είναι προς το παρόν διαθέσιμο, επειδή αυτή η διασύνδεση έχει φορτωθεί από μη ασφαλή πηγή.\",\"aKsflb\":\"Auth0 Μισθωτής\",\"VbeIOx\":\"Συγγραφέας\",\"NJgJy9\":\"Εξουσιοδότηση\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Αυτόματος καθαρισμός όλων των δεδομένων πολυμέσων\",\"jT50Rz\":\"Αυτόματο παιχνίδι\",\"csDS2L\":\"Διαθέσιμο\",\"qWlwT8\":\"Ίδρυμα AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Πίσω\",\"1KfyNL\":\"Χρώματα φόντου\",\"23c2Uw\":\"Εικόνα φόντου\",\"r0bEmM\":\"Διακομιστής αντιγράφων ασφαλείας\",\"JFjQhH\":\"Εφεδρική ροή\",\"bkJ+QE\":\"Δημιουργία αντιγράφου ασφαλείας URL\",\"OlXThP\":\"Εύρος ζώνης\",\"QYaaBO\":\"Έλεγχος εύρους ζώνης\",\"KSSL9f\":\"Πανό\",\"0wJVK+\":\"Βασικό\",\"YR04fn\":\"Παράγοντας μπιπ\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Τύποι κρυφής μνήμης μπλοκ\",\"zOC7cT\":\"μπλε\",\"359XuU\":\"Κάτω πεδίο\",\"aC3kWW\":\"Περιγράψτε εν συντομία τι θα δει το κοινό κατά τη διάρκεια της ζωντανής ροής.\",\"SehDNd\":\"καφέ\",\"Ptp9MF\":\"Χρώμα κουμπιού\",\"Lp4WkO\":\"Με ύψος\",\"IeV/4P\":\"Με πλάτος\",\"KxP5AO\":\"Κρυφή μνήμη για αρχεία στο /data.\",\"qX8ffo\":\"Χρόνος προσωρινής αποθήκευσης (δευτερόλεπτα)\",\"4dRAku\":\"Τύποι κρυφής μνήμης\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Απομονωτής σύλληψης\",\"aL2+1d\":\"Λήψη κλικ\",\"EOfLfP\":\"Δρομέας σύλληψης\",\"ieS3Wc\":[\"Το κανάλι \\\"\",[\"0\"],\"\\\" αποθηκεύτηκε\"],\"lfFsZ4\":\"Κανάλια\",\"WMCwmR\":\"Έλεγχος για ενημερώσεις\",\"vM6kpc\":\"Ελέγξτε τις απαιτήσεις\",\"Wzgqhl\":\"Επιλέξτε μια ροή βίντεο\",\"JpTR0/\":\"Επιλέξτε μια ροή ήχου\",\"BTNyrQ\":\"Επιλέξτε μια συσκευή εισόδου ...\",\"f9QIui\":\"Επιλέξτε μια ροή εισόδου ...\",\"/Y6zrN\":\"Επιλέξτε μεταξύ CFR και VFR (Auto)\",\"gObOjh\":\"Επιλέξτε codec ...\",\"v7lrmU\":\"Επιλέξτε ενοικιαστή ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Κλείστε το\",\"r8NEPc\":\"Έγχυση κώδικα\",\"BaUuhR\":\"Κωδικοποιητής\",\"jZlrte\":\"Χρώμα\",\"sjVfrA\":\"Εντολή\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Διαμόρφωση\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Επιβεβαίωση κωδικού πρόσβασης\",\"iSLIjg\":\"Συνδέστε το\",\"NL3Gev\":\"Συνδεδεμένη συσκευή\",\"ywAvGr\":\"Συνδεδεμένος από <0/>\",\"lNg25t\":\"Σύνδεση ...\",\"y6+BXa\":\"Σύνδεση στο Restreamer Core ...\",\"Td5lm6\":\"Η σύνδεση στο Restreamer Core απέτυχε πιθανώς λόγω μικτού περιεχομένου.\",\"awE5Py\":\"Σταθερός ρυθμός καρέ (CFR)\",\"DT0Af/\":\"Λειτουργία σταθερού κβαντιστή (-1 έως 255).\",\"4b3oEV\":\"Περιεχόμενο\",\"U34RbB\":\"URL περιεχομένου\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Πυρήνες\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Όριο CPU (ποσοστό)\",\"uW5tVo\":\"Όριο χρήσης CPU σε ποσοστό (0-100%), 0 για απεριόριστη χρήση.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Προσαρμοσμένη ...\",\"kH80Lk\":\"Προσαρμοσμένη συσκευή ήχου\",\"fW1XQD\":\"Προσαρμοσμένο ευρετήριο ήχου\",\"bzREp0\":\"Προσαρμοσμένος ρυθμός bitrate (kbit/s)\",\"w9oKek\":\"Έγχυση προσαρμοσμένου κώδικα\",\"jYaP01\":\"Προσαρμοσμένη καθυστέρηση\",\"2Gw+zZ\":\"Προσαρμοσμένη συσκευή\",\"WCXGNp\":\"Προσαρμοσμένη μορφή\",\"ZkpZ06\":\"Προσαρμοσμένη ταχύτητα καρέ\",\"1OXCgh\":\"Προσαρμοσμένες ρυθμίσεις JSON για το datarhei Core.\",\"kl56NX\":\"Προσαρμοσμένο διάστημα καρέ πλήκτρων\",\"prIqWa\":\"Προσαρμοσμένη διάταξη\",\"HSB43e\":\"Προσαρμοσμένη δειγματοληψία (Hz)\",\"Efe3BI\":\"Προσαρμοσμένη κλίμακα\",\"E/2KdS\":\"Προσαρμοσμένο μέγεθος\",\"Se794B\":\"Προσαρμοσμένη συσκευή βίντεο\",\"aqv915\":\"Προσαρμοσμένο ευρετήριο βίντεο\",\"v8OlX8\":\"Αντιγραφή δεδομένων στο πρόχειρο\",\"J/VBax\":\"Χρώμα θανάτου\",\"d2TTfK\":\"Ντεσιμπέλ (dB)\",\"W034oz\":\"Αποκωδικοποιητής\",\"ovBPCi\":\"Προεπιλογή\",\"gFwPaj\":[\"Προεπιλογή \",[\"0\"]],\"JQnkrI\":[\"Προεπιλογή \",[\"0\"],\" (\",[\"1\"],\" δευτερόλεπτα)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Λειτουργία Deinterlace\",\"aro6lN\":\"Deinterlace parity\",\"YeWQto\":\"Καθυστέρηση\",\"qBC9g9\":\"Καθυστέρηση (ms)\",\"cnGeoo\":\"Διαγραφή\",\"ScK3zL\":\"Η διαγραφή μιας υπηρεσίας δημοσίευσης δεν μπορεί να αντιστραφεί. Η δημοσίευση σταματά αμέσως.\",\"cEx3oI\":\"Λειτουργία παράδοσης\",\"Nu4oKW\":\"Περιγραφή\",\"f8fH8W\":\"Σχεδιασμός\",\"PEHQTf\":\"Συσκευή\",\"+K0AvT\":\"Αποσύνδεση\",\"miKA/E\":\"Αποσύνδεση & συνέχιση\",\"5/pMTZ\":\"Αποσύνδεση ...\",\"sPFHpI\":\"Δίσκος\",\"qczNPP\":\"Κρυφή μνήμη δίσκου\",\"PUqOjv\":\"Αποθήκευση δίσκου\",\"uTwT/l\":\"Θέλετε πραγματικά να επανεκκινήσετε την εφαρμογή τώρα;\",\"FgxcNT\":[\"Θέλετε να διαγράψετε το \\\"\",[\"0\"],\"\\\";\"],\"NogZqg\":[\"Θέλετε να διαγράψετε το \",[\"title\"],\";\"],\"0p+Mpn\":[\"Θέλετε να αποσυνδέσετε το \\\"\",[\"0\"],\"\\\";\"],\"TbjyhA\":\"Έγγραφα\",\"TvY/XA\":\"Τεκμηρίωση\",\"jPtEhI\":\"Διπλά πλαίσια\",\"diaSRH\":\"Κάθε πεδίο\",\"u2SnNO\":\"Κάθε πλαίσιο\",\"ePK91l\":\"Επεξεργασία\",\"INCFjw\":\"Επεξεργαστείτε τις πηγές ήχου και βίντεο για τη ζωντανή ροή. Προσθέστε μια περιγραφή και ορίστε την επιθυμητή άδεια χρήσης περιεχομένου.\",\"+7Wr2a\":[\"Επεξεργασία: \",[\"title\"]],\"e3GLqI\":\"EDIT: Παίκτης\",\"dTPDyf\":\"EDIT: Δικτυακός τόπος δημοσίευσης\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Ηλεκτρονικό ταχυδρομείο\",\"KKBlUU\":\"Ενσωματώστε το\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Ενεργοποίηση\",\"No9svk\":\"Ενεργοποίηση ενός περιοδικού ηχητικού σήματος κάθε δευτερόλεπτο με αυτή την τιμή επί τη συχνότητα του φέροντος.\",\"R7s0Th\":\"Ενεργοποίηση εφεδρικής ροής\",\"xA5zBY\":\"Ενεργοποίηση στατιστικών σπασίκλας\",\"r0zP4o\":\"Ενεργοποίηση τώρα\",\"JwR989\":\"Ενεργοποίηση πρωτεύουσας ροής\",\"blkDNw\":\"Ενεργοποίηση διακομιστή RTMP ...\",\"FgEhO4\":\"Ενεργοποίηση μεταφοράς RTMPS\",\"uGvvxq\":\"Ενεργοποίηση στιγμιότυπων\",\"IuL64N\":\"Ενεργοποίηση διακομιστή SRT ...\",\"NJsnxf\":\"Η ενεργοποίηση της εξουσιοδότησης συνιστάται ανεπιφύλακτα. Διαφορετικά, οποιοσδήποτε μπορεί να έχει πρόσβαση σε αυτή την περίπτωση.\",\"xwS6bX\":\"Η ενεργοποίηση του βασικού auth συνιστάται ανεπιφύλακτα. Διαφορετικά, οποιοσδήποτε μπορεί να γράψει δεδομένα στο /memfs.\",\"0zaXWu\":\"Κωδικοποιητής\",\"o0XA5y\":\"Κωδικοποίηση\",\"q1srUM\":\"Κρυπτογράφηση\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Εισάγετε ένα όνομα για το νέο κανάλι.\",\"f7sXvi\":\"Εισάγετε τον κωδικό πρόσβασης\",\"5QCNrf\":\"Εισάγετε τη διεύθυνση της πηγής δικτύου σας:\",\"WLnvCZ\":\"Εισάγετε το όνομα χρήστη\",\"ijwVVM\":\"Κωδικοποιητής εντροπίας\",\"SlfejT\":\"Σφάλμα\",\"sHoMKO\":\"Σφάλμα κατά την αντιγραφή δεδομένων στο πρόχειρο\",\"TpqeIh\":[\"Σφάλμα: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Επεκτείνει την περιοχή πάνω από τη λίστα καναλιών (ζωντανή συνομιλία).\",\"IBJg8n\":\"Επεκτείνει την περιοχή κάτω από την περιγραφή του καναλιού (πλαίσια σχολίων).\",\"XeunlQ\":\"Λειτουργία εμπειρογνώμονα\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Επέκταση λίστας καναλιών\",\"tG09kC\":\"Επέκταση περιεχομένου\",\"bPWJOj\":\"Επέκταση υποσέλιδου\",\"SeaRa5\":\"Επέκταση κεφαλίδας\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Αποτυχία δημιουργίας υπηρεσίας δημοσίευσης (\",[\"0\"],\")\"],\"yT6MEY\":\"Απέτυχε η δημιουργία αρχείων ιστότοπου δημοσίευσης.\",\"FGdPhH\":\"Απέτυχε η διερεύνηση της πηγής. Ελέγξτε τις λεπτομέρειες του <0>ανιχνευτή.\",\"DvfYM2\":[\"Απέτυχε η ανανέωση του κουπονιού: \",[\"0\"]],\"J0Jclh\":\"Αποτυχία αποθήκευσης μεταδεδομένων εισόδου\",\"RPXHsU\":\"Απέτυχε να σταματήσει η διαδικασία\",\"AhS7uc\":\"Απέτυχε η αποθήκευση της ρύθμισης μεγέθους παίκτη.\",\"PcJRf4\":[\"Απέτυχε η αποθήκευση της υπηρεσίας δημοσίευσης (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Απέτυχε η ενημέρωση της διαδικασίας λήψης (\",[\"0\"],\")\"],\"t1E1OU\":[\"Απέτυχε η ενημέρωση της διαδικασίας λήψης στιγμιότυπων (\",[\"0\"],\")\"],\"bssUbs\":\"Απέτυχε η ενημέρωση του παίκτη\",\"4SzVSX\":\"Απέτυχε η ενημέρωση της ιστοσελίδας παικτών\",\"H8gP5T\":\"Απέτυχε η επαλήθευση της πηγής. Ελέγξτε τη διεύθυνση.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Διαδρομή αρχείου\",\"o7J4JM\":\"Φίλτρο\",\"JmZ/+d\":\"Τέλος\",\"k4A6IZ\":\"Μέγεθος στερέωσης\",\"Xgkhyj\":\"Σημαίες\",\"+L0/av\":\"Για Javascripts.\",\"VBU6dD\":\"Για Φύλλα στυλ.\",\"XDTTEp\":\"Αναγκαστική εισαγωγή καρέ\",\"Y5YNoi\":\"Αναγκαστικά πλαίσια πλήκτρων\",\"kI1qVD\":\"Μορφή\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Πτώσεις πλαισίων\",\"lPICcX\":\"Το πλαίσιο περνάει (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Ταχύτητα καρέ\",\"RFrfTY\":\"Μετατροπή καρέ (παρεμβολή καρέ)\",\"xDfHbM\":\"Λειτουργία καρέ\",\"4xNpe4\":\"Συχνότητα (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Γενικά\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Αναγνωριστικό Google Analytics\",\"S/8Noo\":\"Όνομα ανιχνευτή Google Analytics\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Συσκευή υλικού\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Κεφαλίδα\",\"+670Zw\":\"Επικεφαλίδα\",\"PFFhCT\":\"Ύψος\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Έξοδος HLS\",\"oMxmoP\":\"Διακομιστής HLS\",\"5/G5c1\":\"Στατιστικά στοιχεία HLS για την αποθήκευση στη μνήμη\",\"wXoUQx\":\"Οριζόντια αναστροφή\",\"8iPCh6\":\"Διασύνδεση Restreamer με φιλοξενία\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP και HTTPS\",\"YmRLab\":\"Θύρα HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Θύρα HTTPS\",\"Ptrvx5\":\"Όνομα της υπηρεσίας που μπορεί να διαβαστεί από τον άνθρωπο.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Αν αλλάξατε τις θύρες, μπορεί το Restreamer Core να έχει ήδη επανεκκινήσει, αλλά τώρα είναι διαθέσιμο σε διαφορετική θύρα.\",\"OQONQS\":\"Αν έχετε ενεργοποιήσει το Let's Encrypt TLS, μπορεί να χρειαστεί λίγος χρόνος για να αποκτήσετε τα πιστοποιητικά. Βεβαιωθείτε ότι το Restreamer Core είναι προσβάσιμο μέσω της θύρας 80 από το διαδίκτυο. Ελέγξτε το αρχείο καταγραφής της κονσόλας του Restreamer Core.\",\"yWR5EY\":\"κώδικας iframe\",\"7ZKroD\":\"Αγνοήστε περιοχές IP\",\"VyUuZb\":\"URL εικόνας\",\"5n8FKh\":\"Εκτύπωση\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Εκτός από τη συσκευή αναπαραγωγής, το Restreamer προσφέρει μια πλήρη σελίδα προορισμού, την οποία μπορείτε να χρησιμοποιήσετε για να παρουσιάσετε τη ζωντανή ροή σας εύκολα και γρήγορα.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"Στη μνήμη\",\"EwM+sw\":\"Αποθήκευση στη μνήμη\",\"xmsVuq\":\"Μη συμβατό\",\"exUN1j\":\"Κληρονόμος\",\"CDdi1R\":\"Ένεση 1\",\"MJlrvd\":\"Ένεση 2\",\"MppU96\":\"Έγχυση 3\",\"zBVRQb\":\"Ένεση 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Ροή εισόδου\",\"jnyWFc\":\"Πεδίο αναφοράς\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Διάστημα (δευτερόλεπτα)\",\"C4WaV1\":\"Ειδοποίηση έκδοσης\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Διάστημα καρέ πλήκτρων (δευτερόλεπτα)\",\"rdU729\":\"Διάταξη\",\"Cpw3fU\":\"Πιστοποίηση Let's Encrypt\",\"LgUs17\":\"Το Let's Encrypt απαιτεί ένα ή περισσότερα δημόσια ονόματα τομέα και μια προσβάσιμη θύρα 80/TCP.\",\"oCHfGC\":\"Επίπεδο\",\"eyLS1J\":\"Επίπεδο πρωτοκόλλου συστήματος.\",\"iQmbPb\":\"Άδεια\",\"mQImez\":\"Χρώμα ζωής\",\"6BDqha\":\"Όρια\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Γραμμές\",\"yzF66j\":\"Σύνδεσμος\",\"NBxw5Y\":\"Σύνδεσμος, mouseover\",\"xCrpEt\":\"Λίστα επεκτάσεων αρχείων που δεν πρέπει να αποθηκευτούν στην προσωρινή μνήμη (π.χ. \\\".m3u8\\\"), μία ανά γραμμή. Αφήστε κενό για καμία.\",\"m2l8c3\":\"Λίστα επεκτάσεων αρχείων προς προσωρινή αποθήκευση (π.χ. \\\".html\\\"), μία ανά γραμμή. Αφήστε το κενό για να αποθηκεύσετε όλους τους τύπους αρχείων.\",\"QYw6tl\":\"Κατάλογος περιοχών IP σε συμβολισμό CIDR, π.χ. 127.0.0.1/32, τις οποίες τα στατιστικά στοιχεία δεν θα καταγράφουν - μία περιοχή IP ανά γραμμή. Αφήστε την κενή για να καταγράψετε όλες τις περιόδους λειτουργίας.\",\"ELFO4F\":\"Μέγεθος λίστας (τμήματα)\",\"D0Nwch\":\"Live-Streaming στην υπηρεσία dlive Live RTMP.\",\"n2VKys\":\"Live-Streaming στην υπηρεσία Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming στην υπηρεσία RTMP του δικτύου μέσων ενημέρωσης.\",\"w9zSAv\":\"Live-Streaming στην υπηρεσία PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Live-Streaming στην υπηρεσία Trovo Live RTMP.\",\"JJGagy\":\"Live-Streaming στην υπηρεσία Twitch Live RTMP.\",\"4TnPVp\":\"Live-Streaming στην υπηρεσία Vimeo Live RTMP\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Αναγνωριστικό πηγής ζωής\",\"0aIqC4\":\"Επίπεδο καταγραφής\",\"x7PDL5\":\"Καταγραφή\",\"z0t9bb\":\"Σύνδεση\",\"+fL+Rj\":[\"Η σύνδεση απέτυχε: \",[\"0\"]],\"4cd7gw\":\"Η σύνδεση απέτυχε: API: Δεν μπόρεσε να φορτώσει λεπτομέρειες API\",\"sNqu7k\":\"Είσοδος/JWT εξουσιοδότηση\",\"iG7KNr\":\"Λογότυπο\",\"nOhz3x\":\"Αποσύνδεση\",\"DYX2fZ\":\"Βρόχος\",\"SzaPTL\":\"Κανονικοποίηση ηχηρότητας\",\"QGvS9k\":\"Χαμηλή καθυστέρηση (Buffer)\",\"GaV7al\":\"Κύριο κανάλι\",\"Wsn0Uw\":\"Το κύριο κανάλι δεν βρέθηκε\",\"tROIde\":\"Κύριο κανάλι αποθηκευμένο\",\"nLVSux\":\"Κανάλι κύριας σελίδας (index.html).\",\"rd3Pv7\":\"Κύρια πηγή\",\"f4txA1\":\"Συντηρητής:\",\"3iTz2L\":\"Κάντε το κανάλι διαθέσιμο ως ροή RTMP (πειραματικό).\",\"mMiku6\":\"Κάντε το κανάλι διαθέσιμο ως ροή SRT (πειραματικό).\",\"6dZ9NS\":\"Σημειωμένα πλαίσια\",\"iuA3xD\":\"Κύρια λίστα αναπαραγωγής (αυξάνει τη συμβατότητα προγράμματος περιήγησης/πελάτη)\",\"WBpxnA\":\"Μέγιστο επιτρεπόμενο μέγεθος cache, 0 για απεριόριστο.\",\"NzaPGT\":\"Μέγιστα επιτρεπόμενα megabytes μνήμης RAM για το /memfs, 0 για απεριόριστη μνήμη.\",\"aaso5s\":\"Μέγιστη επιτρεπόμενη κατανάλωση megabytes από το σκληρό δίσκο. 0 για απεριόριστα.\",\"4hp5D2\":\"Μέγιστο εύρος ζώνης Mbit/s\",\"L+uBOR\":\"Μέγιστη καθυστέρηση σε χιλιοστά του δευτερολέπτου.\",\"hkoCqq\":\"Μέγιστο μέγεθος αρχείου (Megabytes)\",\"i96JfZ\":\"Μέγιστο μέγεθος αρχείου που θα τοποθετηθεί στη μνήμη cache.\",\"Q9HspI\":\"Μέγιστο ιστορικό καταγραφής\",\"bS9ZHz\":\"Μέγιστες γραμμές καταγραφής\",\"6sayfE\":\"Μέγιστο μέγεθος (Megabytes)\",\"09BWQO\":\"Μέγιστος χρόνος αδράνειας του θεατή (δευτερόλεπτα)\",\"hW0DV1\":\"Μέγιστοι θεατές\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Μνήμη\",\"KReOHe\":\"Όριο μνήμης (megabytes)\",\"fViWSz\":\"Όριο χρήσης μνήμης σε megabytes, 0 για απεριόριστη χρήση.\",\"emJ6M7\":\"Μεταπληροφορίες\",\"6GBt0m\":\"Μεταδεδομένα\",\"SCcIsq\":[\"Ελάχιστο \",[\"0\"],\", προεπιλογή \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Μούχλα\",\"QA/rur\":\"Περισσότερα για τις άδειες εδώ\",\"fyGu1l\":\"Περισσότερα για την υπηρεσία\",\"yBsv2n\":\"Περισσότερα για τα πνευματικά δικαιώματα του Twitter <0>εδώ.\",\"ZpfAc9\":\"Περισσότερα για τα πνευματικά δικαιώματα του YouTube <0>εδώ.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Πρέπει να είναι μεγαλύτερο από το μέγιστο μέγεθος αρχείου στην προσωρινή μνήμη.\",\"gC9RIS\":\"Πρέπει να είναι μικρότερη από το μέγιστο μέγεθος της κρυφής μνήμης.\",\"R7SsBE\":\"Σίγαση\",\"K0rCAk\":\"Σίγαση ενός καναλιού.\",\"Jv/kid\":\"Σίγαση αριστερά\",\"FsCP6P\":\"Σίγαση δεξιά\",\"6YtxFj\":\"Όνομα\",\"0ZkQqR\":\"Όνομα για το πρότυπο. Εάν το όνομα υπάρχει ήδη, θα αντικατασταθεί.\",\"OR475H\":\"Δίκτυο\",\"KZDcDr\":\"Πηγή δικτύου\",\"hXzOVo\":\"Επόμενο\",\"JZrXI6\":\"Επόμενος: Ήχος\",\"kZFy+Q\":\"Επόμενος: Ρύθμιση βίντεο\",\"1UzENP\":\"Όχι\",\"p6Fxed\":\"Χωρίς ήχο\",\"bIDO3H\":\"Δεν υπάρχει διαθέσιμη ροή ήχου\",\"nn9C5B\":\"Δεν υπάρχει διαθέσιμη συσκευή εισόδου\",\"dEwhMr\":\"Δεν εντοπίστηκε ζωντανή ροή. Ελέγξτε το λογισμικό που στέλνει τη ροή.\",\"1FJdZA\":\"Δεν έχει επιλεγεί πηγή\",\"3TfuWb\":\"Δεν υπάρχουν διαθέσιμες πηγές\",\"fiXA/y\":\"Δεν βρέθηκε κατάλληλος κωδικοποιητής.\",\"acY4BT\":\"Δεν βρέθηκε κατάλληλο φίλτρο.\",\"/02FxK\":\"Δεν υπάρχει βίντεο\",\"AVWnC9\":\"Δεν υπάρχει διαθέσιμη ροή βίντεο\",\"wZ7CK3\":\"Αναγνωριστικό κόμβου\",\"9J5l/O\":\"Θόρυβος\",\"EdQY6l\":\"Κανένα\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Σημειώσεις\",\"/a9y2d\":\"Αριθμός γραμμών καταγραφής που θα διατηρηθούν.\",\"ZD0urA\":\"Αριθμός καταγραφών που πρέπει να διατηρούνται για κάθε διεργασία.\",\"Aia5w3\":\"Αριθμός δευτερολέπτων για τα οποία επιτρέπεται η υπέρβαση των ορίων.\",\"1lZb7D\":\"Αριθμός στηλών πλακιδίων για κωδικοποίηση.\",\"InpHMl\":\"Αριθμός πλακιδίων που κωδικοποιούνται με.\",\"wnRD5D\":\"Αριθμός σειρών πλακιδίων για κωδικοποίηση.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Ένας παραπομπός ανά γραμμή, π.χ. http://www.example.com\",\"1TNIig\":\"Ανοίξτε το\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Απομονωτής εξόδου\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Συνθηματική φράση\",\"Y+p0Tt\":\"Σύνθημα πρόσβασης για κρυπτογράφηση SRT.\",\"fpQo1i\":\"Η φράση πρόσβασης πρέπει να έχει μήκος μεταξύ 10 και 79 χαρακτήρων\",\"3GZXaB\":\"Το Passthrough (αντιγραφή) θα πρέπει να απενεργοποιείται μόνο εάν είναι απαραίτητο. Κάθε κωδικοποίηση απαιτεί πρόσθετους πόρους CPU/GPU.\",\"8ZsakT\":\"Κωδικός πρόσβασης\",\"b+AuuK\":\"Κωδικός πρόσβασης για εξουσιοδότηση.\",\"oREnCY\":\"Κωδικός πρόσβασης για τη συσκευή.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Στατιστικά στοιχεία θεατών που παραμένουν\",\"ANX1b0\":\"ροζ\",\"c8aBfM\":\"Μορφή pixel\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Σχέδιο: <0>Starter\",\"Ejic1p\":\"Πλατφόρμες\",\"gtQk6c\":\"Αναπαραγωγή\",\"vRayGs\":\"Παίκτης\",\"tWB9Gz\":\"Αποθήκευση ρυθμίσεων παίκτη\",\"GIxxiU\":\"URL παίκτη\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Λίστα αναπαραγωγής\",\"luDqS5\":\"Έκδοση λίστας αναπαραγωγής (M3U8). Η έκδοση 3 έχει την καλύτερη συμβατότητα προγράμματος περιήγησης/πελάτη.\",\"84gH7g\":\"Ελέγξτε το αρχείο καταγραφής <0>διεργασίας\",\"OMpKNS\":\"Επικοινωνήστε με τον φορέα εκμετάλλευσης της υπηρεσίας και ελέγξτε τι συμβαίνει.\",\"4lATxE\":\"Παρακαλούμε εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας για να υπογράψετε τη συμφωνία σας με τους όρους χρήσης της Let's Encrypt CA και για να ειδοποιηθείτε σε περίπτωση προβλημάτων.\",\"bdMiXb\":\"Παρακαλούμε επικοινωνήστε με τον φορέα εκμετάλλευσης της υπηρεσίας και ελέγξτε τι συμβαίνει.\",\"wPZBpR\":\"Παρακαλούμε επιλέξτε ένα αρχείο για να το ανεβάσετε.\",\"YcGRmx\":\"Παρακαλούμε χρησιμοποιήστε το \\\"Passthrough (αντίγραφο)\\\" εάν είναι δυνατόν. Η κωδικοποίηση απαιτεί πρόσθετους πόρους CPU/GPU.\",\"06qnxB\":\"Παρακαλώ περιμένετε. Δεδομένα ροής ανιχνευτή ...\",\"FTIPkL\":\"Παρακαλώ περιμένετε. Ρύθμιση της ροής ...\",\"hZ6znB\":\"Λιμάνι\",\"p/78dY\":\"Θέση\",\"d62Stt\":\"Αφίσα\",\"PNap/Y\":\"URL εικόνας αφίσας\",\"6o2Onc\":\"Προεπιλεγμένο\",\"lxxyq5\":\"Πρωτογενής ροή\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Ανιχνευτής\",\"1B9XX0\":\"Διαδικασία\",\"DL/nrw\":\"Έλεγχος διεργασιών\",\"fzYV2N\":\"Λεπτομέρειες διαδικασίας\",\"zNVLia\":\"Αναφορά διαδικασίας\",\"PwMwvX\":\"Επεξεργασία & έλεγχος\",\"vERlcd\":\"Προφίλ\",\"6+OdGi\":\"Πρωτόκολλο\",\"hEksWI\":\"Πρωτόκολλα\",\"aLZh9m\":\"Δημόσιος τομέας/ες\",\"7lbVwY\":\"Η υπηρεσία δημοσίευσης δεν βρέθηκε\",\"ia1vIb\":\"Αποθήκευση ρυθμίσεων ιστότοπου δημοσίευσης\",\"XHw75Y\":\"Δημοσιεύσεις\",\"dsOSCf\":\"Λειτουργία έλξης\",\"lQQ/zA\":\"Τραβήξτε ή λάβετε τα δεδομένα:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Ποιότητα\",\"i9d+3B\":\"Κάμερα Raspberry Pi\",\"tbXj/A\":\"Έλεγχος ποσοστού\",\"iaocTt\":\"Αναλογία\",\"WnSPyE\":\"rav1e Παράμετροι\",\"6PpdQP\":\"Διαβάστε την είσοδο σε εγγενή ταχύτητα\",\"bqsSkO\":\"Λειτουργία λήψης\",\"gcoiFh\":\"Επανασύνδεση\",\"lakzvL\":\"Καθυστέρηση επανασύνδεσης (δευτερόλεπτα)\",\"HC1Dci\":[\"Επανασύνδεση σε \",[\"0\"],\"s\"],\"uSDaLA\":[\"Η επανασύνδεση με τον πυρήνα Restreamer απέτυχε για τα τελευταία \",[\"RETRIES\"],\" δευτερόλεπτα.\"],\"N7ojfh\":\"Η επανασύνδεση με το Restreamer Core απέτυχε.\",\"lCF0wC\":\"Ανανέωση\",\"uJ+Ve2\":\"Περιοχή\",\"CNipTv\":\"Εγγραφή χρήστη\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Επαναφόρτωση\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Αφαίρεση των παλαιότερων καταχωρήσεων αν το /memfs είναι γεμάτο\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Απαιτεί ενεργοποίηση\",\"XMbkus\":\"Επαναφορά λογότυπου\",\"36SXzE\":\"Επαναφορά αφίσας\",\"6z9W13\":\"Επανεκκίνηση\",\"dKwnjv\":\"Απαιτείται επανεκκίνηση\",\"0Er6+M\":\"Επανεκκίνηση του\",\"X1sT1j\":\"Επανεκκίνηση του Restreamer Core ...\",\"o5q6jb\":\"Η επανεκκίνηση της εφαρμογής απέτυχε.\",\"x8cAsq\":\"Οδηγίες Restreamer\",\"24fLVm\":\"Υπηρεσία Restreamer\",\"LCGjV4\":\"Ανάκτηση δεδομένων ροής ...\",\"6gRgw8\":\"Επανάληψη\",\"Qe1vaN\":\"Μοτίβο δοκιμής RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Περιστροφή\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Εφαρμογή RTMP για δημοσίευση.\",\"7ggERB\":\"Έξοδος RTMP\",\"V82lE+\":\"Θύρα RTMP\",\"itARjB\":\"Διακομιστής RTMP\",\"WWZqzz\":\"Ο διακομιστής RTMP δεν είναι ενεργοποιημένος\",\"HhOPCL\":\"Διεύθυνση ακρόασης διακομιστή RTMP.\",\"DbHOhO\":\"Token RTMP για δημοσίευση και αναπαραγωγή. Το token είναι η τιμή της παραμέτρου ερωτήματος URL 'token'.\",\"OAZeFE\":\"Λιμάνι RTMPS\",\"Wt/wFL\":\"Διακομιστής RTMPS\",\"xwonDv\":\"Διεύθυνση ακρόασης διακομιστή RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Κανόνας\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Δειγματοληψία\",\"tfDRzk\":\"Αποθήκευση\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Κλίμακα\",\"6aaceW\":\"Μέγεθος κλίμακας\",\"xbb037\":\"Δευτερόλεπτα για τη διατήρηση των αρχείων στη μνήμη cache.\",\"geM4Wc\":\"Δευτερόλεπτα μέχρι την επανεκκίνηση μιας διεργασίας.\",\"iF7dnC\":\"Δευτερόλεπτα έως ότου τερματιστεί μια σταλμένη διεργασία.\",\"mydmGn\":\"Δευτερόλεπτα μέχρι να ενημερωθεί το στιγμιότυπο/μικρογραφία της πηγής βίντεο.\",\"a3LDKx\":\"Ασφάλεια\",\"Gkr6zI\":\"Κουπόνι ασφαλείας\",\"/Ocrtf\":\"Χρώμα Seekbar\",\"4lDlYf\":\"Μήκος τμήματος (δευτερόλεπτα)\",\"XfNrg+\":\"Το τμήμα θα αποκοπεί στο επόμενο καρέ πλήκτρων μετά την παρέλευση αυτού του χρόνου. Συνιστάται το 2.\",\"jHCoDy\":\"Τμηματοποίηση\",\"htbsw4\":\"Επιλέξτε μια συσκευή:\",\"O+ruJ3\":\"Επιλέξτε πηγή ήχου:\",\"6MTTpq\":\"Επιλέξτε RTMP ή SRT (αν είναι ενεργοποιημένο) για μικρότερη καθυστέρηση.\",\"E7haRr\":\"Επιλέξτε πηγή ...\",\"PlZ1aw\":\"Επιλέξτε πηγή βίντεο:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Επιλέξτε τη ρύθμιση κωδικοποίησης:\",\"aT3o8A\":\"Επιλέξτε τις ρυθμίσεις του φίλτρου σας (προαιρετικά):\",\"ylXj1N\":\"Επιλεγμένα\",\"kYpw4+\":\"Επιλεγμένο κανάλι\",\"p7/fS2\":\"Επιλογή\",\"SOePwi\":\"Στείλτε ανώνυμες μετρήσεις (μας βοηθά για μελλοντική ανάπτυξη)\",\"kOhBl+\":\"Στείλτε ροή στη διεύθυνση ...\",\"E1X5xY\":\"Στείλτε ρεύμα σε αυτή τη διεύθυνση:\",\"d/IMf3\":\"Αποστολή βίντεο σε Framebuffer\",\"sGH11W\":\"Διακομιστής\",\"9rG25a\":\"URL διακομιστή\",\"T3bXxK\":\"Υπηρεσία\",\"KPPdUO\":\"Όνομα υπηρεσίας\",\"DOrSw/\":\"Κουπόνι υπηρεσίας για παρακολούθηση.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Συνεδρίες\",\"xwK3ty\":\"Ορίστε τη ρύθμιση παραμέτρων rav1e χρησιμοποιώντας μια λίστα παραμέτρων key=value με διαχωρισμό :-.\",\"FIIk8R\":\"Ορίζει ένα όριο εύρους ζώνης σε Mbit ανά δευτερόλεπτο για τη μεταφορά εξερχόμενων δεδομένων HLS. Όλες οι υπηρεσίες, όπως το RTMP και οι εξερχόμενες διεργασίες, περιλαμβάνονται στον υπολογισμό. Εάν το εύρος ζώνης ξεπεραστεί, οι θεατές HLS λαμβάνουν τον κωδικό κατάστασης HTTP 509 (υπέρβαση ορίου εύρους ζώνης). Το 0 είναι απεριόριστο.\",\"cOG/FK\":\"Ορίζει ένα όριο θεατών για συνεδρίες HLS. Εάν το όριο ξεπεραστεί, οι θεατές HLS λαμβάνουν τον κωδικό κατάστασης HTTP 509 (υπέρβαση ορίου εύρους ζώνης). Το 0 είναι απεριόριστο.\",\"mcJFKm\":\"Ρύθμιση για τη σύνδεση με την υπηρεσία.\",\"Tz0i8g\":\"Ρυθμίσεις\",\"IiOZ6R\":\"Ρυθμίσεις (λειτουργία εμπειρογνώμονα)\",\"t64OSP\":\"Ρυθμίσεις για τη διαδρομή /data. Η πρόσβαση προστατεύεται από\",\"Ytdvyh\":\"Ρυθμίσεις για τη διαδρομή /memfs.\",\"1w3lYe\":\"Οι ρυθμίσεις αποθηκεύονται. Όλες οι αλλαγές θα εφαρμοστούν μετά την επανεκκίνηση της εφαρμογής.\",\"XUw3i9\":\"Κουμπί κοινής χρήσης\",\"oD0Oes\":\"Εμφανίζει μια αναφορά στο έργο.\",\"+vv4q2\":\"Εγγραφείτε (δωρεάν)\",\"JXVFAm\":\"Σιωπή\",\"VSK9FJ\":\"Σιωπή ήχου\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Sitename\",\"Cj2Gtd\":\"Μέγεθος\",\"yTZe+y\":\"Στιγμιότυπο\",\"pSUgnY\":\"Κοινωνική σύνδεση (OAuth2, 2FA)\",\"qe9jaI\":\"Χρονικό όριο υποδοχής (μικροδευτερόλεπτα)\",\"bRN5nm\":\"Λογισμικό\",\"wdxz7K\":\"Πηγή\",\"sywlQb\":\"Πηγή & κωδικοποίηση\",\"l9wI00\":\"Ταχύτητα\",\"vdhBFK\":\"Προεπιλογή ταχύτητας\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Έξοδος SRT\",\"YqnAto\":\"Διακομιστής SRT\",\"k6hpqB\":\"Ο διακομιστής SRT δεν είναι ενεργοποιημένος\",\"SzqwHY\":\"Διεύθυνση ακρόασης διακομιστή SRT.\",\"KwbjpB\":\"SRT token για δημοσίευση και αναπαραγωγή. Το token είναι η τιμή της παραμέτρου streamid 'token'.\",\"Aj28wT\":\"Καθυστερημένο χρονικό όριο (δευτερόλεπτα)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Στατιστικά στοιχεία\",\"BrrIs8\":\"Αποθήκευση\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Αποθηκεύει τα στατιστικά στοιχεία προβολής στο δίσκο.\",\"hou0tP\":\"Ρεύμα\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Κλειδί ροής\",\"bqiH5R\":\"Κλειδί ροής\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Όνομα ρεύματος\",\"eXELiS\":\"Ονόματα ρευμάτων\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Πηγή ροής για την υπηρεσία δημοσίευσης (πειραματική).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL ροής\",\"+fVH0Y\":\"Υποστήριξη datarhei Restreamer\",\"5HSoct\":\"Υποστηρίζει HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT και άλλα.\",\"D+NlUC\":\"Σύστημα\",\"jkuW2z\":\"Διεύθυνση στόχου\",\"/K2CvV\":\"Πρότυπο\",\"2Ivkf/\":\"Πρότυπο που θα χρησιμοποιηθεί για τη δημιουργία του δικτυακού τόπου δημοσίευσης. Το κουμπί διαγραφής αφαιρεί την επιλογή από το σύστημα.\",\"4Y5H+g\":\"Όροι\",\"tRNH6x\":\"Μοτίβο δοκιμής\",\"EtlVOt\":\"Μοτίβο δοκιμής (εκτεταμένο)\",\"wGPolR\":\"Χρώματα κειμένου\",\"m0TUJj\":\"Το πλάτος (0.0 - 1.0) της παραγόμενης ροής ήχου\",\"8C6xwe\":\"Η εφαρμογή χρησιμοποιεί παλαιότερη έκδοση των ρυθμίσεων.\",\"VPQVR2\":\"Το διαθέσιμο δυαδικό αρχείο FFmpeg δεν υποστηρίζει κανένα από τα απαιτούμενα πρωτόκολλα.\",\"Gx9PPK\":\"Το bitrate της ροής ήχου.\",\"T2kk3f\":\"Η φέρουσα συχνότητα\",\"JAOLK8\":[\"Το κανάλι \\\"\",[\"0\"],\"\\\" δεν μπόρεσε να διαγραφεί\"],\"jNaBhy\":[\"Το κανάλι \\\"\",[\"0\"],\"\\\" έχει διαγραφεί\"],\"SD8pYJ\":\"Η διαγραφή αυτού του καναλιού δεν μπορεί να ανακτηθεί. Όλες οι δημοσιεύσεις αυτού του καναλιού θα αφαιρεθούν.\",\"bnkV//\":\"Το προφίλ εισόδου δεν είναι πλήρες. Ορίστε μια πηγή βίντεο και ήχου.\",\"wCYjmB\":\"Το προφίλ εισόδου δεν είναι πλήρες. Ορίστε μια πηγή βίντεο ή/και ήχου.\",\"JMaqWu\":\"Η διάταξη της ροής ήχου.\",\"0dqo+p\":\"Ο μέγιστος αριθμός τμημάτων λίστας αναπαραγωγής. Το 0 θα περιέχει όλα τα τμήματα. Συνιστάται το 6.\",\"BDgbiW\":\"Το χρώμα του θορύβου\",\"SxGu7I\":\"Το πρόσωπο που συνέδεσε ένα έργο με αυτή την πράξη έχει αφιερώσει το έργο στο δημόσιο τομέα παραιτούμενος από όλα τα δικαιώματά του επί του έργου παγκοσμίως βάσει του νόμου περί πνευματικών δικαιωμάτων, συμπεριλαμβανομένων όλων των συγγενικών και συγγενικών δικαιωμάτων, στο βαθμό που επιτρέπεται από το νόμο. Μπορείτε να αντιγράψετε, να τροποποιήσετε, να διανείμετε και να εκτελέσετε το έργο, ακόμη και για εμπορικούς σκοπούς, και όλα αυτά χωρίς να ζητήσετε άδεια.\",\"XISvrq\":\"Το δημόσιο προσβάσιμο όνομα τομέα του κεντρικού υπολογιστή στον οποίο εκτελείται αυτός ο Restreamer. Διαχωρίστε πολλαπλά ονόματα τομέα με κόμμα.\",\"yt3d3G\":[\"Η υπηρεσία δημοσίευσης \\\"\",[\"0\"],\"\\\" δεν μπόρεσε να διαγραφεί\"],\"zYcO/c\":[\"Η υπηρεσία δημοσίευσης \\\"\",[\"0\"],\"\\\" έχει δημιουργηθεί\"],\"AQE+oz\":[\"Η υπηρεσία δημοσίευσης \\\"\",[\"0\"],\"\\\" έχει διαγραφεί\"],\"qVLWvp\":\"Η υπηρεσία δημοσίευσης έχει δημιουργηθεί\",\"njj2Wn\":\"Η έξοδος RTMP απαιτεί τον διακομιστή RTMP.\",\"WRxiP8\":\"Ο ρυθμός δειγματοληψίας της ροής ήχου.\",\"/pZjRr\":\"Το επιλεγμένο αρχείο είναι πολύ μεγάλο (<0/>). Επιτρέπονται μόνο <1/>.\",\"VBaSn9\":[\"Ο επιλεγμένος τύπος αρχείου (\",[\"0\"],\") δεν επιτρέπεται. Οι επιτρεπόμενοι τύποι αρχείων είναι \",[\"1\"]],\"fM410X\":[\"Οι ρυθμίσεις για το \\\"\",[\"0\"],\"\\\" έχουν αποθηκευτεί\"],\"02ii2e\":\"Η πηγή δεν παρέχει ροές ήχου.\",\"+2cAEU\":\"Η πηγή δεν παρέχει ροές ήχου. Ελέγξτε τις λεπτομέρειες του <0>δοκιμίου.\",\"pfqmY7\":\"Η πηγή δεν παρέχει συμβατές ροές ήχου.\",\"VO9KeK\":\"Η πηγή δεν παρέχει συμβατές ροές βίντεο. Ελέγξτε τις <0>απαιτήσεις.\",\"007foU\":\"Η πηγή δεν παρέχει ροές βίντεο. Ελέγξτε τις λεπτομέρειες του <0>δοκιμίου.\",\"lAsMdV\":\"Η πηγή δεν παρέχει ροές βίντεο. Ελέγξτε τη συσκευή.\",\"XlnvcR\":\"Η έξοδος SRT απαιτεί τον διακομιστή SRT.\",\"w6uuIE\":\"Η πηγή βίντεο δεν παρέχει καμία συμβατή ροή ήχου. Συνιστάται η επιλογή <0>ήχος σιωπής. Οι υπηρεσίες π.χ. YouTube, Facebook & Co. απαιτούν ένα κανάλι ήχου.\",\"YJJ2RL\":\"Η πηγή βίντεο είναι συμβατή. Επιλέξτε την επιθυμητή ανάλυση:\",\"wEiZHy\":\"Υπάρχουν διαθέσιμες ενημερώσεις. Εδώ μπορείτε να πάρετε περισσότερες πληροφορίες.\",\"4p1MgS\":\"Υπήρξε πρόβλημα με την αποθήκευση των ρυθμίσεων. Οι ρυθμίσεις δεν αποθηκεύτηκαν.\",\"YJhhwT\":[\"Υπήρξε σφάλμα σύνδεσης με τον πυρήνα Restreamer στο \",[\"0\"],\".\"],\"q42VsF\":[\"Υπήρξε ένα σφάλμα κατά το ανέβασμα: \",[\"0\"]],\"HM96PJ\":\"Υπήρξε σφάλμα στη ρύθμιση της ροής.\",\"LoDP+Y\":\"Υπήρχαν κάποια σφάλματα στις ρυθμίσεις. Οι ρυθμίσεις δεν αποθηκεύτηκαν.\",\"l92ZKN\":\"Δεν υπάρχει διαθέσιμη μέθοδος σύνδεσης.\",\"cPKuc8\":\"Πρόκειται για μια εικονική υπηρεσία που σας εξηγεί τις έννοιες της υπηρεσίας.\",\"Ku8nyu\":\"Αυτό δεν αποτελεί απαραίτητα σφάλμα. Ωστόσο, μπορεί να πάρει λίγο περισσότερο χρόνο για να επανεκκινήσει το Restreamer Core..\",\"vCRP3w\":\"Πρόκειται για την αναφορά των κανονισμών περί πνευματικών δικαιωμάτων για τον στόχο αυτής της υπηρεσίας.\",\"Hx7k3c\":\"Αυτή η άδεια επιτρέπει στους χρήστες να αντιγράφουν και να διανέμουν το υλικό σε οποιοδήποτε μέσο ή μορφή μόνο σε μη προσαρμοσμένη μορφή και μόνο εφόσον γίνεται αναφορά στον δημιουργό. Η άδεια επιτρέπει την εμπορική χρήση.\",\"6OeMYB\":\"Αυτή η άδεια επιτρέπει στους χρήστες να αντιγράφουν και να διανέμουν το υλικό σε οποιοδήποτε μέσο ή μορφή σε μη προσαρμοσμένη μορφή, μόνο για μη εμπορικούς σκοπούς και μόνο εφόσον αναφέρεται ο δημιουργός.\",\"TUuhsB\":\"Αυτή η άδεια επιτρέπει στους χρήστες να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή για μη εμπορικούς σκοπούς και μόνο εφόσον αναφέρεται ο δημιουργός.\",\"kVtKRl\":\"Αυτή η άδεια επιτρέπει στους χρήστες να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή για μη εμπορικούς σκοπούς και μόνο εφόσον αναφέρεται ο δημιουργός. Εάν αναμίξετε, προσαρμόσετε ή αξιοποιήσετε το υλικό, θα πρέπει να αδειοδοτήσετε το τροποποιημένο υλικό με τους ίδιους όρους.\",\"FpX5mp\":\"Αυτή η άδεια επιτρέπει στους επαναχρησιμοποιητές να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή, αρκεί να γίνεται αναφορά στον δημιουργό. Η άδεια επιτρέπει την εμπορική χρήση.\",\"SDvwLd\":\"Αυτή η άδεια επιτρέπει στους επαναχρησιμοποιητές να διανέμουν, να αναμειγνύουν, να προσαρμόζουν και να αξιοποιούν το υλικό σε οποιοδήποτε μέσο ή μορφή, αρκεί να γίνεται αναφορά στον δημιουργό. Η άδεια επιτρέπει την εμπορική χρήση. Εάν αναμίξετε, προσαρμόσετε ή βασιστείτε στο υλικό, πρέπει να αδειοδοτήσετε το τροποποιημένο υλικό με τους ίδιους όρους.\",\"H144rX\":\"Αυτό το πρωτόκολλο είναι άγνωστο ή δεν υποστηρίζεται από το διαθέσιμο δυαδικό αρχείο FFmpeg.\",\"nlOxxw\":\"Αυτή η πηγή δεν μπορεί να επεξεργαστεί όσο είναι σε χρήση. Για να συνεχίσετε, πρέπει να αποσυνδέσετε την πηγή.\",\"mbSyrG\":[\"Αυτή η έκδοση του UI δεν υποστηρίζει το διαθέσιμο δυαδικό αρχείο FFmpeg (\",[\"0\"],\"). Το UI απαιτεί \",[\"1\"],\". Παρακαλούμε χρησιμοποιήστε ένα υποστηριζόμενο δυαδικό FFmpeg.\"],\"N/tTgz\":[\"Αυτή η έκδοση του UI δεν υποστηρίζει τον συνδεδεμένο πυρήνα (\",[\"0\"],\"). Το UI απαιτεί \",[\"1\"],\". Παρακαλούμε χρησιμοποιήστε μια συμβατή έκδοση του UI.\"],\"2Vq5tr\":\"Αυτή η έκδοση του UI είναι συμβατή.\",\"QxX9Z5\":\"Κατώφλι (δευτερόλεπτα)\",\"sNmspt\":\"Στήλες κεραμιδιών\",\"sYGp2E\":\"Σειρές πλακιδίων\",\"wbOpwP\":\"Πλακάκια\",\"H59P7E\":\"Χρόνος μέχρι μια ανενεργή σύνδεση προβολής να θεωρηθεί κλειστή.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Για να σταθεροποιήσετε το σύστημα, αυξήστε το μήκος του τμήματος HLS για το διάστημα του καρέ κλειδιού κατά 2-3 * (Επεξεργασία και έλεγχος).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Κορυφαίο πεδίο\",\"7mjsuh\":\"Μεταδώστε μια Livestream σε ένα κανάλι Telegram.\",\"Gxlq7L\":\"Μεταβίβαση στιγμιότυπων της κύριας πηγής σε έναν διακομιστή HTTP/S. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"SdyhUl\":\"Μεταδίδει το κανάλι ήχου της κύριας πηγής σε έναν διακομιστή Icecast. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"MayU3b\":\"Μεταδώστε την κύρια πηγή ως HTTP-Live-Streaming (HLS) σε έναν διακομιστή HTTP/S. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"3K8kpL\":\"Μεταδώστε την κύρια πηγή ως MPEG-DASH σε έναν διακομιστή HTTP/S. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"P/J230\":\"Μεταδώστε την κύρια πηγή σε μια υπηρεσία Brightcove Live. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"u0MhFy\":\"Μετάδοση της κύριας πηγής σε μια υπηρεσία CDN77 RTMP. Περισσότερα για την εγκατάσταση <0>εδώ.\",\"zkgT7c\":\"Μετάδοση της κύριας πηγής σε μια υπηρεσία DaCast RTMP. Περισσότερα για τη ρύθμιση <0>εδώ.\",\"in9xJz\":\"Μεταβίβαση της κύριας πηγής σε ένα datarhei Core Ressource. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"PcgwEU\":\"Μεταφέρετε την κύρια πηγή σε μια πηγή livespotting.com. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"D7jwpf\":\"Μεταδώστε την κύρια πηγή σε μια υπηρεσία MPEG-TS. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε εδώ <0>εδώ.\",\"SpSgUV\":\"Μεταδώστε την κύρια πηγή σε έναν διακομιστή Red5/Pro. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"lIpqI/\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή RTMP(e|s|t|te|ts). Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"pqR6nq\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή RTSP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"Q4dSnZ\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή SRT. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"fx9S4p\":\"Μετάδοση της κύριας πηγής σε έναν διακομιστή UDP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"GLXY2N\":\"Μεταδώστε την κύρια πηγή σε έναν διακομιστή WOWZA. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"AsMKFi\":\"Μετάδοση της κύριας πηγής στο Akamai (MSL) Media Services Live. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις του κωδικοποιητή MSL μπορείτε να βρείτε στο <0>εδώ.\",\"FB364G\":\"Μεταδώστε την κύρια πηγή στην υπηρεσία Livepush RTMP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"CC9yS5\":\"Μεταδώστε την κύρια πηγή στην υπηρεσία RTMP της Nimo TV. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"fP8ZYg\":\"Μεταδώστε την κύρια πηγή στην υπηρεσία Picarto TV RTMP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"D9A0LK\":\"Μετάδοση της κύριας πηγής στην υπηρεσία Restream RTMP. Περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις μπορείτε να βρείτε <0>εδώ.\",\"YL800g\":\"Μετάδοση σε ένα Azure Media Services. Περισσότερες λεπτομέρειες μπορείτε να βρείτε <0>εδώ.\",\"Abgy4c\":\"Μεταβίβαση στο LinkedIn. Περισσότερες λεπτομέρειες μπορείτε να βρείτε <0>εδώ.\",\"dhCZoS\":\"Μεταδώστε το Livestream σας σε μια υπηρεσία RTMP του Dailymotion. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"tQNclD\":\"Μεταδώστε το Livestream σας σε μια υπηρεσία RTMP του Kick.com. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"mQ0sjr\":\"Μεταδώστε τη Livestream σας σε έναν διακομιστή Owncast. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"AqYRa3\":\"Μεταδώστε τη Livestream σας σε μια υπηρεσία Rumble RTMP. <0>Εδώ μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με τις ρυθμίσεις.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Μεταδίδει τη ροή βίντεο με το απαιτούμενο κλειδί, το οποίο δημιουργήθηκε στο Twitter Producer. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με τη δημιουργία μιας ζωντανής ροής στο <0>Producer του Twitter.\",\"ADKef2\":\"Συντονισμός\",\"8jwViA\":\"Μεταφορά UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Αδυναμία φόρτωσης της διαμόρφωσης.\",\"MWrgON\":\"Μοναδικό αναγνωριστικό στην υπηρεσία.\",\"Ef7StM\":\"Άγνωστος\",\"wiIpKZ\":\"Άγνωστο σφάλμα μεταφόρτωσης\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Μη επιλεγμένο\",\"j9zg7e\":\"Λεπτομέρειες ενημέρωσης (Changelog)\",\"ONWvwQ\":\"Ανέβασμα\",\"OXItQT\":[\"Ανεβάστε ένα αρχείο ήχου (\",[\"0\"],\") για να το κάνετε βρόχο.\"],\"75yxb7\":[\"Ανεβάστε ένα αρχείο εικόνας ή βίντεο (\",[\"0\"],\") για να το κάνετε βρόχο.\"],\"iAkPTY\":\"Το ανέβασμα του αρχείου απέτυχε\",\"Jmy6pK\":\"Το ανέβασμα του λογότυπου απέτυχε\",\"xl1xFp\":\"Το ανέβασμα της αφίσας απέτυχε\",\"TjrbDj\":\"Χρόνος διαθεσιμότητας\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Χρησιμοποιήστε το Auth0 για το Restreamer Core που εκτελείτε. Περισσότερες <0>λεπτομέρειες.\",\"JX4TqK\":\"Χρησιμοποιήστε τον οδηγό (<0/>) για μια γρήγορη και εύκολη ρύθμιση ή επεξεργαστείτε (<1/>) τις πηγές απευθείας στην προσαρμοσμένη λειτουργία.\",\"YYTBz0\":\"Χρησιμοποιήστε τα πνευματικά σας δικαιώματα και επιλέξτε τη σωστή άδεια χρήσης εικόνας. Είτε ελεύθερη για όλους είτε με αυστηρούς περιορισμούς. Συζητήστε εν συντομία τι επιτρέπεται να κάνουν οι άλλοι με την εικόνα σας.\",\"2UPEb1\":\"Χρησιμοποιήστε τα πνευματικά σας δικαιώματα και επιλέξτε τη σωστή άδεια χρήσης εικόνας. Είτε ελεύθερη για όλους είτε με αυστηρούς περιορισμούς. Συζητήστε εν συντομία τι επιτρέπεται να κάνουν οι άλλοι με την εικόνα σας.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Εγγραφή χρήστη\",\"7sNhEz\":\"Όνομα χρήστη\",\"Gv3pbp\":\"Όνομα χρήστη για εξουσιοδότηση.\",\"RQSvXZ\":\"Όνομα χρήστη για τη συσκευή.\",\"zze3B5\":\"Το V4L2_M2M είναι πειραματικό.\",\"PvM7Yi\":\"Μεταβλητός ρυθμός καρέ (VFR)\",\"hpBTpL\":\"βελούδο\",\"uIAsxu\":\"Κάθετη αναστροφή\",\"vSJd18\":\"Βίντεο\",\"auaWhL\":\"Συσκευή βίντεο\",\"/skRGV\":\"Ρυθμίσεις βίντεο\",\"EzOjvB\":\"Ρύθμιση βίντεο\",\"QcQXbU\":\"Πηγή βίντεο\",\"M/TIv1\":\"Πρόγραμμα προβολής\",\"L2hKw+\":\"βιολετί\",\"hA6FFn\":\"Εικονική πηγή\",\"/cF7Rs\":\"Τόμος\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Συνιστούμε το OpenMAX IL για Raspberry PI (3/4) με λειτουργικό σύστημα 32-bit.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Καλώς ήρθατε στο Restreamer v2, τη λύση για γρήγορη και εύκολη δημοσίευση βίντεο. Δωρεάν για ιδιωτική και εμπορική χρήση. Περαιτέρω βοήθεια στα <0>docs.\",\"hJfWkA\":\"Ποια προεπιλογή ταχύτητας να χρησιμοποιήσετε.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Πού να αποθηκεύσετε τη λίστα αναπαραγωγής HLS και τα τμήματα. Συνιστάται η αποθήκευση στη μνήμη.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"λευκό\",\"aFWU1n\":\"Πλάτος\",\"e0wV2Y\":\"Προστασία εγγραφής\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Ναι\",\"WPUsOF\":\"Δεν μπορείτε να διακόψετε τον οδηγό, επειδή πρέπει να οριστεί τουλάχιστον μία είσοδος.\",\"qwY9F9\":\"Έχετε αλλάξει τη διαμόρφωση. Για να τεθούν σε ισχύ οι αλλαγές, πρέπει να επανεκκινήσετε την εφαρμογή. Θέλετε να κάνετε επανεκκίνηση τώρα;\",\"nxq2ni\":\"Πρέπει να επανασυνδεθείτε χειροκίνητα\",\"RM3CEc\":\"Έχετε μη αποθηκευμένες αλλαγές. Παρακαλούμε αποθηκεύστε τις πριν μπορέσετε να ελέγξετε ξανά την υπηρεσία.\",\"/cg7qS\":\"Η ροή σας πρέπει να κωδικοποιηθεί, αλλά δεν υπάρχει διαθέσιμος κατάλληλος κωδικοποιητής.\",\"BwrOm6\":\"Η ροή σας πρέπει να κωδικοποιηθεί. Επιλέξτε τον επιθυμητό κωδικοποιητή:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Μοτίβο δοκιμής YUV\"}")}; \ No newline at end of file diff --git a/src/locales/el/messages.po b/src/locales/el/messages.po index abbb24e..a45082b 100644 --- a/src/locales/el/messages.po +++ b/src/locales/el/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Λίστα συμβατότητας" msgid "<0>Show probe details" msgstr "<0>Εμφάνιση λεπτομερειών ανιχνευτή" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Μεταβείτε στη διασύνδεση του Restreamer-στόχου." @@ -76,11 +76,16 @@ msgstr "Διακοπή" msgid "About" msgstr "Σχετικά με το" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Ήχος" @@ -302,10 +311,6 @@ msgstr "Συγγραφέας" msgid "Authorization" msgstr "Εξουσιοδότηση" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Αυτόματο παιχνίδι" msgid "Available" msgstr "Διαθέσιμο" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "Ίδρυμα AVFoundation" @@ -437,7 +438,7 @@ msgstr "Χρόνος προσωρινής αποθήκευσης (δευτερό msgid "Cache types" msgstr "Τύποι κρυφής μνήμης" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Χρώμα" msgid "Command" msgstr "Εντολή" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Διαμόρφωση" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Συνδεδεμένη συσκευή" msgid "Connected since <0/>" msgstr "Συνδεδεμένος από <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Σύνδεση ..." @@ -616,15 +618,19 @@ msgstr "Λειτουργία σταθερού κβαντιστή (-1 έως 255) msgid "Content" msgstr "Περιεχόμενο" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL περιεχομένου" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Όριο CPU (ποσοστό)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Όριο χρήσης CPU σε ποσοστό (0-100%), 0 για απεριόριστη χρήση." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Λειτουργία Deinterlace" msgid "Deinterlace parity" msgstr "Deinterlace parity" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Καθυστέρηση" @@ -851,14 +841,6 @@ msgstr "Η διαγραφή μιας υπηρεσίας δημοσίευσης msgid "Delivering mode" msgstr "Λειτουργία παράδοσης" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Αποσύνδεση" msgid "Disconnect & Continue" msgstr "Αποσύνδεση & συνέχιση" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Παίκτης" msgid "EDIT: Publication Website" msgstr "EDIT: Δικτυακός τόπος δημοσίευσης" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Ηλεκτρονικό ταχυδρομείο" msgid "Embed" msgstr "Ενσωματώστε το" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Κωδικοποίηση" msgid "Encryption" msgstr "Κρυπτογράφηση" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Εισάγετε ένα όνομα για το νέο κανάλι." @@ -1101,12 +1099,12 @@ msgstr "Σφάλμα" msgid "Error while copying data to clipboard" msgstr "Σφάλμα κατά την αντιγραφή δεδομένων στο πρόχειρο" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Σφάλμα: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Διαδρομή αρχείου" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Φίλτρο" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Γενικά" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Αναγνωριστικό Google Analytics" @@ -1353,24 +1351,21 @@ msgstr "Αναγνωριστικό Google Analytics" msgid "Google Analytics Tracker Name" msgstr "Όνομα ανιχνευτή Google Analytics" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Συσκευή υλικού" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Επικεφαλίδα" msgid "Height" msgstr "Ύψος" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Στατιστικά στοιχεία HLS για την αποθήκευ msgid "Horizontal Flip" msgstr "Οριζόντια αναστροφή" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Διασύνδεση Restreamer με φιλοξενία" @@ -1438,8 +1429,8 @@ msgstr "Θύρα HTTPS" msgid "Human readable name on the service." msgstr "Όνομα της υπηρεσίας που μπορεί να διαβαστεί από τον άνθρωπο." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Μη συμβατό" msgid "Inherit" msgstr "Κληρονόμος" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Ένεση 1" @@ -1527,6 +1514,14 @@ msgstr "Έγχυση 3" msgid "Inject 4" msgstr "Ένεση 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Διάστημα καρέ πλήκτρων (δευτερόλεπτα)" msgid "Layout" msgstr "Διάταξη" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Πιστοποίηση Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Live-Streaming στην υπηρεσία Twitch Live RTMP." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Live-Streaming στην υπηρεσία Vimeo Live RTMP" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Αναγνωριστικό πηγής ζωής" @@ -1726,7 +1721,7 @@ msgstr "Κανονικοποίηση ηχηρότητας" msgid "Low latency (Buffer)" msgstr "Χαμηλή καθυστέρηση (Buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Κύριο κανάλι" @@ -1848,6 +1843,10 @@ msgstr "Μεταδεδομένα" msgid "Mininum {0}, default {1}" msgstr "Ελάχιστο {0}, προεπιλογή {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Μούχλα" @@ -1870,7 +1869,7 @@ msgstr "Περισσότερα για τα πνευματικά δικαιώμα msgid "More about YouTube's copyright <0>here." msgstr "Περισσότερα για τα πνευματικά δικαιώματα του YouTube <0>εδώ." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Χωρίς ήχο" msgid "No audio stream available" msgstr "Δεν υπάρχει διαθέσιμη ροή ήχου" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Δεν υπάρχει διαθέσιμη συσκευή εισόδου" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Δεν εντοπίστηκε ζωντανή ροή. Ελέγξτε το λογισμικό που στέλνει τη ροή." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Δεν έχει επιλεγεί πηγή" @@ -1989,7 +1972,7 @@ msgstr "Δεν βρέθηκε κατάλληλος κωδικοποιητής." msgid "No suitable filter found." msgstr "Δεν βρέθηκε κατάλληλο φίλτρο." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Δεν υπάρχει βίντεο" @@ -1998,10 +1981,6 @@ msgstr "Δεν υπάρχει βίντεο" msgid "No video stream available" msgstr "Δεν υπάρχει διαθέσιμη ροή βίντεο" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Αναγνωριστικό κόμβου" @@ -2052,10 +2031,6 @@ msgstr "Αριθμός πλακιδίων που κωδικοποιούνται msgid "Number of tiles rows to encode with." msgstr "Αριθμός σειρών πλακιδίων για κωδικοποίηση." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Ένας παραπομπός ανά γραμμή, π.χ. http://www.exa msgid "Open" msgstr "Ανοίξτε το" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Απομονωτής εξόδου" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Κωδικός πρόσβασης για τη συσκευή." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Λίστα αναπαραγωγής" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Έκδοση λίστας αναπαραγωγής (M3U8). Η έκδοση 3 έχει την καλύτερη συμβατότητα προγράμματος περιήγησης/πελάτη." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Ελέγξτε το αρχείο καταγραφής <0>διεργασίας" @@ -2309,16 +2284,9 @@ msgstr "Προεπιλεγμένο" msgid "Primary stream" msgstr "Πρωτογενής ροή" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Διαδικασία" msgid "Process control" msgstr "Έλεγχος διεργασιών" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Λεπτομέρειες διαδικασίας" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Πρωτόκολλο" msgid "Protocols" msgstr "Πρωτόκολλα" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Δημόσιος τομέας/ες" @@ -2437,6 +2401,10 @@ msgstr "Λειτουργία έλξης" msgid "Pull or recieve the data:" msgstr "Τραβήξτε ή λάβετε τα δεδομένα:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Επανασύνδεση" msgid "Reconnect delay (seconds)" msgstr "Καθυστέρηση επανασύνδεσης (δευτερόλεπτα)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Περιοχή" msgid "Register user" msgstr "Εγγραφή χρήστη" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Αφαίρεση των παλαιότερων καταχωρήσεων αν το /memfs είναι γεμάτο" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Οδηγίες Restreamer" msgid "Restreamer Service" msgstr "Υπηρεσία Restreamer" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Ανάκτηση δεδομένων ροής ..." @@ -2618,15 +2578,15 @@ msgstr "Επανάληψη" msgid "RGB test pattern" msgstr "Μοτίβο δοκιμής RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Περιστροφή" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Κανόνας" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Κλίμακα" msgid "Scale size" msgstr "Μέγεθος κλίμακας" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Δευτερόλεπτα για τη διατήρηση των αρχείων στη μνήμη cache." @@ -2778,10 +2738,6 @@ msgstr "Το τμήμα θα αποκοπεί στο επόμενο καρέ π msgid "Segmentation" msgstr "Τμηματοποίηση" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Επιλέξτε πηγή ..." msgid "Select video source:" msgstr "Επιλέξτε πηγή βίντεο:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Επιλέξτε αν θα αντλήσετε τη ροή από μια <0>πηγή δικτύου (όπως μια κάμερα δικτύου) ή από τον <1>εσωτερικό διακομιστή RTMP (π.χ. ροές OBS στο Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Όνομα υπηρεσίας" msgid "Service token for monitoring." msgstr "Κουπόνι υπηρεσίας για παρακολούθηση." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Ρυθμίσεις" msgid "Settings (expert mode)" msgstr "Ρυθμίσεις (λειτουργία εμπειρογνώμονα)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Ρυθμίσεις για τη διαδρομή /data. Η πρόσβαση προστατεύεται από" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Μέγεθος" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Στιγμιότυπο" @@ -3005,7 +2957,7 @@ msgstr "Ταχύτητα" msgid "Speed Preset" msgstr "Προεπιλογή ταχύτητας" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Πλακάκια" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Χρόνος μέχρι μια ανενεργή σύνδεση προβολής να θεωρηθεί κλειστή." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Για να σταθεροποιήσετε το σύστημα, αυξήστε το μήκος του τμήματος HLS για το διάστημα του καρέ κλειδιού κατά 2-3 * (Επεξεργασία και έλεγχος)." @@ -3477,18 +3413,6 @@ msgstr "Για να σταθεροποιήσετε το σύστημα, αυξή msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Κορυφαίο πεδίο" @@ -3627,12 +3551,12 @@ msgstr "Συντονισμός" msgid "UDP transport" msgstr "Μεταφορά UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Άγνωστος" msgid "Unknown upload error" msgstr "Άγνωστο σφάλμα μεταφόρτωσης" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Το ανέβασμα της αφίσας απέτυχε" msgid "Uptime" msgstr "Χρόνος διαθεσιμότητας" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Χρησιμοποιήστε τα πνευματικά σας δικαι msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Εγγραφή χρήστη" @@ -3773,10 +3693,6 @@ msgstr "Όνομα χρήστη για εξουσιοδότηση." msgid "Username for the device." msgstr "Όνομα χρήστη για τη συσκευή." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "Το V4L2_M2M είναι πειραματικό." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Συνιστούμε το OpenMAX IL για Raspberry PI (3/4) με λειτουργικό σύστημα 32-bit." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Καλώς ήρθατε στο Restreamer v2, τη λύση για γρ msgid "What speed preset to use." msgstr "Ποια προεπιλογή ταχύτητας να χρησιμοποιήσετε." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Πού να αποθηκεύσετε τη λίστα αναπαραγωγής HLS και τα τμήματα. Συνιστάται η αποθήκευση στη μνήμη." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "λευκό" @@ -3881,6 +3809,10 @@ msgstr "Πλάτος" msgid "Write protection" msgstr "Προστασία εγγραφής" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Ναι" @@ -3893,7 +3825,7 @@ msgstr "Δεν μπορείτε να διακόψετε τον οδηγό, επ msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Έχετε αλλάξει τη διαμόρφωση. Για να τεθούν σε ισχύ οι αλλαγές, πρέπει να επανεκκινήσετε την εφαρμογή. Θέλετε να κάνετε επανεκκίνηση τώρα;" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Πρέπει να επανασυνδεθείτε χειροκίνητα" @@ -3910,14 +3842,6 @@ msgstr "Η ροή σας πρέπει να κωδικοποιηθεί, αλλά msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Η ροή σας πρέπει να κωδικοποιηθεί. Επιλέξτε τον επιθυμητό κωδικοποιητή:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/en/messages.js b/src/locales/en/messages.js index e797189..6667e2b 100644 --- a/src/locales/en/messages.js +++ b/src/locales/en/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Compatibility list\",\"TkRUk0\":\"<0>Show probe details\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Switch to the interface of the target Restreamer.\",\"2JnpXL\":\"2. Create a new channel and select RTMP or SRT server.\",\"YidyJl\":\"3. Copy the URL and paste it in the \\\"Target address\\\" field.\",\"X1MZZp\":\"6 (+ guaranteed to start with a Key frame)\",\"JVJkxU\":\"7 (+ fragmented MP4 format)\",\"ssjjFt\":\"Abort\",\"uyJsf6\":\"About\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Add\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Add external widgets and styles to the publication site. You can find some examples on the help page.\",\"tsJWSj\":\"Add new channel\",\"PLTLdv\":\"Add Publication\",\"35l+l6\":[\"Add: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Address\",\"8M7jVn\":\"Address for the background image.\",\"Vu9yiv\":\"Address to listen on for HTTP requests.\",\"AQDW5r\":\"Address to listen on for HTTPS requests.\",\"tPrmjP\":\"Address:\",\"owt8Ow\":\"Adjust publication site colors and background as you like.\",\"uNXGDK\":\"Advanced monitoring\",\"VNgKZz\":\"Advanced settings\",\"eiGNYb\":\"Advanced setup\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerting by email\",\"N40H+G\":\"All\",\"Hw5q+W\":\"All frames\",\"f2zxGk\":\"All important system settings.\",\"lle3bd\":\"Allow all referrer\",\"bgFbIB\":\"Allow counting how many viewers the stream has.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"An environment variable sets this value.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API endpoint not found. Settings not saved.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Application\",\"xnCC/2\":\"Are you sure you want to abort the wizard?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Audio device\",\"sYyYfE\":\"Audio Device\",\"2he4Ra\":\"Audio from device\",\"MvY15a\":\"Audio settings\",\"NoLJ6g\":\"Audio setup\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 is currently not available because this interface is loaded from an insecure origin.\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"Author\",\"NJgJy9\":\"Authorization\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Automatic cleanup of all media data\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Available\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Back\",\"1KfyNL\":\"Background colors\",\"23c2Uw\":\"Background image\",\"r0bEmM\":\"Backup server\",\"JFjQhH\":\"Backup stream\",\"bkJ+QE\":\"Backup URL\",\"OlXThP\":\"Bandwidth\",\"QYaaBO\":\"Bandwidth control\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Basic\",\"YR04fn\":\"Beep factor\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Block cache types\",\"zOC7cT\":\"blue\",\"359XuU\":\"Bottom field\",\"aC3kWW\":\"Briefly describe what the audience will see during the live stream.\",\"SehDNd\":\"brown\",\"Ptp9MF\":\"Button color\",\"Lp4WkO\":\"By height\",\"IeV/4P\":\"By width\",\"KxP5AO\":\"Cache for files on /data.\",\"qX8ffo\":\"Cache time (Seconds)\",\"4dRAku\":\"Cache types\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Capture buffer\",\"aL2+1d\":\"Capture clicks\",\"EOfLfP\":\"Capture cursor\",\"ieS3Wc\":[\"Channel \\\"\",[\"0\"],\"\\\" saved\"],\"lfFsZ4\":\"Channels\",\"WMCwmR\":\"Check for updates\",\"vM6kpc\":\"Check the requirements\",\"Wzgqhl\":\"Choose a video stream\",\"JpTR0/\":\"Choose an audio stream\",\"BTNyrQ\":\"Choose an input device ...\",\"f9QIui\":\"Choose an input stream ...\",\"/Y6zrN\":\"Choose between CFR and VFR (Auto)\",\"gObOjh\":\"Choose codec ...\",\"v7lrmU\":\"Choose tenant ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Close\",\"r8NEPc\":\"Code injection\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Color\",\"sjVfrA\":\"Command\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Config\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Confirm password\",\"iSLIjg\":\"Connect\",\"NL3Gev\":\"Connected device\",\"ywAvGr\":\"Connected since <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Connecting ...\",\"y6+BXa\":\"Connecting to Restreamer Core ...\",\"Td5lm6\":\"Connecting to Restreamer Core failed probably because of mixed content.\",\"awE5Py\":\"Constant frame rate (CFR)\",\"DT0Af/\":\"Constant Quantizer Mode (-1 to 255).\",\"4b3oEV\":\"Content\",\"U34RbB\":\"Content URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU Limit (percent)\",\"uW5tVo\":\"CPU usage limit in percent (0-100%), 0 for unlimited.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Custom ...\",\"kH80Lk\":\"Custom audio device\",\"fW1XQD\":\"Custom audio index\",\"bzREp0\":\"Custom bitrate (kbit/s)\",\"w9oKek\":\"Custom code injection\",\"jYaP01\":\"Custom delay\",\"2Gw+zZ\":\"Custom device\",\"WCXGNp\":\"Custom format\",\"ZkpZ06\":\"Custom framerate\",\"1OXCgh\":\"Custom JSON config for datarhei Core.\",\"kl56NX\":\"Custom keyframe interval\",\"prIqWa\":\"Custom layout\",\"HSB43e\":\"Custom sampling (Hz)\",\"Efe3BI\":\"Custom scale\",\"E/2KdS\":\"Custom size\",\"Se794B\":\"Custom video device\",\"aqv915\":\"Custom video index\",\"v8OlX8\":\"Data copied to clipboard\",\"J/VBax\":\"Death color\",\"d2TTfK\":\"Decibels (dB)\",\"W034oz\":\"Decoder\",\"ovBPCi\":\"Default\",\"gFwPaj\":[\"Default \",[\"0\"]],\"JQnkrI\":[\"Default \",[\"0\"],\" (\",[\"1\"],\" seconds)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Deinterlace mode\",\"aro6lN\":\"Deinterlace parity\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Delay\",\"qBC9g9\":\"Delay (ms)\",\"cnGeoo\":\"Delete\",\"ScK3zL\":\"Deleting a publication service cannot be reversed. The publication stops immediately.\",\"cEx3oI\":\"Delivering mode\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Description\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Device\",\"+K0AvT\":\"Disconnect\",\"miKA/E\":\"Disconnect & Continue\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Disconnecting ...\",\"sPFHpI\":\"Disk\",\"qczNPP\":\"Disk cache\",\"PUqOjv\":\"Disk storage\",\"uTwT/l\":\"Do you really want to restart the application now?\",\"FgxcNT\":[\"Do you want to delete \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Do you want to delete \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Do you want to disconnect \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Docs\",\"TvY/XA\":\"Documentation\",\"jPtEhI\":\"Dup. frames\",\"diaSRH\":\"Each field\",\"u2SnNO\":\"Each frames\",\"ePK91l\":\"Edit\",\"INCFjw\":\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\",\"+7Wr2a\":[\"Edit: \",[\"title\"]],\"e3GLqI\":\"EDIT: Player\",\"dTPDyf\":\"EDIT: Publication Website\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Embed\",\"PaQ3df\":\"Enable\",\"No9svk\":\"Enable a periodic beep every second with this value times the carrier frequency\",\"R7s0Th\":\"Enable backup stream\",\"xA5zBY\":\"Enable nerd statistics\",\"r0zP4o\":\"Enable now\",\"JwR989\":\"Enable primary stream\",\"blkDNw\":\"Enable RTMP server ...\",\"FgEhO4\":\"Enable RTMPS transfer\",\"uGvvxq\":\"Enable snapshots\",\"IuL64N\":\"Enable SRT server ...\",\"NJsnxf\":\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\",\"xwS6bX\":\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Encoding\",\"q1srUM\":\"Encryption\",\"qS2y97\":\"Enter a name for the new channel.\",\"f7sXvi\":\"Enter password\",\"5QCNrf\":\"Enter the address of your network source:\",\"WLnvCZ\":\"Enter username\",\"ijwVVM\":\"Entropy coder\",\"SlfejT\":\"Error\",\"sHoMKO\":\"Error while copying data to clipboard\",\"TpqeIh\":[\"Error: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Expands the area above the channel list (live chat).\",\"IBJg8n\":\"Expands the area under the channel description (comment boxes).\",\"XeunlQ\":\"Expert mode\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Extend channel list\",\"tG09kC\":\"Extend content\",\"bPWJOj\":\"Extend footer\",\"SeaRa5\":\"Extend header\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Failed to create publication service (\",[\"0\"],\")\"],\"yT6MEY\":\"Failed to create publication website files.\",\"FGdPhH\":\"Failed to probe the source. Please check the <0>probe details.\",\"DvfYM2\":[\"Failed to refresh token: \",[\"0\"]],\"J0Jclh\":\"Failed to save ingest metadata\",\"RPXHsU\":\"Failed to stop process\",\"AhS7uc\":\"Failed to store player size setting.\",\"PcJRf4\":[\"Failed to store publication service (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Failed to update ingest process (\",[\"0\"],\")\"],\"t1E1OU\":[\"Failed to update ingest snapshot process (\",[\"0\"],\")\"],\"bssUbs\":\"Failed to update the player\",\"4SzVSX\":\"Failed to update the playersite\",\"H8gP5T\":\"Failed to verify the source. Please check the address.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"File path\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Finish\",\"k4A6IZ\":\"Fix size\",\"Xgkhyj\":\"Flags\",\"+L0/av\":\"For Javascripts.\",\"VBU6dD\":\"For Stylesheets.\",\"XDTTEp\":\"Force input framerate\",\"Y5YNoi\":\"Force key frames\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Frame drops\",\"lPICcX\":\"Frame is passed through (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Framerate conversion (frame interpolation)\",\"xDfHbM\":\"Framerate mode\",\"4xNpe4\":\"Frequency (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"General\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Hardware device\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Header\",\"+670Zw\":\"Headline\",\"PFFhCT\":\"Height\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS output\",\"oMxmoP\":\"HLS server\",\"5/G5c1\":\"HLS statistic for the In-memory storage\",\"wXoUQx\":\"Horizontal Flip\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Hosted Restreamer interface\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP and HTTPS\",\"YmRLab\":\"HTTP port\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS port\",\"Ptrvx5\":\"Human readable name on the service.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\",\"OQONQS\":\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\",\"yWR5EY\":\"iframe code\",\"7ZKroD\":\"Ignore IP ranges\",\"VyUuZb\":\"Image URL\",\"5n8FKh\":\"Imprint\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"In-memory storage\",\"xmsVuq\":\"Incompatible\",\"exUN1j\":\"Inherit\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Inject 1\",\"MJlrvd\":\"Inject 2\",\"MppU96\":\"Inject 3\",\"zBVRQb\":\"Inject 4\",\"Adqgqr\":\"Input stream\",\"jnyWFc\":\"Instance domain\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interval (seconds)\",\"C4WaV1\":\"Issue alert\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Keyframe interval (seconds)\",\"rdU729\":\"Layout\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Let's Encrypt certification\",\"LgUs17\":\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\",\"oCHfGC\":\"Level\",\"eyLS1J\":\"Level of system protocol.\",\"iQmbPb\":\"License\",\"mQImez\":\"Life color\",\"6BDqha\":\"Limits\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Lines\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"List of file extensions not to cache (e.g. \\\".m3u8\\\"), one per line. Leave empty for none.\",\"m2l8c3\":\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\",\"QYw6tl\":\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\",\"ELFO4F\":\"List size (segments)\",\"D0Nwch\":\"Live-Streaming to dlive Live RTMP Service.\",\"n2VKys\":\"Live-Streaming to Facebook Live RTMP service\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming to Media Network RTMP Service.\",\"w9zSAv\":\"Live-Streaming to PeerTube v3+ RTMP/S Service.\",\"SZ9Q++\":\"Live-Streaming to Trovo Live RTMP Service.\",\"JJGagy\":\"Live-Streaming to Twitch Live RTMP Service.\",\"4TnPVp\":\"Live-Streaming to Vimeo Live RTMP Service\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Log level\",\"x7PDL5\":\"Logging\",\"z0t9bb\":\"Login\",\"+fL+Rj\":[\"Login failed: \",[\"0\"]],\"4cd7gw\":\"Login failed: Couldn't load API details\",\"sNqu7k\":\"Login/JWT authorization\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Logout\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"Loudness Normalization\",\"QGvS9k\":\"Low latency (Buffer)\",\"GaV7al\":\"Main channel\",\"Wsn0Uw\":\"Main channel not found\",\"tROIde\":\"Main channel saved\",\"nLVSux\":\"Main page channel (index.html).\",\"rd3Pv7\":\"Main Source\",\"f4txA1\":\"Maintainer:\",\"3iTz2L\":\"Make the channel available as an RTMP stream (experimental).\",\"mMiku6\":\"Make the channel available as an SRT stream (experimental).\",\"6dZ9NS\":\"Marked frames\",\"iuA3xD\":\"Master playlist (increases browser/client compatibility)\",\"WBpxnA\":\"Maximum allowed cache size, 0 for unlimited.\",\"NzaPGT\":\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\",\"aaso5s\":\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\",\"4hp5D2\":\"Maximum bandwidth Mbit/s\",\"L+uBOR\":\"Maximum delay in milliseconds.\",\"hkoCqq\":\"Maximum file size (Megabytes)\",\"i96JfZ\":\"Maximum file size to put in cache.\",\"Q9HspI\":\"Maximum log histroy\",\"bS9ZHz\":\"Maximum log lines\",\"6sayfE\":\"Maximum size (Megabytes)\",\"09BWQO\":\"Maximum viewer idle time (Seconds)\",\"hW0DV1\":\"Maximum viewers\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memory\",\"KReOHe\":\"Memory Limit (megabytes)\",\"fViWSz\":\"Memory usage limit in megabytes, 0 for unlimited.\",\"emJ6M7\":\"Meta information\",\"6GBt0m\":\"Metadata\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", default \",[\"1\"]],\"riWPSk\":\"Mold\",\"QA/rur\":\"More about licenses here\",\"fyGu1l\":\"More about the service\",\"yBsv2n\":\"More about Twitter's copyright <0>here.\",\"ZpfAc9\":\"More about YouTube's copyright <0>here.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Must be larger than maximum file size in cache.\",\"gC9RIS\":\"Must be smaller than maximum cache size.\",\"R7SsBE\":\"Mute\",\"K0rCAk\":\"Mute a channel.\",\"Jv/kid\":\"Mute left\",\"FsCP6P\":\"Mute right\",\"6YtxFj\":\"Name\",\"0ZkQqR\":\"Name for the template. If the name already exists, it will be overwritten.\",\"OR475H\":\"Network\",\"KZDcDr\":\"Network source\",\"hXzOVo\":\"Next\",\"JZrXI6\":\"Next: Audio\",\"kZFy+Q\":\"Next: Video setup\",\"1UzENP\":\"No\",\"p6Fxed\":\"No audio\",\"bIDO3H\":\"No audio stream available\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"No input device available\",\"dEwhMr\":\"No live stream was detected. Please check the software that sends the stream.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"No source selected\",\"3TfuWb\":\"No sources available\",\"fiXA/y\":\"No suitable encoder found.\",\"acY4BT\":\"No suitable filter found.\",\"/02FxK\":\"No video\",\"AVWnC9\":\"No video stream available\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Noise\",\"EdQY6l\":\"None\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notes\",\"/a9y2d\":\"Number of log lines to keep.\",\"ZD0urA\":\"Number of logs to keep for each process.\",\"Aia5w3\":\"Number of seconds the limits are allowed to be exceeded.\",\"1lZb7D\":\"Number of tiles columns to encode with.\",\"InpHMl\":\"Number of tiles encode with.\",\"wnRD5D\":\"Number of tiles rows to encode with.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"One referrer per line, e.g. http://www.example.com\",\"1TNIig\":\"Open\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Output buffer\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase for SRT encryption.\",\"fpQo1i\":\"Passphrase must be between 10 and 79 characters long\",\"3GZXaB\":\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\",\"8ZsakT\":\"Password\",\"b+AuuK\":\"Password for authorization.\",\"oREnCY\":\"Password for the device.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persist viewer statistics\",\"ANX1b0\":\"pink\",\"c8aBfM\":\"Pixel format\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Starter\",\"Ejic1p\":\"Platforms\",\"gtQk6c\":\"Playback\",\"vRayGs\":\"Player\",\"tWB9Gz\":\"Player settings saved\",\"GIxxiU\":\"Player URL\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Playlist\",\"luDqS5\":\"Playlist version (M3U8). Version 3 has the best browser/client compatibility.\",\"84gH7g\":\"Please check the <0>process log\",\"OMpKNS\":\"Please contact the operator of the service and check what happens.\",\"4lATxE\":\"Please enter your email address to signify agreement with the Let's Encrypt CA's terms of service and to be notified in case of issues.\",\"bdMiXb\":\"Please get in touch with the operator of the service and check what happens.\",\"wPZBpR\":\"Please select a file to upload.\",\"YcGRmx\":\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\",\"06qnxB\":\"Please wait. Probe stream data ...\",\"FTIPkL\":\"Please wait. Setting up the stream ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Position\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"Poster image URL\",\"6o2Onc\":\"Preset\",\"lxxyq5\":\"Primary stream\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Probe\",\"1B9XX0\":\"Process\",\"DL/nrw\":\"Process control\",\"fzYV2N\":\"Process details\",\"zNVLia\":\"Process report\",\"PwMwvX\":\"Processing & Control\",\"vERlcd\":\"Profile\",\"6+OdGi\":\"Protocol\",\"hEksWI\":\"Protocols\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Public domain/s\",\"7lbVwY\":\"Publication service not found\",\"ia1vIb\":\"Publication website settings saved\",\"XHw75Y\":\"Publications\",\"dsOSCf\":\"Pull Mode\",\"lQQ/zA\":\"Pull or recieve the data:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Quality\",\"i9d+3B\":\"Raspberry Pi camera\",\"tbXj/A\":\"Rate control\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"rav1e Parameters\",\"6PpdQP\":\"Read input at native speed\",\"bqsSkO\":\"Receive Mode\",\"gcoiFh\":\"Reconnect\",\"lakzvL\":\"Reconnect delay (seconds)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Reconnecting in \",[\"0\"],\"s\"],\"uSDaLA\":[\"Reconnecting to Restreamer Core failed for the last \",[\"RETRIES\"],\" seconds.\"],\"N7ojfh\":\"Reconnecting to Restreamer Core failed.\",\"lCF0wC\":\"Refresh\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Register user\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Reload\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Remove the oldest entries if the /memfs is full\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Requires activation\",\"XMbkus\":\"Reset logo\",\"36SXzE\":\"Reset poster\",\"6z9W13\":\"Restart\",\"dKwnjv\":\"Restart required\",\"0Er6+M\":\"Restarting\",\"X1sT1j\":\"Restarting Restreamer Core ...\",\"o5q6jb\":\"Restarting the application failed.\",\"x8cAsq\":\"Restreamer instructions\",\"24fLVm\":\"Restreamer Service\",\"LCGjV4\":\"Retrieving stream data ...\",\"6gRgw8\":\"Retry\",\"Qe1vaN\":\"RGB test pattern\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Rotate\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"RTMP app for publishing.\",\"7ggERB\":\"RTMP output\",\"V82lE+\":\"RTMP Port\",\"itARjB\":\"RTMP server\",\"WWZqzz\":\"RTMP server is not enabled\",\"HhOPCL\":\"RTMP server listen address.\",\"DbHOhO\":\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\",\"OAZeFE\":\"RTMPS Port\",\"Wt/wFL\":\"RTMPS server\",\"xwonDv\":\"RTMPS server listen address.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Rule\",\"HneYgw\":\"Sampling\",\"tfDRzk\":\"Save\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Scale\",\"6aaceW\":\"Scale size\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Seconds to keep files in cache.\",\"geM4Wc\":\"Seconds until a process is restarted.\",\"iF7dnC\":\"Seconds until a staled process is terminated.\",\"mydmGn\":\"Seconds until the snapshot/thumbnail of the video source is updated.\",\"a3LDKx\":\"Security\",\"Gkr6zI\":\"Security token\",\"/Ocrtf\":\"Seekbar color\",\"4lDlYf\":\"Segment length (seconds)\",\"XfNrg+\":\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\",\"jHCoDy\":\"Segmentation\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Select a device:\",\"O+ruJ3\":\"Select audio source:\",\"6MTTpq\":\"Select RTMP or SRT (if enabled) for less latency.\",\"E7haRr\":\"Select source ...\",\"PlZ1aw\":\"Select video source:\",\"YYlcWm\":\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Select your encoding setting:\",\"aT3o8A\":\"Select your filter settings (optional):\",\"ylXj1N\":\"Selected\",\"kYpw4+\":\"Selected channel\",\"p7/fS2\":\"Selection\",\"SOePwi\":\"Send anonymous metrics (helps us for future development)\",\"kOhBl+\":\"Send stream to address ...\",\"E1X5xY\":\"Send stream to this address:\",\"d/IMf3\":\"Send video to Framebuffer\",\"sGH11W\":\"Server\",\"9rG25a\":\"Server URL\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Service name\",\"DOrSw/\":\"Service token for monitoring.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sessions\",\"xwK3ty\":\"Set the rav1e configuration using a :-separated list of key=value parameters.\",\"FIIk8R\":\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\",\"cOG/FK\":\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\",\"mcJFKm\":\"Setting for connection to the service.\",\"Tz0i8g\":\"Settings\",\"IiOZ6R\":\"Settings (expert mode)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Settings for /data path. The access is protected by\",\"Ytdvyh\":\"Settings for /memfs path.\",\"1w3lYe\":\"Settings saved. All changes will be applied after restarting the application.\",\"XUw3i9\":\"Share button\",\"oD0Oes\":\"Shows a reference to the project.\",\"+vv4q2\":\"Sign up (free)\",\"JXVFAm\":\"Silence\",\"VSK9FJ\":\"Silence Audio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Sitename\",\"Cj2Gtd\":\"Size\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Socket timeout (microseconds)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Source\",\"sywlQb\":\"Source & Encoding\",\"l9wI00\":\"Speed\",\"vdhBFK\":\"Speed Preset\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT output\",\"YqnAto\":\"SRT server\",\"k6hpqB\":\"SRT server is not enabled\",\"SzqwHY\":\"SRT server listen address.\",\"KwbjpB\":\"SRT token for publishing and playing. The token is the value of the streamid parameter 'token.'\",\"Aj28wT\":\"Stale timeout (seconds)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistics\",\"BrrIs8\":\"Storage\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Stores the viewer statistics to the disk.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream key\",\"bqiH5R\":\"Stream Key\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Stream name\",\"eXELiS\":\"Stream names\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Stream source for publication service (experimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Stream URL\",\"+fVH0Y\":\"Support datarhei Restreamer\",\"5HSoct\":\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Target address\",\"/K2CvV\":\"Template\",\"2Ivkf/\":\"Template to be used for creating the publication website. The delete button removes the selection from the system.\",\"4Y5H+g\":\"Terms\",\"tRNH6x\":\"Test pattern\",\"EtlVOt\":\"Test pattern (extended)\",\"wGPolR\":\"Text colors\",\"m0TUJj\":\"The amplitude (0.0 - 1.0) of the generated audio stream\",\"8C6xwe\":\"The application is using an older version of the settings.\",\"VPQVR2\":\"The available FFmpeg binary doesn't support any of the required protocols.\",\"Gx9PPK\":\"The bitrate of the audio stream.\",\"T2kk3f\":\"The carrier frequency\",\"JAOLK8\":[\"The channel \\\"\",[\"0\"],\"\\\" could not be deleted\"],\"jNaBhy\":[\"The channel \\\"\",[\"0\"],\"\\\" has been deleted\"],\"SD8pYJ\":\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\",\"bnkV//\":\"The input profile is not complete. Please define a video and audio source.\",\"wCYjmB\":\"The input profile is not complete. Please define a video and/or audio source.\",\"JMaqWu\":\"The layout of the audio stream.\",\"0dqo+p\":\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\",\"BDgbiW\":\"The noise color\",\"SxGu7I\":\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\",\"XISvrq\":\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\",\"yt3d3G\":[\"The publication service \\\"\",[\"0\"],\"\\\" could not be deleted\"],\"zYcO/c\":[\"The publication service \\\"\",[\"0\"],\"\\\" has been created\"],\"AQE+oz\":[\"The publication service \\\"\",[\"0\"],\"\\\" has been deleted\"],\"qVLWvp\":\"The publication service has been created\",\"njj2Wn\":\"The RTMP output requires the RTMP Server.\",\"WRxiP8\":\"The sample rate of the audio stream.\",\"/pZjRr\":\"The selected file is too big (<0/>). Only <1/> are allowed.\",\"VBaSn9\":[\"The selected file type (\",[\"0\"],\") is not allowed. Allowed file types are \",[\"1\"]],\"fM410X\":[\"The settings for \\\"\",[\"0\"],\"\\\" have been saved\"],\"02ii2e\":\"The source doesn't provide any audio streams.\",\"+2cAEU\":\"The source doesn't provide any audio streams. Please check the <0>probe details.\",\"pfqmY7\":\"The source doesn't provide any compatible audio streams.\",\"VO9KeK\":\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\",\"007foU\":\"The source doesn't provide any video streams. Please check the <0>probe details.\",\"lAsMdV\":\"The source doesn't provide any video streams. Please check the device.\",\"XlnvcR\":\"The SRT output requires the SRT Server.\",\"w6uuIE\":\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\",\"YJJ2RL\":\"The video source is compatible. Select the desired resolution:\",\"wEiZHy\":\"There are updates available. Here you get more information.\",\"4p1MgS\":\"There was a problem storing the settings. Settings not saved.\",\"YJhhwT\":[\"There was an error connecting to Restreamer Core at \",[\"0\"],\".\"],\"q42VsF\":[\"There was an error during upload: \",[\"0\"]],\"HM96PJ\":\"There was an error setting up the stream.\",\"LoDP+Y\":\"There were some errors in the settings. Settings not saved.\",\"l92ZKN\":\"There's no login method available.\",\"cPKuc8\":\"This is a dummy service that explains to you the concepts of service.\",\"Ku8nyu\":\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\",\"vCRP3w\":\"This is to mention the copyright regulations for the target of this service.\",\"Hx7k3c\":\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\",\"6OeMYB\":\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\",\"TUuhsB\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\",\"kVtKRl\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\",\"FpX5mp\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\",\"SDvwLd\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\",\"H144rX\":\"This protocol is unknown or not supported by the available FFmpeg binary.\",\"nlOxxw\":\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\",\"mbSyrG\":[\"This version of the UI doesn't support the available FFmpeg binary (\",[\"0\"],\"). The UI requires \",[\"1\"],\". Please use a supported FFmpeg binary.\"],\"N/tTgz\":[\"This version of the UI doesn't support the connected Core (\",[\"0\"],\"). The UI requires \",[\"1\"],\". Please use a compatible version of the UI.\"],\"2Vq5tr\":\"This version of the UI is compatible.\",\"QxX9Z5\":\"Threshold (seconds)\",\"sNmspt\":\"Tile Columns\",\"sYGp2E\":\"Tile Rows\",\"wbOpwP\":\"Tiles\",\"H59P7E\":\"Time until an inactive viewer connection is treated as closed.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Top field\",\"7mjsuh\":\"Transmit a Livestream to a Telegram Channel.\",\"Gxlq7L\":\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\",\"SdyhUl\":\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\",\"MayU3b\":\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\",\"3K8kpL\":\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\",\"P/J230\":\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\",\"u0MhFy\":\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\",\"zkgT7c\":\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\",\"in9xJz\":\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\",\"PcgwEU\":\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\",\"D7jwpf\":\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\",\"SpSgUV\":\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\",\"lIpqI/\":\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\",\"pqR6nq\":\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\",\"Q4dSnZ\":\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\",\"fx9S4p\":\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\",\"GLXY2N\":\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\",\"AsMKFi\":\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\",\"FB364G\":\"Transmit the main source to the Livepush RTMP Service. More details about the settings can be found <0>here.\",\"CC9yS5\":\"Transmit the main source to the Nimo TV RTMP Service. More details about the settings can be found <0>here.\",\"fP8ZYg\":\"Transmit the main source to the Picarto TV RTMP Service. More details about the settings can be found <0>here.\",\"D9A0LK\":\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\",\"YL800g\":\"Transmit to a Azure Media Services. More details can be found <0>here.\",\"Abgy4c\":\"Transmit to LinkedIn. More details can be found <0>here.\",\"dhCZoS\":\"Transmit your Livestream to an Dailymotion RTMP service. <0>Here you can find more details about the settings.\",\"tQNclD\":\"Transmit your Livestream to an Kick.com RTMP service. <0>Here you can find more details about the settings.\",\"mQ0sjr\":\"Transmit your Livestream to an Owncast server. <0>Here you can find more details about the settings.\",\"AqYRa3\":\"Transmit your Livestream to an Rumble RTMP service. <0>Here you can find more details about the settings.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"UDP transport\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Unable to load the config.\",\"MWrgON\":\"Unique ident on the service.\",\"Ef7StM\":\"Unknown\",\"wiIpKZ\":\"Unknown upload error\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Unselected\",\"j9zg7e\":\"Update details (Changelog)\",\"ONWvwQ\":\"Upload\",\"OXItQT\":[\"Upload an audio file (\",[\"0\"],\") in order to loop it.\"],\"75yxb7\":[\"Upload an image or video file (\",[\"0\"],\") in order to loop it.\"],\"iAkPTY\":\"Uploading the file failed\",\"Jmy6pK\":\"Uploading the logo failed\",\"xl1xFp\":\"Uploading the poster failed\",\"TjrbDj\":\"Uptime\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Use Auth0 for your running Restreamer Core. More <0>details.\",\"JX4TqK\":\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\",\"YYTBz0\":\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"2UPEb1\":\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"User registration\",\"7sNhEz\":\"Username\",\"Gv3pbp\":\"Username for authorization.\",\"RQSvXZ\":\"Username for the device.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M is experimental.\",\"PvM7Yi\":\"Variable frame rate (VFR)\",\"hpBTpL\":\"velvet\",\"uIAsxu\":\"Vertical Flip\",\"vSJd18\":\"Video\",\"auaWhL\":\"Video device\",\"/skRGV\":\"Video settings\",\"EzOjvB\":\"Video setup\",\"QcQXbU\":\"Video source\",\"M/TIv1\":\"Viewer\",\"L2hKw+\":\"violet\",\"hA6FFn\":\"Virtual source\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\",\"hJfWkA\":\"What speed preset to use.\",\"6Pz2IF\":\"Where to store the HLS playlist and segments. In-Memory is recommended.\",\"aWHAbR\":\"white\",\"aFWU1n\":\"Width\",\"e0wV2Y\":\"Write protection\",\"l75CjT\":\"Yes\",\"WPUsOF\":\"You can't abort the wizard because at least one input must be defined.\",\"qwY9F9\":\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\",\"nxq2ni\":\"You have to reconnect manually\",\"RM3CEc\":\"You have unsaved changes. Please save them before you can control the service again.\",\"/cg7qS\":\"Your stream needs to be encoded, but there's no suitable encoder available.\",\"BwrOm6\":\"Your stream needs to be encoded. Choose the desired encoder:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV test pattern\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Compatibility list\",\"TkRUk0\":\"<0>Show probe details\",\"tBy4Bb\":\"1. Switch to the interface of the target Restreamer.\",\"2JnpXL\":\"2. Create a new channel and select RTMP or SRT server.\",\"YidyJl\":\"3. Copy the URL and paste it in the \\\"Target address\\\" field.\",\"X1MZZp\":\"6 (+ guaranteed to start with a Key frame)\",\"JVJkxU\":\"7 (+ fragmented MP4 format)\",\"ssjjFt\":\"Abort\",\"uyJsf6\":\"About\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Add\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Add external widgets and styles to the publication site. You can find some examples on the help page.\",\"tsJWSj\":\"Add new channel\",\"PLTLdv\":\"Add Publication\",\"35l+l6\":[\"Add: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Address\",\"8M7jVn\":\"Address for the background image.\",\"Vu9yiv\":\"Address to listen on for HTTP requests.\",\"AQDW5r\":\"Address to listen on for HTTPS requests.\",\"tPrmjP\":\"Address:\",\"owt8Ow\":\"Adjust publication site colors and background as you like.\",\"uNXGDK\":\"Advanced monitoring\",\"VNgKZz\":\"Advanced settings\",\"eiGNYb\":\"Advanced setup\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerting by email\",\"N40H+G\":\"All\",\"Hw5q+W\":\"All frames\",\"f2zxGk\":\"All important system settings.\",\"lle3bd\":\"Allow all referrer\",\"bgFbIB\":\"Allow counting how many viewers the stream has.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"An environment variable sets this value.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API endpoint not found. Settings not saved.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Application\",\"xnCC/2\":\"Are you sure you want to abort the wizard?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Audio device\",\"sYyYfE\":\"Audio Device\",\"2he4Ra\":\"Audio from device\",\"MvY15a\":\"Audio settings\",\"NoLJ6g\":\"Audio setup\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 is currently not available because this interface is loaded from an insecure origin.\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"Author\",\"NJgJy9\":\"Authorization\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Automatic cleanup of all media data\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Available\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Back\",\"1KfyNL\":\"Background colors\",\"23c2Uw\":\"Background image\",\"r0bEmM\":\"Backup server\",\"JFjQhH\":\"Backup stream\",\"bkJ+QE\":\"Backup URL\",\"OlXThP\":\"Bandwidth\",\"QYaaBO\":\"Bandwidth control\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Basic\",\"YR04fn\":\"Beep factor\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Block cache types\",\"zOC7cT\":\"blue\",\"359XuU\":\"Bottom field\",\"aC3kWW\":\"Briefly describe what the audience will see during the live stream.\",\"SehDNd\":\"brown\",\"Ptp9MF\":\"Button color\",\"Lp4WkO\":\"By height\",\"IeV/4P\":\"By width\",\"KxP5AO\":\"Cache for files on /data.\",\"qX8ffo\":\"Cache time (Seconds)\",\"4dRAku\":\"Cache types\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Capture buffer\",\"aL2+1d\":\"Capture clicks\",\"EOfLfP\":\"Capture cursor\",\"ieS3Wc\":[\"Channel \\\"\",[\"0\"],\"\\\" saved\"],\"lfFsZ4\":\"Channels\",\"WMCwmR\":\"Check for updates\",\"vM6kpc\":\"Check the requirements\",\"Wzgqhl\":\"Choose a video stream\",\"JpTR0/\":\"Choose an audio stream\",\"BTNyrQ\":\"Choose an input device ...\",\"f9QIui\":\"Choose an input stream ...\",\"/Y6zrN\":\"Choose between CFR and VFR (Auto)\",\"gObOjh\":\"Choose codec ...\",\"v7lrmU\":\"Choose tenant ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Close\",\"r8NEPc\":\"Code injection\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Color\",\"sjVfrA\":\"Command\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Config\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Confirm password\",\"iSLIjg\":\"Connect\",\"NL3Gev\":\"Connected device\",\"ywAvGr\":\"Connected since <0/>\",\"lNg25t\":\"Connecting ...\",\"y6+BXa\":\"Connecting to Restreamer Core ...\",\"Td5lm6\":\"Connecting to Restreamer Core failed probably because of mixed content.\",\"awE5Py\":\"Constant frame rate (CFR)\",\"DT0Af/\":\"Constant Quantizer Mode (-1 to 255).\",\"4b3oEV\":\"Content\",\"U34RbB\":\"Content URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU Limit (percent)\",\"uW5tVo\":\"CPU usage limit in percent (0-100%), 0 for unlimited.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Custom ...\",\"kH80Lk\":\"Custom audio device\",\"fW1XQD\":\"Custom audio index\",\"bzREp0\":\"Custom bitrate (kbit/s)\",\"w9oKek\":\"Custom code injection\",\"jYaP01\":\"Custom delay\",\"2Gw+zZ\":\"Custom device\",\"WCXGNp\":\"Custom format\",\"ZkpZ06\":\"Custom framerate\",\"1OXCgh\":\"Custom JSON config for datarhei Core.\",\"kl56NX\":\"Custom keyframe interval\",\"prIqWa\":\"Custom layout\",\"HSB43e\":\"Custom sampling (Hz)\",\"Efe3BI\":\"Custom scale\",\"E/2KdS\":\"Custom size\",\"Se794B\":\"Custom video device\",\"aqv915\":\"Custom video index\",\"v8OlX8\":\"Data copied to clipboard\",\"J/VBax\":\"Death color\",\"d2TTfK\":\"Decibels (dB)\",\"W034oz\":\"Decoder\",\"ovBPCi\":\"Default\",\"gFwPaj\":[\"Default \",[\"0\"]],\"JQnkrI\":[\"Default \",[\"0\"],\" (\",[\"1\"],\" seconds)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Deinterlace mode\",\"aro6lN\":\"Deinterlace parity\",\"YeWQto\":\"Delay\",\"qBC9g9\":\"Delay (ms)\",\"cnGeoo\":\"Delete\",\"ScK3zL\":\"Deleting a publication service cannot be reversed. The publication stops immediately.\",\"cEx3oI\":\"Delivering mode\",\"Nu4oKW\":\"Description\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Device\",\"+K0AvT\":\"Disconnect\",\"miKA/E\":\"Disconnect & Continue\",\"5/pMTZ\":\"Disconnecting ...\",\"sPFHpI\":\"Disk\",\"qczNPP\":\"Disk cache\",\"PUqOjv\":\"Disk storage\",\"uTwT/l\":\"Do you really want to restart the application now?\",\"FgxcNT\":[\"Do you want to delete \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Do you want to delete \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Do you want to disconnect \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Docs\",\"TvY/XA\":\"Documentation\",\"jPtEhI\":\"Dup. frames\",\"diaSRH\":\"Each field\",\"u2SnNO\":\"Each frames\",\"ePK91l\":\"Edit\",\"INCFjw\":\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\",\"+7Wr2a\":[\"Edit: \",[\"title\"]],\"e3GLqI\":\"EDIT: Player\",\"dTPDyf\":\"EDIT: Publication Website\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Embed\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Enable\",\"No9svk\":\"Enable a periodic beep every second with this value times the carrier frequency\",\"R7s0Th\":\"Enable backup stream\",\"xA5zBY\":\"Enable nerd statistics\",\"r0zP4o\":\"Enable now\",\"JwR989\":\"Enable primary stream\",\"blkDNw\":\"Enable RTMP server ...\",\"FgEhO4\":\"Enable RTMPS transfer\",\"uGvvxq\":\"Enable snapshots\",\"IuL64N\":\"Enable SRT server ...\",\"NJsnxf\":\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\",\"xwS6bX\":\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Encoding\",\"q1srUM\":\"Encryption\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Enter a name for the new channel.\",\"f7sXvi\":\"Enter password\",\"5QCNrf\":\"Enter the address of your network source:\",\"WLnvCZ\":\"Enter username\",\"ijwVVM\":\"Entropy coder\",\"SlfejT\":\"Error\",\"sHoMKO\":\"Error while copying data to clipboard\",\"TpqeIh\":[\"Error: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Expands the area above the channel list (live chat).\",\"IBJg8n\":\"Expands the area under the channel description (comment boxes).\",\"XeunlQ\":\"Expert mode\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Extend channel list\",\"tG09kC\":\"Extend content\",\"bPWJOj\":\"Extend footer\",\"SeaRa5\":\"Extend header\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Failed to create publication service (\",[\"0\"],\")\"],\"yT6MEY\":\"Failed to create publication website files.\",\"FGdPhH\":\"Failed to probe the source. Please check the <0>probe details.\",\"DvfYM2\":[\"Failed to refresh token: \",[\"0\"]],\"J0Jclh\":\"Failed to save ingest metadata\",\"RPXHsU\":\"Failed to stop process\",\"AhS7uc\":\"Failed to store player size setting.\",\"PcJRf4\":[\"Failed to store publication service (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Failed to update ingest process (\",[\"0\"],\")\"],\"t1E1OU\":[\"Failed to update ingest snapshot process (\",[\"0\"],\")\"],\"bssUbs\":\"Failed to update the player\",\"4SzVSX\":\"Failed to update the playersite\",\"H8gP5T\":\"Failed to verify the source. Please check the address.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"File path\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Finish\",\"k4A6IZ\":\"Fix size\",\"Xgkhyj\":\"Flags\",\"+L0/av\":\"For Javascripts.\",\"VBU6dD\":\"For Stylesheets.\",\"XDTTEp\":\"Force input framerate\",\"Y5YNoi\":\"Force key frames\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Frame drops\",\"lPICcX\":\"Frame is passed through (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Framerate conversion (frame interpolation)\",\"xDfHbM\":\"Framerate mode\",\"4xNpe4\":\"Frequency (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"General\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Hardware device\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Header\",\"+670Zw\":\"Headline\",\"PFFhCT\":\"Height\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS output\",\"oMxmoP\":\"HLS server\",\"5/G5c1\":\"HLS statistic for the In-memory storage\",\"wXoUQx\":\"Horizontal Flip\",\"8iPCh6\":\"Hosted Restreamer interface\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP and HTTPS\",\"YmRLab\":\"HTTP port\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS port\",\"Ptrvx5\":\"Human readable name on the service.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\",\"OQONQS\":\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\",\"yWR5EY\":\"iframe code\",\"7ZKroD\":\"Ignore IP ranges\",\"VyUuZb\":\"Image URL\",\"5n8FKh\":\"Imprint\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"In-memory storage\",\"xmsVuq\":\"Incompatible\",\"exUN1j\":\"Inherit\",\"CDdi1R\":\"Inject 1\",\"MJlrvd\":\"Inject 2\",\"MppU96\":\"Inject 3\",\"zBVRQb\":\"Inject 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Input stream\",\"jnyWFc\":\"Instance domain\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interval (seconds)\",\"C4WaV1\":\"Issue alert\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Keyframe interval (seconds)\",\"rdU729\":\"Layout\",\"Cpw3fU\":\"Let's Encrypt certification\",\"LgUs17\":\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\",\"oCHfGC\":\"Level\",\"eyLS1J\":\"Level of system protocol.\",\"iQmbPb\":\"License\",\"mQImez\":\"Life color\",\"6BDqha\":\"Limits\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Lines\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"List of file extensions not to cache (e.g. \\\".m3u8\\\"), one per line. Leave empty for none.\",\"m2l8c3\":\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\",\"QYw6tl\":\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\",\"ELFO4F\":\"List size (segments)\",\"D0Nwch\":\"Live-Streaming to dlive Live RTMP Service.\",\"n2VKys\":\"Live-Streaming to Facebook Live RTMP service\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming to Media Network RTMP Service.\",\"w9zSAv\":\"Live-Streaming to PeerTube v3+ RTMP/S Service.\",\"SZ9Q++\":\"Live-Streaming to Trovo Live RTMP Service.\",\"JJGagy\":\"Live-Streaming to Twitch Live RTMP Service.\",\"4TnPVp\":\"Live-Streaming to Vimeo Live RTMP Service\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Log level\",\"x7PDL5\":\"Logging\",\"z0t9bb\":\"Login\",\"+fL+Rj\":[\"Login failed: \",[\"0\"]],\"4cd7gw\":\"Login failed: Couldn't load API details\",\"sNqu7k\":\"Login/JWT authorization\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Logout\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"Loudness Normalization\",\"QGvS9k\":\"Low latency (Buffer)\",\"GaV7al\":\"Main channel\",\"Wsn0Uw\":\"Main channel not found\",\"tROIde\":\"Main channel saved\",\"nLVSux\":\"Main page channel (index.html).\",\"rd3Pv7\":\"Main Source\",\"f4txA1\":\"Maintainer:\",\"3iTz2L\":\"Make the channel available as an RTMP stream (experimental).\",\"mMiku6\":\"Make the channel available as an SRT stream (experimental).\",\"6dZ9NS\":\"Marked frames\",\"iuA3xD\":\"Master playlist (increases browser/client compatibility)\",\"WBpxnA\":\"Maximum allowed cache size, 0 for unlimited.\",\"NzaPGT\":\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\",\"aaso5s\":\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\",\"4hp5D2\":\"Maximum bandwidth Mbit/s\",\"L+uBOR\":\"Maximum delay in milliseconds.\",\"hkoCqq\":\"Maximum file size (Megabytes)\",\"i96JfZ\":\"Maximum file size to put in cache.\",\"Q9HspI\":\"Maximum log histroy\",\"bS9ZHz\":\"Maximum log lines\",\"6sayfE\":\"Maximum size (Megabytes)\",\"09BWQO\":\"Maximum viewer idle time (Seconds)\",\"hW0DV1\":\"Maximum viewers\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memory\",\"KReOHe\":\"Memory Limit (megabytes)\",\"fViWSz\":\"Memory usage limit in megabytes, 0 for unlimited.\",\"emJ6M7\":\"Meta information\",\"6GBt0m\":\"Metadata\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", default \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Mold\",\"QA/rur\":\"More about licenses here\",\"fyGu1l\":\"More about the service\",\"yBsv2n\":\"More about Twitter's copyright <0>here.\",\"ZpfAc9\":\"More about YouTube's copyright <0>here.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Must be larger than maximum file size in cache.\",\"gC9RIS\":\"Must be smaller than maximum cache size.\",\"R7SsBE\":\"Mute\",\"K0rCAk\":\"Mute a channel.\",\"Jv/kid\":\"Mute left\",\"FsCP6P\":\"Mute right\",\"6YtxFj\":\"Name\",\"0ZkQqR\":\"Name for the template. If the name already exists, it will be overwritten.\",\"OR475H\":\"Network\",\"KZDcDr\":\"Network source\",\"hXzOVo\":\"Next\",\"JZrXI6\":\"Next: Audio\",\"kZFy+Q\":\"Next: Video setup\",\"1UzENP\":\"No\",\"p6Fxed\":\"No audio\",\"bIDO3H\":\"No audio stream available\",\"nn9C5B\":\"No input device available\",\"dEwhMr\":\"No live stream was detected. Please check the software that sends the stream.\",\"1FJdZA\":\"No source selected\",\"3TfuWb\":\"No sources available\",\"fiXA/y\":\"No suitable encoder found.\",\"acY4BT\":\"No suitable filter found.\",\"/02FxK\":\"No video\",\"AVWnC9\":\"No video stream available\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Noise\",\"EdQY6l\":\"None\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notes\",\"/a9y2d\":\"Number of log lines to keep.\",\"ZD0urA\":\"Number of logs to keep for each process.\",\"Aia5w3\":\"Number of seconds the limits are allowed to be exceeded.\",\"1lZb7D\":\"Number of tiles columns to encode with.\",\"InpHMl\":\"Number of tiles encode with.\",\"wnRD5D\":\"Number of tiles rows to encode with.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"One referrer per line, e.g. http://www.example.com\",\"1TNIig\":\"Open\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Output buffer\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase for SRT encryption.\",\"fpQo1i\":\"Passphrase must be between 10 and 79 characters long\",\"3GZXaB\":\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\",\"8ZsakT\":\"Password\",\"b+AuuK\":\"Password for authorization.\",\"oREnCY\":\"Password for the device.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persist viewer statistics\",\"ANX1b0\":\"pink\",\"c8aBfM\":\"Pixel format\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Starter\",\"Ejic1p\":\"Platforms\",\"gtQk6c\":\"Playback\",\"vRayGs\":\"Player\",\"tWB9Gz\":\"Player settings saved\",\"GIxxiU\":\"Player URL\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Playlist\",\"luDqS5\":\"Playlist version (M3U8). Version 3 has the best browser/client compatibility.\",\"84gH7g\":\"Please check the <0>process log\",\"OMpKNS\":\"Please contact the operator of the service and check what happens.\",\"4lATxE\":\"Please enter your email address to signify agreement with the Let's Encrypt CA's terms of service and to be notified in case of issues.\",\"bdMiXb\":\"Please get in touch with the operator of the service and check what happens.\",\"wPZBpR\":\"Please select a file to upload.\",\"YcGRmx\":\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\",\"06qnxB\":\"Please wait. Probe stream data ...\",\"FTIPkL\":\"Please wait. Setting up the stream ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Position\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"Poster image URL\",\"6o2Onc\":\"Preset\",\"lxxyq5\":\"Primary stream\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Probe\",\"1B9XX0\":\"Process\",\"DL/nrw\":\"Process control\",\"fzYV2N\":\"Process details\",\"zNVLia\":\"Process report\",\"PwMwvX\":\"Processing & Control\",\"vERlcd\":\"Profile\",\"6+OdGi\":\"Protocol\",\"hEksWI\":\"Protocols\",\"aLZh9m\":\"Public domain/s\",\"7lbVwY\":\"Publication service not found\",\"ia1vIb\":\"Publication website settings saved\",\"XHw75Y\":\"Publications\",\"dsOSCf\":\"Pull Mode\",\"lQQ/zA\":\"Pull or recieve the data:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Quality\",\"i9d+3B\":\"Raspberry Pi camera\",\"tbXj/A\":\"Rate control\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"rav1e Parameters\",\"6PpdQP\":\"Read input at native speed\",\"bqsSkO\":\"Receive Mode\",\"gcoiFh\":\"Reconnect\",\"lakzvL\":\"Reconnect delay (seconds)\",\"HC1Dci\":[\"Reconnecting in \",[\"0\"],\"s\"],\"uSDaLA\":[\"Reconnecting to Restreamer Core failed for the last \",[\"RETRIES\"],\" seconds.\"],\"N7ojfh\":\"Reconnecting to Restreamer Core failed.\",\"lCF0wC\":\"Refresh\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Register user\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Reload\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Remove the oldest entries if the /memfs is full\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Requires activation\",\"XMbkus\":\"Reset logo\",\"36SXzE\":\"Reset poster\",\"6z9W13\":\"Restart\",\"dKwnjv\":\"Restart required\",\"0Er6+M\":\"Restarting\",\"X1sT1j\":\"Restarting Restreamer Core ...\",\"o5q6jb\":\"Restarting the application failed.\",\"x8cAsq\":\"Restreamer instructions\",\"24fLVm\":\"Restreamer Service\",\"LCGjV4\":\"Retrieving stream data ...\",\"6gRgw8\":\"Retry\",\"Qe1vaN\":\"RGB test pattern\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Rotate\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"RTMP app for publishing.\",\"7ggERB\":\"RTMP output\",\"V82lE+\":\"RTMP Port\",\"itARjB\":\"RTMP server\",\"WWZqzz\":\"RTMP server is not enabled\",\"HhOPCL\":\"RTMP server listen address.\",\"DbHOhO\":\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\",\"OAZeFE\":\"RTMPS Port\",\"Wt/wFL\":\"RTMPS server\",\"xwonDv\":\"RTMPS server listen address.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Rule\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Sampling\",\"tfDRzk\":\"Save\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Scale\",\"6aaceW\":\"Scale size\",\"xbb037\":\"Seconds to keep files in cache.\",\"geM4Wc\":\"Seconds until a process is restarted.\",\"iF7dnC\":\"Seconds until a staled process is terminated.\",\"mydmGn\":\"Seconds until the snapshot/thumbnail of the video source is updated.\",\"a3LDKx\":\"Security\",\"Gkr6zI\":\"Security token\",\"/Ocrtf\":\"Seekbar color\",\"4lDlYf\":\"Segment length (seconds)\",\"XfNrg+\":\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\",\"jHCoDy\":\"Segmentation\",\"htbsw4\":\"Select a device:\",\"O+ruJ3\":\"Select audio source:\",\"6MTTpq\":\"Select RTMP or SRT (if enabled) for less latency.\",\"E7haRr\":\"Select source ...\",\"PlZ1aw\":\"Select video source:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Select your encoding setting:\",\"aT3o8A\":\"Select your filter settings (optional):\",\"ylXj1N\":\"Selected\",\"kYpw4+\":\"Selected channel\",\"p7/fS2\":\"Selection\",\"SOePwi\":\"Send anonymous metrics (helps us for future development)\",\"kOhBl+\":\"Send stream to address ...\",\"E1X5xY\":\"Send stream to this address:\",\"d/IMf3\":\"Send video to Framebuffer\",\"sGH11W\":\"Server\",\"9rG25a\":\"Server URL\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Service name\",\"DOrSw/\":\"Service token for monitoring.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sessions\",\"xwK3ty\":\"Set the rav1e configuration using a :-separated list of key=value parameters.\",\"FIIk8R\":\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\",\"cOG/FK\":\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\",\"mcJFKm\":\"Setting for connection to the service.\",\"Tz0i8g\":\"Settings\",\"IiOZ6R\":\"Settings (expert mode)\",\"t64OSP\":\"Settings for /data path. The access is protected by\",\"Ytdvyh\":\"Settings for /memfs path.\",\"1w3lYe\":\"Settings saved. All changes will be applied after restarting the application.\",\"XUw3i9\":\"Share button\",\"oD0Oes\":\"Shows a reference to the project.\",\"+vv4q2\":\"Sign up (free)\",\"JXVFAm\":\"Silence\",\"VSK9FJ\":\"Silence Audio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Sitename\",\"Cj2Gtd\":\"Size\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Socket timeout (microseconds)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Source\",\"sywlQb\":\"Source & Encoding\",\"l9wI00\":\"Speed\",\"vdhBFK\":\"Speed Preset\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT output\",\"YqnAto\":\"SRT server\",\"k6hpqB\":\"SRT server is not enabled\",\"SzqwHY\":\"SRT server listen address.\",\"KwbjpB\":\"SRT token for publishing and playing. The token is the value of the streamid parameter 'token.'\",\"Aj28wT\":\"Stale timeout (seconds)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistics\",\"BrrIs8\":\"Storage\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Stores the viewer statistics to the disk.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream key\",\"bqiH5R\":\"Stream Key\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Stream name\",\"eXELiS\":\"Stream names\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Stream source for publication service (experimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Stream URL\",\"+fVH0Y\":\"Support datarhei Restreamer\",\"5HSoct\":\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Target address\",\"/K2CvV\":\"Template\",\"2Ivkf/\":\"Template to be used for creating the publication website. The delete button removes the selection from the system.\",\"4Y5H+g\":\"Terms\",\"tRNH6x\":\"Test pattern\",\"EtlVOt\":\"Test pattern (extended)\",\"wGPolR\":\"Text colors\",\"m0TUJj\":\"The amplitude (0.0 - 1.0) of the generated audio stream\",\"8C6xwe\":\"The application is using an older version of the settings.\",\"VPQVR2\":\"The available FFmpeg binary doesn't support any of the required protocols.\",\"Gx9PPK\":\"The bitrate of the audio stream.\",\"T2kk3f\":\"The carrier frequency\",\"JAOLK8\":[\"The channel \\\"\",[\"0\"],\"\\\" could not be deleted\"],\"jNaBhy\":[\"The channel \\\"\",[\"0\"],\"\\\" has been deleted\"],\"SD8pYJ\":\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\",\"bnkV//\":\"The input profile is not complete. Please define a video and audio source.\",\"wCYjmB\":\"The input profile is not complete. Please define a video and/or audio source.\",\"JMaqWu\":\"The layout of the audio stream.\",\"0dqo+p\":\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\",\"BDgbiW\":\"The noise color\",\"SxGu7I\":\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\",\"XISvrq\":\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\",\"yt3d3G\":[\"The publication service \\\"\",[\"0\"],\"\\\" could not be deleted\"],\"zYcO/c\":[\"The publication service \\\"\",[\"0\"],\"\\\" has been created\"],\"AQE+oz\":[\"The publication service \\\"\",[\"0\"],\"\\\" has been deleted\"],\"qVLWvp\":\"The publication service has been created\",\"njj2Wn\":\"The RTMP output requires the RTMP Server.\",\"WRxiP8\":\"The sample rate of the audio stream.\",\"/pZjRr\":\"The selected file is too big (<0/>). Only <1/> are allowed.\",\"VBaSn9\":[\"The selected file type (\",[\"0\"],\") is not allowed. Allowed file types are \",[\"1\"]],\"fM410X\":[\"The settings for \\\"\",[\"0\"],\"\\\" have been saved\"],\"02ii2e\":\"The source doesn't provide any audio streams.\",\"+2cAEU\":\"The source doesn't provide any audio streams. Please check the <0>probe details.\",\"pfqmY7\":\"The source doesn't provide any compatible audio streams.\",\"VO9KeK\":\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\",\"007foU\":\"The source doesn't provide any video streams. Please check the <0>probe details.\",\"lAsMdV\":\"The source doesn't provide any video streams. Please check the device.\",\"XlnvcR\":\"The SRT output requires the SRT Server.\",\"w6uuIE\":\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\",\"YJJ2RL\":\"The video source is compatible. Select the desired resolution:\",\"wEiZHy\":\"There are updates available. Here you get more information.\",\"4p1MgS\":\"There was a problem storing the settings. Settings not saved.\",\"YJhhwT\":[\"There was an error connecting to Restreamer Core at \",[\"0\"],\".\"],\"q42VsF\":[\"There was an error during upload: \",[\"0\"]],\"HM96PJ\":\"There was an error setting up the stream.\",\"LoDP+Y\":\"There were some errors in the settings. Settings not saved.\",\"l92ZKN\":\"There's no login method available.\",\"cPKuc8\":\"This is a dummy service that explains to you the concepts of service.\",\"Ku8nyu\":\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\",\"vCRP3w\":\"This is to mention the copyright regulations for the target of this service.\",\"Hx7k3c\":\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\",\"6OeMYB\":\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\",\"TUuhsB\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\",\"kVtKRl\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\",\"FpX5mp\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\",\"SDvwLd\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\",\"H144rX\":\"This protocol is unknown or not supported by the available FFmpeg binary.\",\"nlOxxw\":\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\",\"mbSyrG\":[\"This version of the UI doesn't support the available FFmpeg binary (\",[\"0\"],\"). The UI requires \",[\"1\"],\". Please use a supported FFmpeg binary.\"],\"N/tTgz\":[\"This version of the UI doesn't support the connected Core (\",[\"0\"],\"). The UI requires \",[\"1\"],\". Please use a compatible version of the UI.\"],\"2Vq5tr\":\"This version of the UI is compatible.\",\"QxX9Z5\":\"Threshold (seconds)\",\"sNmspt\":\"Tile Columns\",\"sYGp2E\":\"Tile Rows\",\"wbOpwP\":\"Tiles\",\"H59P7E\":\"Time until an inactive viewer connection is treated as closed.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Top field\",\"7mjsuh\":\"Transmit a Livestream to a Telegram Channel.\",\"Gxlq7L\":\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\",\"SdyhUl\":\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\",\"MayU3b\":\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\",\"3K8kpL\":\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\",\"P/J230\":\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\",\"u0MhFy\":\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\",\"zkgT7c\":\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\",\"in9xJz\":\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\",\"PcgwEU\":\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\",\"D7jwpf\":\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\",\"SpSgUV\":\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\",\"lIpqI/\":\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\",\"pqR6nq\":\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\",\"Q4dSnZ\":\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\",\"fx9S4p\":\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\",\"GLXY2N\":\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\",\"AsMKFi\":\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\",\"FB364G\":\"Transmit the main source to the Livepush RTMP Service. More details about the settings can be found <0>here.\",\"CC9yS5\":\"Transmit the main source to the Nimo TV RTMP Service. More details about the settings can be found <0>here.\",\"fP8ZYg\":\"Transmit the main source to the Picarto TV RTMP Service. More details about the settings can be found <0>here.\",\"D9A0LK\":\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\",\"YL800g\":\"Transmit to a Azure Media Services. More details can be found <0>here.\",\"Abgy4c\":\"Transmit to LinkedIn. More details can be found <0>here.\",\"dhCZoS\":\"Transmit your Livestream to an Dailymotion RTMP service. <0>Here you can find more details about the settings.\",\"tQNclD\":\"Transmit your Livestream to an Kick.com RTMP service. <0>Here you can find more details about the settings.\",\"mQ0sjr\":\"Transmit your Livestream to an Owncast server. <0>Here you can find more details about the settings.\",\"AqYRa3\":\"Transmit your Livestream to an Rumble RTMP service. <0>Here you can find more details about the settings.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"UDP transport\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Unable to load the config.\",\"MWrgON\":\"Unique ident on the service.\",\"Ef7StM\":\"Unknown\",\"wiIpKZ\":\"Unknown upload error\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Unselected\",\"j9zg7e\":\"Update details (Changelog)\",\"ONWvwQ\":\"Upload\",\"OXItQT\":[\"Upload an audio file (\",[\"0\"],\") in order to loop it.\"],\"75yxb7\":[\"Upload an image or video file (\",[\"0\"],\") in order to loop it.\"],\"iAkPTY\":\"Uploading the file failed\",\"Jmy6pK\":\"Uploading the logo failed\",\"xl1xFp\":\"Uploading the poster failed\",\"TjrbDj\":\"Uptime\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Use Auth0 for your running Restreamer Core. More <0>details.\",\"JX4TqK\":\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\",\"YYTBz0\":\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"2UPEb1\":\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"User registration\",\"7sNhEz\":\"Username\",\"Gv3pbp\":\"Username for authorization.\",\"RQSvXZ\":\"Username for the device.\",\"zze3B5\":\"V4L2_M2M is experimental.\",\"PvM7Yi\":\"Variable frame rate (VFR)\",\"hpBTpL\":\"velvet\",\"uIAsxu\":\"Vertical Flip\",\"vSJd18\":\"Video\",\"auaWhL\":\"Video device\",\"/skRGV\":\"Video settings\",\"EzOjvB\":\"Video setup\",\"QcQXbU\":\"Video source\",\"M/TIv1\":\"Viewer\",\"L2hKw+\":\"violet\",\"hA6FFn\":\"Virtual source\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\",\"hJfWkA\":\"What speed preset to use.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Where to store the HLS playlist and segments. In-Memory is recommended.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"white\",\"aFWU1n\":\"Width\",\"e0wV2Y\":\"Write protection\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Yes\",\"WPUsOF\":\"You can't abort the wizard because at least one input must be defined.\",\"qwY9F9\":\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\",\"nxq2ni\":\"You have to reconnect manually\",\"RM3CEc\":\"You have unsaved changes. Please save them before you can control the service again.\",\"/cg7qS\":\"Your stream needs to be encoded, but there's no suitable encoder available.\",\"BwrOm6\":\"Your stream needs to be encoded. Choose the desired encoder:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV test pattern\"}")}; \ No newline at end of file diff --git a/src/locales/en/messages.po b/src/locales/en/messages.po index d5feafe..68128c1 100644 --- a/src/locales/en/messages.po +++ b/src/locales/en/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "¡Copiado!" @@ -23,9 +27,9 @@ msgstr "¡Copiado!" msgid ". Then add" msgstr ". Then add" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "+ Agregar cuenta" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "(dejar vacía)" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Compatibility list" msgid "<0>Show probe details" msgstr "<0>Show probe details" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "🎬 Create Live Broadcast & get stream key" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Switch to the interface of the target Restreamer." @@ -76,11 +76,16 @@ msgstr "Abort" msgid "About" msgstr "About" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "Abre la sala (botón" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "Abrir" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "Abrir sala" @@ -253,6 +258,10 @@ msgstr "as a Valid OAuth Redirect URI in Facebook Login settings." msgid "as an Authorized redirect URI." msgstr "as an Authorized redirect URI." +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "Asegúrate de que alguien esté publicando en la sala LiveKit" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Audio" @@ -302,10 +311,6 @@ msgstr "Author" msgid "Authorization" msgstr "Authorization" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "Authorize with Google" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Autoplay" msgid "Available" msgstr "Available" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "Avanzado: token manual (solo si no usas una cuenta conectada)" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Cache time (Seconds)" msgid "Cache types" msgstr "Cache types" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "Canal activo — esperando que el presentador inicie la transmisión en la sala." @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "Clave de stream" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Color" msgid "Command" msgstr "Command" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "Cómo usar" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "Comparte el enlace de la sala con el presentador para iniciar la transmisión." -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "Comparte la URL (o QR) de la sala con el presentador" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "Conectando…" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Config" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "Configuración de transmisión" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "Configuración" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "Configuración del proceso" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "Configurar OBS" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Connected device" msgid "Connected since <0/>" msgstr "Connected since <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "Connected:" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Connecting ..." @@ -616,15 +618,19 @@ msgstr "Constant Quantizer Mode (-1 to 255)." msgid "Content" msgstr "Content" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "Content URL" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "Copiar" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "Copiar URL" @@ -648,10 +654,6 @@ msgstr "CPU Limit (percent)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "CPU usage limit in percent (0-100%), 0 for unlimited." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "Creando transmisión…" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "Create an OAuth2 Client ID in" @@ -660,10 +662,6 @@ msgstr "Create an OAuth2 Client ID in" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "Creating broadcast..." - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "Credentials saved" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "Cuentas de Facebook conectadas" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Deinterlace mode" msgid "Deinterlace parity" msgstr "Deinterlace parity" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "Dejar vacío para usar el host actual" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Delay" @@ -851,14 +841,6 @@ msgstr "Deleting a publication service cannot be reversed. The publication stops msgid "Delivering mode" msgstr "Delivering mode" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "Desconectar cuenta" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "Descripción" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Disconnect" msgid "Disconnect & Continue" msgstr "Disconnect & Continue" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "Disconnect channel" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,21 +952,21 @@ msgstr "EDIT: Player" msgid "EDIT: Publication Website" msgstr "EDIT: Publication Website" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" -msgstr "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." +msgstr "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." -msgstr "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." +msgstr "el Core se conectará al servidor WHEP egress y recibirá el stream." -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "El token está expirado. Usa 🔄 para renovarlo." +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" -msgstr "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" +msgstr "El video llega al Core vía RTMP push interno" #: src/views/Settings.js:1505 msgid "Email" @@ -998,6 +976,18 @@ msgstr "Email" msgid "Embed" msgstr "Embed" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "Emisión" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "en la sala" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Encoding" msgid "Encryption" msgstr "Encryption" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "Endpoint WHEP (el Core se conectará aquí como suscriptor)" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "Endpoint WHIP (pegar en OBS o fuente externa)" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Enter a name for the new channel." @@ -1101,12 +1099,12 @@ msgstr "Error" msgid "Error while copying data to clipboard" msgstr "Error while copying data to clipboard" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Error: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "Esperando señal del presentador…" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "File path" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "Filled automatically after creating a live broadcast, or enter manually" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filter" @@ -1300,6 +1294,10 @@ msgstr "From Google Cloud Console → OAuth 2.0 Client IDs" msgid "From the same OAuth2 Client ID credential" msgstr "From the same OAuth2 Client ID credential" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "From the same OAuth2 Client ID credential" msgid "General" msgstr "General" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "Generando URL WHIP en LiveKit Ingress…" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "Go to" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "Go to Settings → Integrations" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Google Analytics Tracker Name" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" -msgstr "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" +msgstr "Guarda el canal y activa el proceso" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "Habilitar stream backup" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "Habilitar stream principal" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Hardware device" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "Haz clic en" @@ -1386,7 +1381,7 @@ msgstr "Headline" msgid "Height" msgstr "Height" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "HLS statistic for the In-memory storage" msgid "Horizontal Flip" msgstr "Horizontal Flip" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Hosted Restreamer interface" @@ -1438,9 +1429,9 @@ msgstr "HTTPS port" msgid "Human readable name on the service." msgstr "Human readable name on the service." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." -msgstr "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." +msgstr "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." #: src/views/Settings.js:2479 msgid "If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port." @@ -1507,10 +1498,6 @@ msgstr "Incompatible" msgid "Inherit" msgstr "Inherit" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "Iniciar Live como \"{0}\"" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Inject 1" @@ -1527,6 +1514,14 @@ msgstr "Inject 3" msgid "Inject 4" msgstr "Inject 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "Input Restreamer Core (esperando RTMP push del relay)" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "Input Restreamer Core (URL WHEP directa)" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Keyframe interval (seconds)" msgid "Layout" msgstr "Layout" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "Leave default to start ~5 min from now" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Let's Encrypt certification" @@ -1668,6 +1659,10 @@ msgstr "Live-Streaming to Twitch Live RTMP Service." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Live-Streaming to Vimeo Live RTMP Service" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "LiveKit configurado correctamente" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "Loudness Normalization" msgid "Low latency (Buffer)" msgstr "Low latency (Buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Main channel" @@ -1848,6 +1843,10 @@ msgstr "Metadata" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, default {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "Modo de entrada WebRTC" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Mold" @@ -1870,7 +1869,7 @@ msgstr "More about Twitter's copyright <0>here." msgid "More about YouTube's copyright <0>here." msgstr "More about YouTube's copyright <0>here." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "Mostrar QR" @@ -1948,14 +1947,6 @@ msgstr "No audio" msgid "No audio stream available" msgstr "No audio stream available" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "No input device available" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "No live stream was detected. Please check the software that sends the stream." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "No OAuth2 credentials found." - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "No OAuth2 credentials found. Go to" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "No source selected" @@ -1989,7 +1972,7 @@ msgstr "No suitable encoder found." msgid "No suitable filter found." msgstr "No suitable filter found." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "No video" @@ -1998,10 +1981,6 @@ msgstr "No video" msgid "No video stream available" msgstr "No video stream available" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "No YouTube channel connected. Use the section below to authorize with Google." - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Node ID" @@ -2052,10 +2031,6 @@ msgstr "Number of tiles encode with." msgid "Number of tiles rows to encode with." msgstr "Number of tiles rows to encode with." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "OAuth Playground token — expires in 1h" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "OAuth2 Client ID" @@ -2064,7 +2039,19 @@ msgstr "OAuth2 Client ID" msgid "OAuth2 Client Secret" msgstr "OAuth2 Client Secret" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "OBS" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "Ocultar QR" @@ -2083,7 +2070,7 @@ msgstr "One referrer per line, e.g. http://www.example.com" msgid "Open" msgstr "Open" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "Open room" @@ -2095,21 +2082,13 @@ msgstr "Optionally paste a YouTube URL or Video ID to auto-fill the title and de msgid "Output buffer" msgstr "Output buffer" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "Page Access Token" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "Page ID" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" -msgstr "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" +msgstr "para registrar el input RTMP push" #: src/views/Publication/Services/Core.js:238 #: src/views/Settings.js:2103 @@ -2157,10 +2136,6 @@ msgstr "Password for the device." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "Paste the Client ID and Client Secret in the fields above." -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "Paste token manually" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "Permissions needed:" @@ -2221,7 +2196,7 @@ msgstr "Playlist" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Playlist version (M3U8). Version 3 has the best browser/client compatibility." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Please check the <0>process log" @@ -2309,16 +2284,9 @@ msgstr "Preset" msgid "Primary stream" msgstr "Primary stream" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "Privacy status" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "Private" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "Probar" @@ -2349,15 +2317,15 @@ msgstr "Process" msgid "Process control" msgstr "Process control" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Process details" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protocol" msgid "Protocols" msgstr "Protocols" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "Public" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Public domain/s" @@ -2437,6 +2401,10 @@ msgstr "Pull Mode" msgid "Pull or recieve the data:" msgstr "Pull or recieve the data:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "Pulsa" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Reconnect" msgid "Reconnect delay (seconds)" msgstr "Reconnect delay (seconds)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "Reconnect the account." - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,14 +2494,14 @@ msgstr "Region" msgid "Register user" msgstr "Register user" -#: src/views/Main/index.js:439 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" +msgstr "Reintentar" + +#: src/views/Main/index.js:463 msgid "Relay activo" msgstr "Relay activo" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" -msgstr "Relay host (opcional)" - #: src/views/Password.js:178 #: src/views/Settings.js:2490 msgid "Reload" @@ -2551,10 +2515,6 @@ msgstr "Remove Audio" msgid "Remove the oldest entries if the /memfs is full" msgstr "Remove the oldest entries if the /memfs is full" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "Renovar token (60 días)" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" @@ -2604,7 +2564,7 @@ msgstr "Restreamer instructions" msgid "Restreamer Service" msgstr "Restreamer Service" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Retrieving stream data ..." @@ -2618,15 +2578,15 @@ msgstr "Retry" msgid "RGB test pattern" msgstr "RGB test pattern" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" -msgstr "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" +msgstr "Room ID" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "Room ID: {roomId}" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "Room URL" @@ -2634,7 +2594,7 @@ msgstr "Room URL" msgid "Rotate" msgstr "Rotate" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Rule" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "Sala LiveKit" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "Sala LiveKit (navegador)" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Scale" msgid "Scale size" msgstr "Scale size" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "Scheduled start (local time)" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "Se rellenan al crear el Live. También puedes pegarlas manualmente." - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Seconds to keep files in cache." @@ -2778,10 +2738,6 @@ msgstr "Segment will be cut on the following keyframe after this time has passed msgid "Segmentation" msgstr "Segmentation" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "Selecciona una cuenta primero" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Select source ..." msgid "Select video source:" msgstr "Select video source:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." @@ -2885,9 +2837,13 @@ msgstr "Service name" msgid "Service token for monitoring." msgstr "Service token for monitoring." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" -msgstr "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "Servicio" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" +msgstr "Servidor" #: src/Footer.js:240 msgid "Sessions" @@ -2917,10 +2873,6 @@ msgstr "Settings" msgid "Settings (expert mode)" msgstr "Settings (expert mode)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "Settings → Integrations" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Settings for /data path. The access is protected by" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Size" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Snapshot" @@ -3005,7 +2957,7 @@ msgstr "Speed" msgid "Speed Preset" msgstr "Speed Preset" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Tiles" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Time until an inactive viewer connection is treated as closed." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "Tipo de cuenta" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "Title and description filled from YouTube" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "Título del live" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "to add your Client ID and Client Secret." - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "to enter your Client ID and Client Secret first." - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." @@ -3477,18 +3413,6 @@ msgstr "To stabilize the system, increase the HLS segment length for the keyfram msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "Token de corta duración (2h). Configura App Secret para tokens de 60 días." - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "Token expired — reconnect" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "Token expired for" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Top field" @@ -3627,13 +3551,13 @@ msgstr "Tune" msgid "UDP transport" msgstr "UDP transport" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." -msgstr "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." +msgstr "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." #: src/views/Settings.js:1242 msgid "Unable to load the config." @@ -3654,10 +3578,6 @@ msgstr "Unknown" msgid "Unknown upload error" msgstr "Unknown upload error" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "Unlisted" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "Unsaved" @@ -3713,13 +3633,17 @@ msgstr "Uploading the poster failed" msgid "Uptime" msgstr "Uptime" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "URL de la sala (compartir con el presentador)" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" -msgstr "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "URL de la sala para el presentador" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" +msgstr "URL WHIP de LiveKit Ingress (pegar en OBS)" #: src/views/Login.js:343 msgid "Use Auth0 for your running Restreamer Core. More <0>details." @@ -3741,10 +3665,6 @@ msgstr "Use your copyright and choose the right image licence. Whether free for msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "User Access Token" - #: src/views/Password.js:99 msgid "User registration" msgstr "User registration" @@ -3773,10 +3693,6 @@ msgstr "Username for authorization." msgid "Username for the device." msgstr "Username for the device." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "Uses credentials from Settings → Integrations" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M is experimental." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "WebRTC Room" @@ -3865,10 +3781,22 @@ msgstr "Welcome to Restreamer v2, the solution for fast and easy video publishin msgid "What speed preset to use." msgstr "What speed preset to use." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "WHEP pull" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Where to store the HLS playlist and segments. In-Memory is recommended." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "WHIP / OBS" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "WHIP Ingress (OBS / externos)" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "white" @@ -3881,6 +3809,10 @@ msgstr "Width" msgid "Write protection" msgstr "Write protection" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "y elige Pantalla o Cámara" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Yes" @@ -3893,7 +3825,7 @@ msgstr "You can't abort the wizard because at least one input must be defined." msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "You have to reconnect manually" @@ -3910,14 +3842,6 @@ msgstr "Your stream needs to be encoded, but there's no suitable encoder availab msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Your stream needs to be encoded. Choose the desired encoder:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "YouTube channel account" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "YouTube channel connected:" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "YouTube Live — OAuth2 Credentials" diff --git a/src/locales/es/messages.js b/src/locales/es/messages.js index c4049ef..e5fa270 100644 --- a/src/locales/es/messages.js +++ b/src/locales/es/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Lista de compatibilidad\",\"TkRUk0\":\"<0>Mostrar detalles de la sonda\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Cambie a la interfaz del Restreamer de destino.\",\"2JnpXL\":\"2. Cree un nuevo canal y seleccione el servidor RTMP o SRT.\",\"YidyJl\":\"3. Copie la URL y péguela en el campo \\\"Dirección de destino\\\".\",\"X1MZZp\":\"6 (+ garantizado para empezar con un fotograma clave)\",\"JVJkxU\":\"7 (+ formato MP4 fragmentado)\",\"ssjjFt\":\"Abortar\",\"uyJsf6\":\"Acerca de\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Añada\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Añada widgets y estilos externos al sitio de publicación. Puede encontrar algunos ejemplos en la página de ayuda.\",\"tsJWSj\":\"Añadir un nuevo canal\",\"PLTLdv\":\"Añadir publicación\",\"35l+l6\":[\"Añadir: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Dirección\",\"8M7jVn\":\"Dirección para la imagen de fondo.\",\"Vu9yiv\":\"Dirección de escucha para las peticiones HTTP.\",\"AQDW5r\":\"Dirección de escucha para las solicitudes HTTPS.\",\"tPrmjP\":\"Dirección:\",\"owt8Ow\":\"Ajuste los colores del sitio de publicación y el fondo a su gusto.\",\"uNXGDK\":\"Vigilancia avanzada\",\"VNgKZz\":\"Ajustes avanzados\",\"eiGNYb\":\"Configuración avanzada\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerta por correo electrónico\",\"N40H+G\":\"Todo\",\"Hw5q+W\":\"Todos los cuadros\",\"f2zxGk\":\"Todos los ajustes importantes del sistema.\",\"lle3bd\":\"Permitir todos los remitentes\",\"bgFbIB\":\"Permite contar el número de espectadores que tiene el flujo.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitud\",\"ngteek\":\"Una variable de entorno establece este valor.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Punto final de la API no encontrado. La configuración no se ha guardado.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplicación\",\"xnCC/2\":\"¿Está seguro de que quiere abortar el asistente?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Dispositivo de audio\",\"sYyYfE\":\"Dispositivo de audio\",\"2he4Ra\":\"Audio del dispositivo\",\"MvY15a\":\"Ajustes de audio\",\"NoLJ6g\":\"Configuración de audio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 no está disponible actualmente porque esta interfaz está cargada desde un origen inseguro.\",\"aKsflb\":\"Auth0 Inquilino\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Autorización\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Limpieza automática de todos los datos de los medios de comunicación\",\"jT50Rz\":\"Reproducción automática\",\"csDS2L\":\"Disponible\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Volver\",\"1KfyNL\":\"Colores de fondo\",\"23c2Uw\":\"Imagen de fondo\",\"r0bEmM\":\"Servidor de respaldo\",\"JFjQhH\":\"Flujo de reserva\",\"bkJ+QE\":\"URL de respaldo\",\"OlXThP\":\"Ancho de banda\",\"QYaaBO\":\"Control del ancho de banda\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Básico\",\"YR04fn\":\"Factor Bip\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Tipos de caché en bloque\",\"zOC7cT\":\"azul\",\"359XuU\":\"Campo inferior\",\"aC3kWW\":\"Describa brevemente lo que el público verá durante la transmisión en directo.\",\"SehDNd\":\"marrón\",\"Ptp9MF\":\"Color del botón\",\"Lp4WkO\":\"Por altura\",\"IeV/4P\":\"Por la anchura\",\"KxP5AO\":\"Caché para archivos en /data.\",\"qX8ffo\":\"Tiempo de caché (segundos)\",\"4dRAku\":\"Tipos de caché\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampón de captura\",\"aL2+1d\":\"Captura de clics\",\"EOfLfP\":\"Cursor de captura\",\"ieS3Wc\":[\"Canal \\\"\",[\"0\"],\"\\\" guardado\"],\"lfFsZ4\":\"Canales\",\"WMCwmR\":\"Compruebe las actualizaciones\",\"vM6kpc\":\"Compruebe los requisitos\",\"Wzgqhl\":\"Elija un flujo de vídeo\",\"JpTR0/\":\"Elija un flujo de audio\",\"BTNyrQ\":\"Elija un dispositivo de entrada ...\",\"f9QIui\":\"Elija un flujo de entrada ...\",\"/Y6zrN\":\"Elija entre CFR y VFR (Auto)\",\"gObOjh\":\"Elija el códec ...\",\"v7lrmU\":\"Elija al inquilino ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Cerrar\",\"r8NEPc\":\"Inyección de código\",\"BaUuhR\":\"Códec\",\"jZlrte\":\"Color\",\"sjVfrA\":\"Comando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Configurar\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Confirmar contraseña\",\"iSLIjg\":\"Conectar\",\"NL3Gev\":\"Dispositivo conectado\",\"ywAvGr\":\"Conectado desde <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Conectando ...\",\"y6+BXa\":\"Conexión al núcleo de Restreamer ...\",\"Td5lm6\":\"La conexión con Restreamer Core ha fallado probablemente debido a la mezcla de contenidos.\",\"awE5Py\":\"Velocidad de fotogramas constante (CFR)\",\"DT0Af/\":\"Modo de cuantificador constante (-1 a 255).\",\"4b3oEV\":\"Contenido\",\"U34RbB\":\"Contenido URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Núcleos\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Límite de CPU (porcentaje)\",\"uW5tVo\":\"Límite de uso de CPU en porcentaje (0-100%), 0 para ilimitado.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"A medida ...\",\"kH80Lk\":\"Dispositivo de audio personalizado\",\"fW1XQD\":\"Índice de audio personalizado\",\"bzREp0\":\"Tasa de bits personalizada (kbit/s)\",\"w9oKek\":\"Inyección de código personalizado\",\"jYaP01\":\"Retraso personalizado\",\"2Gw+zZ\":\"Dispositivo personalizado\",\"WCXGNp\":\"Formato personalizado\",\"ZkpZ06\":\"Velocidad de fotogramas personalizada\",\"1OXCgh\":\"Configuración JSON personalizada para datarhei Core.\",\"kl56NX\":\"Intervalo de fotogramas clave personalizado\",\"prIqWa\":\"Diseño personalizado\",\"HSB43e\":\"Muestreo personalizado (Hz)\",\"Efe3BI\":\"Escala personalizada\",\"E/2KdS\":\"Tamaño personalizado\",\"Se794B\":\"Dispositivo de vídeo personalizado\",\"aqv915\":\"Índice de vídeo personalizado\",\"v8OlX8\":\"Datos copiados en el portapapeles\",\"J/VBax\":\"Color de la muerte\",\"d2TTfK\":\"Decibelios (dB)\",\"W034oz\":\"Decodificador\",\"ovBPCi\":\"Por defecto\",\"gFwPaj\":[\"Por defecto \",[\"0\"]],\"JQnkrI\":[\"Por defecto \",[\"0\"],\" (\",[\"1\"],\" segundos)\"],\"A7rne1\":\"Desentrelazado (bwdif)\",\"yLth2B\":\"Desentrelazado deint\",\"g3JmiG\":\"Modo de desentrelazado\",\"aro6lN\":\"Desentrelazar la paridad\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Retraso\",\"qBC9g9\":\"Retraso (ms)\",\"cnGeoo\":\"Borrar\",\"ScK3zL\":\"La eliminación de un servicio de publicación no se puede revertir. La publicación se detiene inmediatamente.\",\"cEx3oI\":\"Modo de entrega\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Descripción\",\"f8fH8W\":\"Diseño\",\"PEHQTf\":\"Dispositivo\",\"+K0AvT\":\"Desconectar\",\"miKA/E\":\"Desconectar y continuar\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Desconectando...\",\"sPFHpI\":\"Disco\",\"qczNPP\":\"Caché de disco\",\"PUqOjv\":\"Almacenamiento en disco\",\"uTwT/l\":\"¿Realmente quiere reiniciar la aplicación ahora?\",\"FgxcNT\":[\"¿Quiere borrar \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"¿Desea eliminar \",[\"título\"],\"?\"],\"0p+Mpn\":[\"¿Quiere desconectar \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Docs\",\"TvY/XA\":\"Documentación\",\"jPtEhI\":\"Marcos Dup.\",\"diaSRH\":\"Cada campo\",\"u2SnNO\":\"Cada cuadro\",\"ePK91l\":\"Editar\",\"INCFjw\":\"Edite las fuentes de audio y vídeo para la transmisión en directo. Añada una descripción y establezca la licencia de contenido que desee.\",\"+7Wr2a\":[\"Editar: \",[\"título\"]],\"e3GLqI\":\"EDIT: Jugador\",\"dTPDyf\":\"EDIT: Página web de la publicación\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Envíe un correo electrónico a\",\"KKBlUU\":\"Incrustar\",\"PaQ3df\":\"Activar\",\"No9svk\":\"Habilitar un pitido periódico cada segundo con este valor multiplicado por la frecuencia portadora\",\"R7s0Th\":\"Habilitar el flujo de respaldo\",\"xA5zBY\":\"Habilitar las estadísticas de los nerds\",\"r0zP4o\":\"Habilitar ahora\",\"JwR989\":\"Habilitar el flujo primario\",\"blkDNw\":\"Habilitar el servidor RTMP ...\",\"FgEhO4\":\"Activar la transferencia de RTMPS\",\"uGvvxq\":\"Habilitar las instantáneas\",\"IuL64N\":\"Habilitar el servidor SRT ...\",\"NJsnxf\":\"Se recomienda encarecidamente habilitar la autorización. De lo contrario, cualquiera puede acceder a esta instancia.\",\"xwS6bX\":\"Se recomienda encarecidamente habilitar la autentificación básica. De lo contrario, cualquiera podría escribir datos en /memfs.\",\"0zaXWu\":\"Codificador\",\"o0XA5y\":\"Codificación\",\"q1srUM\":\"Codificación\",\"qS2y97\":\"Introduzca un nombre para el nuevo canal.\",\"f7sXvi\":\"Introduzca la contraseña\",\"5QCNrf\":\"Introduzca la dirección de su fuente de red:\",\"WLnvCZ\":\"Introduzca el nombre de usuario\",\"ijwVVM\":\"Codificador de entropía\",\"SlfejT\":\"Error\",\"sHoMKO\":\"Error al copiar datos en el portapapeles\",\"TpqeIh\":[\"Error: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Amplía el área sobre la lista de canales (chat en vivo).\",\"IBJg8n\":\"Amplía el área bajo la descripción del canal (cuadros de comentarios).\",\"XeunlQ\":\"Modo experto\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Ampliar la lista de canales\",\"tG09kC\":\"Ampliar el contenido\",\"bPWJOj\":\"Ampliar el pie de página\",\"SeaRa5\":\"Ampliar la cabecera\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Fallo en la creación del servicio de publicación (\",[\"0\"],\")\"],\"yT6MEY\":\"Fallo en la creación de los archivos del sitio web de la publicación.\",\"FGdPhH\":\"No se ha podido sondear la fuente. Por favor, compruebe los <0>detalles de la sonda.\",\"DvfYM2\":[\"Fallo en la actualización de la ficha: \",[\"0\"]],\"J0Jclh\":\"Fallo al guardar los metadatos de ingesta\",\"RPXHsU\":\"Fallo en la detención del proceso\",\"AhS7uc\":\"Fallo al almacenar el ajuste del tamaño del reproductor.\",\"PcJRf4\":[\"Fallo en el almacenamiento del servicio de publicación (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Fallo en la actualización del proceso de ingesta (\",[\"0\"],\")\"],\"t1E1OU\":[\"Fallo en la actualización del proceso de ingesta de instantáneas (\",[\"0\"],\")\"],\"bssUbs\":\"Fallo en la actualización del reproductor\",\"4SzVSX\":\"No se ha podido actualizar el sitio de los jugadores\",\"H8gP5T\":\"No se ha podido verificar la fuente. Por favor, compruebe la dirección.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Ruta del archivo\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filtro\",\"JmZ/+d\":\"Acabado\",\"k4A6IZ\":\"Tamaño fijo\",\"Xgkhyj\":\"Banderas\",\"+L0/av\":\"Para Javascripts.\",\"VBU6dD\":\"Para las hojas de estilo.\",\"XDTTEp\":\"Forzar la velocidad de entrada de fotogramas\",\"Y5YNoi\":\"Forzar fotogramas clave\",\"kI1qVD\":\"Formato\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Caída de cuadros\",\"lPICcX\":\"El marco se pasa (Passthrough)\",\"T8wPu0\":\"Buffer de imágenes\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Conversión de fotogramas (interpolación de fotogramas)\",\"xDfHbM\":\"Modo de velocidad de fotogramas\",\"4xNpe4\":\"Frecuencia (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"General\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"ID de Google Analytics\",\"S/8Noo\":\"Nombre del rastreador de Google Analytics\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Dispositivo de hardware\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Cabecera\",\"+670Zw\":\"Titular\",\"PFFhCT\":\"Altura\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Salida HLS\",\"oMxmoP\":\"Servidor HLS\",\"5/G5c1\":\"Estadística HLS para el almacenamiento en memoria\",\"wXoUQx\":\"Volteo horizontal\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Interfaz de Restreamer alojado\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP y HTTPS\",\"YmRLab\":\"Puerto HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Puerto HTTPS\",\"Ptrvx5\":\"Nombre legible para el ser humano en el servicio.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Si ha cambiado los puertos, puede ser que Restreamer Core ya se haya reiniciado, pero ahora está disponible en un puerto diferente.\",\"OQONQS\":\"Si ha habilitado Let's Encrypt TLS, puede tardar un poco en adquirir los certificados. Asegúrese de que Restreamer Core es accesible a través del puerto 80 desde Internet. Compruebe el registro de la consola de Restreamer Core.\",\"yWR5EY\":\"código iframe\",\"7ZKroD\":\"Ignorar los rangos de IP\",\"VyUuZb\":\"URL de la imagen\",\"5n8FKh\":\"Impresión\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Además del reproductor, el Restreamer ofrece una completa página de aterrizaje, con la que podrá presentar su transmisión en directo de forma fácil y rápida.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"En memoria\",\"EwM+sw\":\"Almacenamiento en memoria\",\"xmsVuq\":\"Incompatible\",\"exUN1j\":\"Heredar\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Inyectar 1\",\"MJlrvd\":\"Inyectar 2\",\"MppU96\":\"Inyectar 3\",\"zBVRQb\":\"Inyectar 4\",\"Adqgqr\":\"Flujo de entrada\",\"jnyWFc\":\"Dominio de la instancia\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervalo (segundos)\",\"C4WaV1\":\"Alerta de emisión\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervalo de fotogramas clave (segundos)\",\"rdU729\":\"Disposición\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Certificación Let's Encrypt\",\"LgUs17\":\"Let's Encrypt requiere uno o más nombres de dominio público y un puerto 80/TCP accesible.\",\"oCHfGC\":\"Nivel\",\"eyLS1J\":\"Nivel de protocolo del sistema.\",\"iQmbPb\":\"Licencia\",\"mQImez\":\"El color de la vida\",\"6BDqha\":\"Límites\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Líneas\",\"yzF66j\":\"Enlace\",\"NBxw5Y\":\"Enlace, ratón\",\"xCrpEt\":\"Lista de extensiones de archivos que no se deben almacenar en caché (por ejemplo, \\\".m3u8\\\"), una por línea. Dejar vacío para ninguna.\",\"m2l8c3\":\"Lista de extensiones de archivos a almacenar en caché (por ejemplo, \\\".html\\\"), una por línea. Déjela vacía para almacenar en caché todos los tipos de archivos.\",\"QYw6tl\":\"Lista de rangos de IP en notación CIDR, por ejemplo, 127.0.0.1/32, que las estadísticas no registrarán -un rango de IP por línea. Déjelo vacío para registrar todas las sesiones.\",\"ELFO4F\":\"Tamaño de la lista (segmentos)\",\"D0Nwch\":\"Transmisión en directo al servicio RTMP de dlive Live.\",\"n2VKys\":\"Transmisión en directo al servicio RTMP de Facebook Live\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Transmisión en directo al servicio RTMP de la red de medios de comunicación.\",\"w9zSAv\":\"Transmisión en directo al servicio PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Transmisión en directo al servicio RTMP de Trovo Live.\",\"JJGagy\":\"Transmisión en directo al servicio RTMP de Twitch Live.\",\"4TnPVp\":\"Transmisión en directo al servicio Vimeo Live RTMP\",\"G4x3PY\":\"Identificación de la fuente de vida\",\"0aIqC4\":\"Nivel de registro\",\"x7PDL5\":\"Registro\",\"z0t9bb\":\"Acceda a\",\"+fL+Rj\":[\"El inicio de sesión ha fallado: \",[\"0\"]],\"4cd7gw\":\"El inicio de sesión ha fallado: No se han podido cargar los detalles de la API\",\"sNqu7k\":\"Autorización de inicio de sesión/JWT\",\"iG7KNr\":\"Logotipo\",\"nOhz3x\":\"Cierre de sesión\",\"DYX2fZ\":\"Bucle\",\"SzaPTL\":\"Normalización de la sonoridad\",\"QGvS9k\":\"Baja latencia (Buffer)\",\"GaV7al\":\"Canal principal\",\"Wsn0Uw\":\"Canal principal no encontrado\",\"tROIde\":\"Canal principal guardado\",\"nLVSux\":\"Canal de la página principal (index.html).\",\"rd3Pv7\":\"Fuente principal\",\"f4txA1\":\"Mantenedor:\",\"3iTz2L\":\"Hacer que el canal esté disponible como un flujo RTMP (experimental).\",\"mMiku6\":\"Hacer que el canal esté disponible como flujo SRT (experimental).\",\"6dZ9NS\":\"Marcos marcados\",\"iuA3xD\":\"Lista de reproducción maestra (aumenta la compatibilidad con el navegador/cliente)\",\"WBpxnA\":\"Tamaño máximo de caché permitido, 0 para ilimitado.\",\"NzaPGT\":\"Máximo de megabytes de RAM permitidos para /memfs, 0 para ilimitado.\",\"aaso5s\":\"Máximo de megabytes permitidos a consumir del disco duro. 0 para ilimitado.\",\"4hp5D2\":\"Ancho de banda máximo Mbit/s\",\"L+uBOR\":\"Retraso máximo en milisegundos.\",\"hkoCqq\":\"Tamaño máximo del archivo (Megabytes)\",\"i96JfZ\":\"Tamaño máximo del archivo a poner en la caché.\",\"Q9HspI\":\"Máxima historia de registro\",\"bS9ZHz\":\"Líneas de registro máximas\",\"6sayfE\":\"Tamaño máximo (Megabytes)\",\"09BWQO\":\"Tiempo máximo de inactividad del espectador (segundos)\",\"hW0DV1\":\"Máximos espectadores\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memoria\",\"KReOHe\":\"Límite de memoria (megabytes)\",\"fViWSz\":\"Límite de uso de memoria en megabytes, 0 para ilimitado.\",\"emJ6M7\":\"Meta información\",\"6GBt0m\":\"Metadatos\",\"SCcIsq\":[\"Mínimo \",[\"0\"],\", por defecto \",[\"1\"]],\"riWPSk\":\"Moho\",\"QA/rur\":\"Más información sobre las licencias aquí\",\"fyGu1l\":\"Más información sobre el servicio\",\"yBsv2n\":\"Más información sobre los derechos de autor de Twitter <0>aquí.\",\"ZpfAc9\":\"Más información sobre los derechos de autor de YouTube <0>aquí.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Debe ser mayor que el tamaño máximo del archivo en la caché.\",\"gC9RIS\":\"Debe ser menor que el tamaño máximo de la caché.\",\"R7SsBE\":\"Silencio\",\"K0rCAk\":\"Silenciar un canal.\",\"Jv/kid\":\"Silencio a la izquierda\",\"FsCP6P\":\"Silencio a la derecha\",\"6YtxFj\":\"Nombre\",\"0ZkQqR\":\"Nombre para la plantilla. Si el nombre ya existe, se sobrescribirá.\",\"OR475H\":\"Red\",\"KZDcDr\":\"Fuente de la red\",\"hXzOVo\":\"Siguiente\",\"JZrXI6\":\"Siguiente: Audio\",\"kZFy+Q\":\"Siguiente: Configuración del vídeo\",\"1UzENP\":\"No\",\"p6Fxed\":\"Sin audio\",\"bIDO3H\":\"No hay flujo de audio disponible\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"No hay dispositivo de entrada disponible\",\"dEwhMr\":\"No se ha detectado ninguna transmisión en directo. Por favor, compruebe el software que envía el flujo.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"No se ha seleccionado ninguna fuente\",\"3TfuWb\":\"No hay fuentes disponibles\",\"fiXA/y\":\"No se ha encontrado un codificador adecuado.\",\"acY4BT\":\"No se ha encontrado ningún filtro adecuado.\",\"/02FxK\":\"No hay vídeo\",\"AVWnC9\":\"No hay flujo de vídeo disponible\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"ID de nodo\",\"9J5l/O\":\"Ruido\",\"EdQY6l\":\"Ninguno\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notas\",\"/a9y2d\":\"Número de líneas de registro a conservar.\",\"ZD0urA\":\"Número de registros a mantener para cada proceso.\",\"Aia5w3\":\"Número de segundos que se permite sobrepasar los límites.\",\"1lZb7D\":\"Número de columnas de azulejos para codificar.\",\"InpHMl\":\"Número de fichas con las que se codifica.\",\"wnRD5D\":\"Número de filas de azulejos para codificar.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Un referente por línea, por ejemplo: http://www.example.com\",\"1TNIig\":\"Abrir\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Tampón de salida\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Frase de acceso\",\"Y+p0Tt\":\"Frase de paso para el cifrado SRT.\",\"fpQo1i\":\"La frase de acceso debe tener entre 10 y 79 caracteres\",\"3GZXaB\":\"El passthrough (copia) sólo debe desactivarse si es necesario. Cada codificación requiere recursos adicionales de la CPU/GPU.\",\"8ZsakT\":\"Contraseña\",\"b+AuuK\":\"Contraseña para la autorización.\",\"oREnCY\":\"Contraseña para el dispositivo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persistir las estadísticas de los espectadores\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Formato de píxeles\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Inicio\",\"Ejic1p\":\"Plataformas\",\"gtQk6c\":\"Reproducción\",\"vRayGs\":\"Jugador\",\"tWB9Gz\":\"Ajustes del jugador guardados\",\"GIxxiU\":\"URL del jugador\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Lista de reproducción\",\"luDqS5\":\"Versión de la lista de reproducción (M3U8). La versión 3 tiene la mejor compatibilidad con el navegador/cliente.\",\"84gH7g\":\"Por favor, compruebe el <0>registro del proceso\",\"OMpKNS\":\"Póngase en contacto con el operador del servicio y compruebe lo que ocurre.\",\"4lATxE\":\"Por favor, introduzca su dirección de correo electrónico para indicar que está de acuerdo con los términos de servicio de Let's Encrypt CA y para ser notificado en caso de problemas.\",\"bdMiXb\":\"Ponte en contacto con el operador del servicio y comprueba lo que ocurre.\",\"wPZBpR\":\"Por favor, seleccione un archivo para cargar.\",\"YcGRmx\":\"Por favor, utilice \\\"Passthrough (copia)\\\" si es posible. La codificación requiere recursos adicionales de la CPU/GPU.\",\"06qnxB\":\"Por favor, espere. Datos del flujo de la sonda ...\",\"FTIPkL\":\"Por favor, espere. Configurando el flujo ...\",\"hZ6znB\":\"Puerto\",\"p/78dY\":\"Posición\",\"d62Stt\":\"Póster\",\"PNap/Y\":\"URL de la imagen del cartel\",\"6o2Onc\":\"Preestablecido\",\"lxxyq5\":\"Corriente primaria\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Proceso\",\"DL/nrw\":\"Control de procesos\",\"fzYV2N\":\"Detalles del proceso\",\"zNVLia\":\"Informe del proceso\",\"PwMwvX\":\"Procesamiento y control\",\"vERlcd\":\"Perfil\",\"6+OdGi\":\"Protocolo\",\"hEksWI\":\"Protocolos\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Dominio público\",\"7lbVwY\":\"Servicio de publicación no encontrado\",\"ia1vIb\":\"Se guarda la configuración del sitio web de la publicación\",\"XHw75Y\":\"Publicaciones\",\"dsOSCf\":\"Modo de tirar\",\"lQQ/zA\":\"Tire o reciba los datos:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Calidad\",\"i9d+3B\":\"Cámara Raspberry Pi\",\"tbXj/A\":\"Control de la tasa\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"Parámetros rav1e\",\"6PpdQP\":\"Leer la entrada a velocidad nativa\",\"bqsSkO\":\"Modo de recepción\",\"gcoiFh\":\"Conecte de nuevo\",\"lakzvL\":\"Retraso de reconexión (segundos)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Reconexión en \",[\"0\"],\"s\"],\"uSDaLA\":[\"La reconexión con Restreamer Core ha fallado durante los últimos \",[\"RETRIES\"],\" segundos.\"],\"N7ojfh\":\"Ha fallado la reconexión con Restreamer Core.\",\"lCF0wC\":\"Actualización\",\"uJ+Ve2\":\"Región\",\"CNipTv\":\"Registrar usuario\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Recargar\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Eliminar las entradas más antiguas si el /memfs está lleno\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Requiere activación\",\"XMbkus\":\"Restablecer el logotipo\",\"36SXzE\":\"Reiniciar cartel\",\"6z9W13\":\"Reinicie\",\"dKwnjv\":\"Es necesario reiniciar\",\"0Er6+M\":\"Reiniciando\",\"X1sT1j\":\"Reiniciando el núcleo de Restreamer ...\",\"o5q6jb\":\"El reinicio de la aplicación ha fallado.\",\"x8cAsq\":\"Instrucciones del Restreamer\",\"24fLVm\":\"Servicio de resemantización\",\"LCGjV4\":\"Recuperación de los datos del flujo ...\",\"6gRgw8\":\"Reintentar\",\"Qe1vaN\":\"Patrón de prueba RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Girar\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplicación RTMP para la publicación.\",\"7ggERB\":\"Salida RTMP\",\"V82lE+\":\"Puerto RTMP\",\"itARjB\":\"Servidor RTMP\",\"WWZqzz\":\"El servidor RTMP no está habilitado\",\"HhOPCL\":\"Dirección de escucha del servidor RTMP.\",\"DbHOhO\":\"Token RTMP para publicar y reproducir. El token es el valor del parámetro de consulta URL 'token'.\",\"OAZeFE\":\"Puerto RTMPS\",\"Wt/wFL\":\"Servidor RTMPS\",\"xwonDv\":\"Dirección de escucha del servidor RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regla\",\"HneYgw\":\"Muestreo\",\"tfDRzk\":\"Guarde\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Escala\",\"6aaceW\":\"Tamaño de la escala\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Segundos para mantener los archivos en la caché.\",\"geM4Wc\":\"Segundos hasta que se reinicie un proceso.\",\"iF7dnC\":\"Segundos hasta que se termina un proceso estancado.\",\"mydmGn\":\"Segundos hasta que se actualiza la instantánea/imagen de la fuente de vídeo.\",\"a3LDKx\":\"Seguridad\",\"Gkr6zI\":\"Ficha de seguridad\",\"/Ocrtf\":\"Color de la barra de herramientas\",\"4lDlYf\":\"Duración del segmento (segundos)\",\"XfNrg+\":\"El segmento se cortará en el siguiente fotograma clave una vez transcurrido este tiempo. Se recomienda 2.\",\"jHCoDy\":\"Segmentación\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Seleccione un dispositivo:\",\"O+ruJ3\":\"Seleccione la fuente de audio:\",\"6MTTpq\":\"Seleccione RTMP o SRT (si está activado) para una menor latencia.\",\"E7haRr\":\"Seleccione la fuente ...\",\"PlZ1aw\":\"Seleccione la fuente de vídeo:\",\"YYlcWm\":\"Seleccione si extrae el flujo de una <0>fuente de red (como una cámara de red) o del <1>servidor RTMP interno (por ejemplo, los flujos OBS al Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Seleccione su configuración de codificación:\",\"aT3o8A\":\"Seleccione la configuración del filtro (opcional):\",\"ylXj1N\":\"Seleccionado\",\"kYpw4+\":\"Canal seleccionado\",\"p7/fS2\":\"Selección\",\"SOePwi\":\"Enviar métricas anónimas (nos ayuda para el desarrollo futuro)\",\"kOhBl+\":\"Enviar flujo a dirección ...\",\"E1X5xY\":\"Envíe la corriente a esta dirección:\",\"d/IMf3\":\"Enviar vídeo a Framebuffer\",\"sGH11W\":\"Servidor\",\"9rG25a\":\"URL del servidor\",\"T3bXxK\":\"Servicio\",\"KPPdUO\":\"Nombre del servicio\",\"DOrSw/\":\"Ficha de servicio para la supervisión.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sesiones\",\"xwK3ty\":\"Establece la configuración de rav1e mediante una lista :-separada de parámetros clave=valor.\",\"FIIk8R\":\"Establece un límite de ancho de banda en Mbit por segundo para la transferencia de datos HLS salientes. Todos los servicios, como el RTMP y los procesos salientes, se incluyen en el cálculo. Si se supera el ancho de banda, los espectadores HLS reciben el código de estado HTTP 509 (Límite de ancho de banda superado). 0 es ilimitado.\",\"cOG/FK\":\"Establece un límite de espectadores para las sesiones HLS. Si se supera el límite, los espectadores HLS reciben el código de estado HTTP 509 (Límite de ancho de banda superado). 0 es ilimitado.\",\"mcJFKm\":\"Ajuste para la conexión al servicio.\",\"Tz0i8g\":\"Ajustes\",\"IiOZ6R\":\"Ajustes (modo experto)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Configuración de la ruta /data. El acceso está protegido por\",\"Ytdvyh\":\"Configuración de la ruta /memfs.\",\"1w3lYe\":\"Ajustes guardados. Todos los cambios se aplicarán después de reiniciar la aplicación.\",\"XUw3i9\":\"Botón de compartir\",\"oD0Oes\":\"Muestra una referencia al proyecto.\",\"+vv4q2\":\"Inscríbase (gratis)\",\"JXVFAm\":\"Silencio\",\"VSK9FJ\":\"Silencio Audio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nombre del sitio\",\"Cj2Gtd\":\"Tamaño\",\"yTZe+y\":\"Instantánea\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Tiempo de espera del zócalo (microsegundos)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Fuente\",\"sywlQb\":\"Fuente y codificación\",\"l9wI00\":\"Velocidad\",\"vdhBFK\":\"Velocidad preestablecida\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Salida de SRT\",\"YqnAto\":\"Servidor SRT\",\"k6hpqB\":\"El servidor SRT no está habilitado\",\"SzqwHY\":\"Dirección de escucha del servidor SRT.\",\"KwbjpB\":\"Token SRT para publicar y reproducir. El token es el valor del parámetro streamid 'token'.\",\"Aj28wT\":\"Tiempo de espera (segundos)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Estadísticas\",\"BrrIs8\":\"Almacenamiento\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Almacena las estadísticas del visor en el disco.\",\"hou0tP\":\"Corriente\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Clave de flujo\",\"bqiH5R\":\"Clave de flujo\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nombre de la corriente\",\"eXELiS\":\"Nombres de los arroyos\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Fuente de flujo para el servicio de publicación (experimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL de la corriente\",\"+fVH0Y\":\"Apoyo a datarhei Restreamer\",\"5HSoct\":\"Soporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT y más.\",\"D+NlUC\":\"Sistema\",\"jkuW2z\":\"Dirección de destino\",\"/K2CvV\":\"Plantilla\",\"2Ivkf/\":\"Plantilla que se utilizará para crear la página web de la publicación. El botón de borrar elimina la selección del sistema.\",\"4Y5H+g\":\"Términos\",\"tRNH6x\":\"Patrón de prueba\",\"EtlVOt\":\"Patrón de prueba (ampliado)\",\"wGPolR\":\"Colores del texto\",\"m0TUJj\":\"La amplitud (0,0 - 1,0) del flujo de audio generado\",\"8C6xwe\":\"La aplicación está utilizando una versión antigua de la configuración.\",\"VPQVR2\":\"El binario disponible de FFmpeg no soporta ninguno de los protocolos requeridos.\",\"Gx9PPK\":\"La tasa de bits del flujo de audio.\",\"T2kk3f\":\"La frecuencia de la portadora\",\"JAOLK8\":[\"El canal \\\"\",[\"0\"],\"\\\" no pudo ser borrado\"],\"jNaBhy\":[\"El canal \\\"\",[\"0\"],\"\\\" ha sido borrado\"],\"SD8pYJ\":\"La eliminación de este canal no se puede recuperar. Todas las publicaciones de este canal serán eliminadas.\",\"bnkV//\":\"El perfil de entrada no está completo. Por favor, defina una fuente de vídeo y audio.\",\"wCYjmB\":\"El perfil de entrada no está completo. Por favor, defina una fuente de vídeo y/o audio.\",\"JMaqWu\":\"La disposición del flujo de audio.\",\"0dqo+p\":\"El número máximo de segmentos de la lista de reproducción. El 0 contendrá todos los segmentos. Se recomienda 6.\",\"BDgbiW\":\"El color del ruido\",\"SxGu7I\":\"La persona que asoció una obra con esta escritura ha dedicado la obra al dominio público renunciando a todos sus derechos sobre la obra en todo el mundo bajo la ley de derechos de autor, incluyendo todos los derechos conexos y vecinos, en la medida permitida por la ley. Puede copiar, modificar, distribuir y representar la obra, incluso con fines comerciales, todo ello sin pedir permiso.\",\"XISvrq\":\"El nombre de dominio público alcanzable del host en el que se ejecuta este Restreamer. Separe los nombres de dominio múltiples con una coma.\",\"yt3d3G\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" no ha podido ser eliminado\"],\"zYcO/c\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" ha sido creado\"],\"AQE+oz\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" ha sido eliminado\"],\"qVLWvp\":\"Se ha creado el servicio de publicación\",\"njj2Wn\":\"La salida RTMP requiere el Servidor RTMP.\",\"WRxiP8\":\"La frecuencia de muestreo del flujo de audio.\",\"/pZjRr\":\"El archivo seleccionado es demasiado grande (<0/>). Sólo se permiten <1/>.\",\"VBaSn9\":[\"El tipo de archivo seleccionado (\",[\"0\"],\") no está permitido. Los tipos de archivo permitidos son \",[\"1\"]],\"fM410X\":[\"Los ajustes de \\\"\",[\"0\"],\"\\\" se han guardado\"],\"02ii2e\":\"La fuente no proporciona ningún flujo de audio.\",\"+2cAEU\":\"La fuente no proporciona ningún flujo de audio. Por favor, compruebe los <0>detalles de la sonda.\",\"pfqmY7\":\"La fuente no proporciona ningún flujo de audio compatible.\",\"VO9KeK\":\"La fuente no proporciona ningún flujo de vídeo compatible. Por favor, compruebe los <0>requisitos.\",\"007foU\":\"La fuente no proporciona ningún flujo de vídeo. Por favor, compruebe los <0>detalles de la sonda.\",\"lAsMdV\":\"La fuente no proporciona ningún flujo de vídeo. Por favor, compruebe el dispositivo.\",\"XlnvcR\":\"La salida de SRT requiere el Servidor SRT.\",\"w6uuIE\":\"La fuente de vídeo no proporciona ningún flujo de audio compatible. Se recomienda <0>Audio silencioso. Los servicios, como YouTube, Facebook y otros, requieren un canal de audio.\",\"YJJ2RL\":\"La fuente de vídeo es compatible. Seleccione la resolución deseada:\",\"wEiZHy\":\"Hay actualizaciones disponibles. Aquí tiene más información.\",\"4p1MgS\":\"Hubo un problema al guardar los ajustes. Los ajustes no se han guardado.\",\"YJhhwT\":[\"Se ha producido un error de conexión con Restreamer Core en \",[\"0\"],\".\"],\"q42VsF\":[\"Ha habido un error durante la carga: \",[\"0\"]],\"HM96PJ\":\"Hubo un error al configurar el flujo.\",\"LoDP+Y\":\"Hubo algunos errores en la configuración. Los ajustes no se han guardado.\",\"l92ZKN\":\"No hay ningún método de inicio de sesión disponible.\",\"cPKuc8\":\"Este es un servicio ficticio que le explica los conceptos del servicio.\",\"Ku8nyu\":\"Esto no es necesariamente un error. Sin embargo, es posible que Restreamer Core tarde un poco más en reiniciarse..\",\"vCRP3w\":\"Se trata de mencionar las normas de derechos de autor para el objetivo de este servicio.\",\"Hx7k3c\":\"Esta licencia permite a los reutilizadores copiar y distribuir el material en cualquier medio o formato sólo en forma no adaptada y siempre que se dé la atribución al creador. La licencia permite el uso comercial.\",\"6OeMYB\":\"Esta licencia permite a los reutilizadores copiar y distribuir el material en cualquier medio o formato en forma no adaptada, sólo para fines no comerciales y siempre que se dé la atribución al creador.\",\"TUuhsB\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir a partir del material en cualquier medio o formato sólo con fines no comerciales y siempre que se cite al creador.\",\"kVtKRl\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir a partir del material en cualquier medio o formato sólo con fines no comerciales y siempre que se cite al creador. Si usted remezcla, adapta o construye sobre el material, debe licenciar el material modificado bajo idénticos términos.\",\"FpX5mp\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material en cualquier medio o formato, siempre y cuando se dé la atribución al creador. La licencia permite el uso comercial.\",\"SDvwLd\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material en cualquier medio o formato, siempre y cuando se dé la atribución al creador. La licencia permite el uso comercial. Si usted remezcla, adapta o construye sobre el material, debe licenciar el material modificado bajo idénticos términos.\",\"H144rX\":\"Este protocolo es desconocido o no está soportado por el binario disponible de FFmpeg.\",\"nlOxxw\":\"Esta fuente no puede ser editada mientras esté en uso. Para continuar, tiene que desconectar la fuente.\",\"mbSyrG\":[\"Esta versión de la UI no es compatible con el binario FFmpeg disponible (\",[\"0\"],\"). La UI requiere \",[\"1\"],\". Por favor, utilice un binario FFmpeg compatible.\"],\"N/tTgz\":[\"Esta versión de la interfaz de usuario no es compatible con el núcleo conectado (\",[\"0\"],\"). La UI requiere \",[\"1\"],\". Por favor, utilice una versión compatible de la UI.\"],\"2Vq5tr\":\"Esta versión de la interfaz de usuario es compatible.\",\"QxX9Z5\":\"Umbral (segundos)\",\"sNmspt\":\"Columnas de azulejos\",\"sYGp2E\":\"Hileras de baldosas\",\"wbOpwP\":\"Azulejos\",\"H59P7E\":\"Tiempo que transcurre hasta que una conexión de visor inactiva es tratada como cerrada.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Para estabilizar el sistema, aumente la longitud del segmento HLS para el intervalo de fotogramas clave en 2-3 * (Procesamiento y Control).\",\"TP9/K5\":\"Ficha\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Campo superior\",\"7mjsuh\":\"Transmitir un Livestream a un canal de Telegram.\",\"Gxlq7L\":\"Transmita instantáneas de la fuente principal a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"SdyhUl\":\"Transmite el canal de audio de la fuente principal a un servidor Icecast. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"MayU3b\":\"Transmita la fuente principal como HTTP-Live-Streaming (HLS) a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"3K8kpL\":\"Transmita la fuente principal como MPEG-DASH a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"P/J230\":\"Transmitir la fuente principal a un Servicio Live de Brightcove. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"u0MhFy\":\"Transmita la fuente principal a un servicio RTMP de CDN77. Más información sobre la configuración <0>aquí.\",\"zkgT7c\":\"Transmita la fuente principal a un servicio RTMP de DaCast. Más información sobre la configuración <0>aquí.\",\"in9xJz\":\"Transmitir la fuente principal a un datarhei Core Ressource. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"PcgwEU\":\"Transmita la fuente principal a una fuente de livespotting.com. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"D7jwpf\":\"Transmita la fuente principal a un servicio MPEG-TS. Puede encontrar más detalles sobre los ajustes aquí <0>aquí.\",\"SpSgUV\":\"Transmita la fuente principal a un servidor Red5/Pro. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"lIpqI/\":\"Transmita la fuente principal a un servidor RTMP(e|s|t|te|ts). Puede encontrar más detalles sobre la configuración <0>aquí.\",\"pqR6nq\":\"Transmita la fuente principal a un servidor RTSP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Q4dSnZ\":\"Transmita la fuente principal a un servidor SRT. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"fx9S4p\":\"Transmita la fuente principal a un servidor UDP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"GLXY2N\":\"Transmita la fuente principal a un servidor WOWZA. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"AsMKFi\":\"Transmita la fuente principal a los Servicios de Medios en Vivo de Akamai (MSL). Puede encontrar más detalles sobre la configuración del codificador MSL en <0>aquí.\",\"FB364G\":\"Transmite la fuente principal al Servicio RTMP de Livepush. Puede encontrar más detalles sobre la configuración <0>aquí.\",\"CC9yS5\":\"Transmite la fuente principal al Servicio RTMP de Nimo TV. Puede encontrar más detalles sobre la configuración <0>aquí.\",\"fP8ZYg\":\"Transmite la fuente principal al Servicio RTMP de Picarto TV. Puede encontrar más detalles sobre la configuración <0>aquí.\",\"D9A0LK\":\"Transmita la fuente principal al servicio Restream RTMP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"YL800g\":\"Transmitir a un servicio de medios Azure. Puede encontrar más detalles <0>aquí.\",\"Abgy4c\":\"Transmitir a LinkedIn. Puede encontrar más detalles <0>aquí.\",\"dhCZoS\":\"Transmita su Livestream a un servicio RTMP de Dailymotion. <0>Aquí puede encontrar más detalles sobre la configuración.\",\"tQNclD\":\"Transmita su Livestream a un servicio RTMP de Kick.com. <0>Aquí puedes encontrar más detalles sobre la configuración.\",\"mQ0sjr\":\"Transmita su Livestream a un servidor Owncast. <0>Aquí puedes encontrar más detalles sobre la configuración.\",\"AqYRa3\":\"Transmite tu Livestream a un servicio Rumble RTMP. <0>Aquí puedes encontrar más detalles sobre la configuración.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmite su flujo de vídeo con la clave requerida, generada en Twitter Producer. Puede encontrar más información sobre la configuración de una transmisión en directo en <0>Productor de Twitter.\",\"ADKef2\":\"Sintonice\",\"8jwViA\":\"Transporte UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"No se puede cargar la configuración.\",\"MWrgON\":\"Identificación única en el servicio.\",\"Ef7StM\":\"Desconocido\",\"wiIpKZ\":\"Error de carga desconocido\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"No seleccionado\",\"j9zg7e\":\"Detalles de la actualización (Changelog)\",\"ONWvwQ\":\"Subir a\",\"OXItQT\":[\"Sube un archivo de audio (\",[\"0\"],\") para reproducirlo en bucle.\"],\"75yxb7\":[\"Cargue un archivo de imagen o vídeo (\",[\"0\"],\") para ponerlo en bucle.\"],\"iAkPTY\":\"La carga del archivo ha fallado\",\"Jmy6pK\":\"Falló la carga del logotipo\",\"xl1xFp\":\"Error al cargar el cartel\",\"TjrbDj\":\"Tiempo de funcionamiento\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Utilice Auth0 para su núcleo Restreamer en funcionamiento. Más <0>detalles.\",\"JX4TqK\":\"Utilice el asistente (<0/>) para una configuración rápida y sencilla, o edite (<1/>) las fuentes directamente en el modo personalizado.\",\"YYTBz0\":\"Utilice los derechos de autor y elija la licencia de imagen correcta. Ya sea libre para todos o muy restringida. Comente brevemente lo que otros pueden hacer con su imagen.\",\"2UPEb1\":\"Utilice sus derechos de autor y elija la licencia de imagen adecuada. Ya sea libre para todos o muy restringida. Comente brevemente lo que otros pueden hacer con su imagen.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Registro de usuarios\",\"7sNhEz\":\"Nombre de usuario\",\"Gv3pbp\":\"Nombre de usuario para la autorización.\",\"RQSvXZ\":\"Nombre de usuario del dispositivo.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M es experimental.\",\"PvM7Yi\":\"Velocidad de fotogramas variable (VFR)\",\"hpBTpL\":\"terciopelo\",\"uIAsxu\":\"Volteo vertical\",\"vSJd18\":\"Vídeo\",\"auaWhL\":\"Dispositivo de vídeo\",\"/skRGV\":\"Ajustes de vídeo\",\"EzOjvB\":\"Configuración del vídeo\",\"QcQXbU\":\"Fuente de vídeo\",\"M/TIv1\":\"Visor\",\"L2hKw+\":\"violeta\",\"hA6FFn\":\"Fuente virtual\",\"/cF7Rs\":\"Volumen\",\"/gnt8J\":\"ID DE LA VPU\",\"wRy4hg\":\"Recomendamos OpenMAX IL para Raspberry PI (3/4) con un sistema operativo de 32 bits.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Bienvenido a Restreamer v2, la solución para la publicación rápida y sencilla de vídeos. Gratis para uso privado y comercial. Más ayuda en los <0>docs.\",\"hJfWkA\":\"Qué preselección de velocidad utilizar.\",\"6Pz2IF\":\"Dónde almacenar la lista de reproducción HLS y los segmentos. Se recomienda el almacenamiento en memoria.\",\"aWHAbR\":\"blanco\",\"aFWU1n\":\"Anchura\",\"e0wV2Y\":\"Protección de la escritura\",\"l75CjT\":\"Sí\",\"WPUsOF\":\"No puede abortar el asistente porque al menos una entrada debe estar definida.\",\"qwY9F9\":\"Ha cambiado la configuración. Para que los cambios surtan efecto, tiene que reiniciar la aplicación. ¿Quiere reiniciar ahora?\",\"nxq2ni\":\"Tiene que volver a conectarse manualmente\",\"RM3CEc\":\"Tiene cambios sin guardar. Por favor, guárdelos antes de poder controlar el servicio de nuevo.\",\"/cg7qS\":\"Su flujo necesita ser codificado, pero no hay un codificador adecuado disponible.\",\"BwrOm6\":\"Su flujo debe ser codificado. Elija el codificador deseado:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Patrón de prueba YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Lista de compatibilidad\",\"TkRUk0\":\"<0>Mostrar detalles de la sonda\",\"tBy4Bb\":\"1. Cambie a la interfaz del Restreamer de destino.\",\"2JnpXL\":\"2. Cree un nuevo canal y seleccione el servidor RTMP o SRT.\",\"YidyJl\":\"3. Copie la URL y péguela en el campo \\\"Dirección de destino\\\".\",\"X1MZZp\":\"6 (+ garantizado para empezar con un fotograma clave)\",\"JVJkxU\":\"7 (+ formato MP4 fragmentado)\",\"ssjjFt\":\"Abortar\",\"uyJsf6\":\"Acerca de\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Añada\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Añada widgets y estilos externos al sitio de publicación. Puede encontrar algunos ejemplos en la página de ayuda.\",\"tsJWSj\":\"Añadir un nuevo canal\",\"PLTLdv\":\"Añadir publicación\",\"35l+l6\":[\"Añadir: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Dirección\",\"8M7jVn\":\"Dirección para la imagen de fondo.\",\"Vu9yiv\":\"Dirección de escucha para las peticiones HTTP.\",\"AQDW5r\":\"Dirección de escucha para las solicitudes HTTPS.\",\"tPrmjP\":\"Dirección:\",\"owt8Ow\":\"Ajuste los colores del sitio de publicación y el fondo a su gusto.\",\"uNXGDK\":\"Vigilancia avanzada\",\"VNgKZz\":\"Ajustes avanzados\",\"eiGNYb\":\"Configuración avanzada\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerta por correo electrónico\",\"N40H+G\":\"Todo\",\"Hw5q+W\":\"Todos los cuadros\",\"f2zxGk\":\"Todos los ajustes importantes del sistema.\",\"lle3bd\":\"Permitir todos los remitentes\",\"bgFbIB\":\"Permite contar el número de espectadores que tiene el flujo.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitud\",\"ngteek\":\"Una variable de entorno establece este valor.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Punto final de la API no encontrado. La configuración no se ha guardado.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplicación\",\"xnCC/2\":\"¿Está seguro de que quiere abortar el asistente?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Dispositivo de audio\",\"sYyYfE\":\"Dispositivo de audio\",\"2he4Ra\":\"Audio del dispositivo\",\"MvY15a\":\"Ajustes de audio\",\"NoLJ6g\":\"Configuración de audio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 no está disponible actualmente porque esta interfaz está cargada desde un origen inseguro.\",\"aKsflb\":\"Auth0 Inquilino\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Autorización\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Limpieza automática de todos los datos de los medios de comunicación\",\"jT50Rz\":\"Reproducción automática\",\"csDS2L\":\"Disponible\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Volver\",\"1KfyNL\":\"Colores de fondo\",\"23c2Uw\":\"Imagen de fondo\",\"r0bEmM\":\"Servidor de respaldo\",\"JFjQhH\":\"Flujo de reserva\",\"bkJ+QE\":\"URL de respaldo\",\"OlXThP\":\"Ancho de banda\",\"QYaaBO\":\"Control del ancho de banda\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Básico\",\"YR04fn\":\"Factor Bip\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Tipos de caché en bloque\",\"zOC7cT\":\"azul\",\"359XuU\":\"Campo inferior\",\"aC3kWW\":\"Describa brevemente lo que el público verá durante la transmisión en directo.\",\"SehDNd\":\"marrón\",\"Ptp9MF\":\"Color del botón\",\"Lp4WkO\":\"Por altura\",\"IeV/4P\":\"Por la anchura\",\"KxP5AO\":\"Caché para archivos en /data.\",\"qX8ffo\":\"Tiempo de caché (segundos)\",\"4dRAku\":\"Tipos de caché\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampón de captura\",\"aL2+1d\":\"Captura de clics\",\"EOfLfP\":\"Cursor de captura\",\"ieS3Wc\":[\"Canal \\\"\",[\"0\"],\"\\\" guardado\"],\"lfFsZ4\":\"Canales\",\"WMCwmR\":\"Compruebe las actualizaciones\",\"vM6kpc\":\"Compruebe los requisitos\",\"Wzgqhl\":\"Elija un flujo de vídeo\",\"JpTR0/\":\"Elija un flujo de audio\",\"BTNyrQ\":\"Elija un dispositivo de entrada ...\",\"f9QIui\":\"Elija un flujo de entrada ...\",\"/Y6zrN\":\"Elija entre CFR y VFR (Auto)\",\"gObOjh\":\"Elija el códec ...\",\"v7lrmU\":\"Elija al inquilino ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Cerrar\",\"r8NEPc\":\"Inyección de código\",\"BaUuhR\":\"Códec\",\"jZlrte\":\"Color\",\"sjVfrA\":\"Comando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Configurar\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Confirmar contraseña\",\"iSLIjg\":\"Conectar\",\"NL3Gev\":\"Dispositivo conectado\",\"ywAvGr\":\"Conectado desde <0/>\",\"lNg25t\":\"Conectando ...\",\"y6+BXa\":\"Conexión al núcleo de Restreamer ...\",\"Td5lm6\":\"La conexión con Restreamer Core ha fallado probablemente debido a la mezcla de contenidos.\",\"awE5Py\":\"Velocidad de fotogramas constante (CFR)\",\"DT0Af/\":\"Modo de cuantificador constante (-1 a 255).\",\"4b3oEV\":\"Contenido\",\"U34RbB\":\"Contenido URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Núcleos\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Límite de CPU (porcentaje)\",\"uW5tVo\":\"Límite de uso de CPU en porcentaje (0-100%), 0 para ilimitado.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"A medida ...\",\"kH80Lk\":\"Dispositivo de audio personalizado\",\"fW1XQD\":\"Índice de audio personalizado\",\"bzREp0\":\"Tasa de bits personalizada (kbit/s)\",\"w9oKek\":\"Inyección de código personalizado\",\"jYaP01\":\"Retraso personalizado\",\"2Gw+zZ\":\"Dispositivo personalizado\",\"WCXGNp\":\"Formato personalizado\",\"ZkpZ06\":\"Velocidad de fotogramas personalizada\",\"1OXCgh\":\"Configuración JSON personalizada para datarhei Core.\",\"kl56NX\":\"Intervalo de fotogramas clave personalizado\",\"prIqWa\":\"Diseño personalizado\",\"HSB43e\":\"Muestreo personalizado (Hz)\",\"Efe3BI\":\"Escala personalizada\",\"E/2KdS\":\"Tamaño personalizado\",\"Se794B\":\"Dispositivo de vídeo personalizado\",\"aqv915\":\"Índice de vídeo personalizado\",\"v8OlX8\":\"Datos copiados en el portapapeles\",\"J/VBax\":\"Color de la muerte\",\"d2TTfK\":\"Decibelios (dB)\",\"W034oz\":\"Decodificador\",\"ovBPCi\":\"Por defecto\",\"gFwPaj\":[\"Por defecto \",[\"0\"]],\"JQnkrI\":[\"Por defecto \",[\"0\"],\" (\",[\"1\"],\" segundos)\"],\"A7rne1\":\"Desentrelazado (bwdif)\",\"yLth2B\":\"Desentrelazado deint\",\"g3JmiG\":\"Modo de desentrelazado\",\"aro6lN\":\"Desentrelazar la paridad\",\"YeWQto\":\"Retraso\",\"qBC9g9\":\"Retraso (ms)\",\"cnGeoo\":\"Borrar\",\"ScK3zL\":\"La eliminación de un servicio de publicación no se puede revertir. La publicación se detiene inmediatamente.\",\"cEx3oI\":\"Modo de entrega\",\"Nu4oKW\":\"Descripción\",\"f8fH8W\":\"Diseño\",\"PEHQTf\":\"Dispositivo\",\"+K0AvT\":\"Desconectar\",\"miKA/E\":\"Desconectar y continuar\",\"5/pMTZ\":\"Desconectando...\",\"sPFHpI\":\"Disco\",\"qczNPP\":\"Caché de disco\",\"PUqOjv\":\"Almacenamiento en disco\",\"uTwT/l\":\"¿Realmente quiere reiniciar la aplicación ahora?\",\"FgxcNT\":[\"¿Quiere borrar \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"¿Desea eliminar \",[\"título\"],\"?\"],\"0p+Mpn\":[\"¿Quiere desconectar \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Docs\",\"TvY/XA\":\"Documentación\",\"jPtEhI\":\"Marcos Dup.\",\"diaSRH\":\"Cada campo\",\"u2SnNO\":\"Cada cuadro\",\"ePK91l\":\"Editar\",\"INCFjw\":\"Edite las fuentes de audio y vídeo para la transmisión en directo. Añada una descripción y establezca la licencia de contenido que desee.\",\"+7Wr2a\":[\"Editar: \",[\"título\"]],\"e3GLqI\":\"EDIT: Jugador\",\"dTPDyf\":\"EDIT: Página web de la publicación\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Envíe un correo electrónico a\",\"KKBlUU\":\"Incrustar\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Activar\",\"No9svk\":\"Habilitar un pitido periódico cada segundo con este valor multiplicado por la frecuencia portadora\",\"R7s0Th\":\"Habilitar el flujo de respaldo\",\"xA5zBY\":\"Habilitar las estadísticas de los nerds\",\"r0zP4o\":\"Habilitar ahora\",\"JwR989\":\"Habilitar el flujo primario\",\"blkDNw\":\"Habilitar el servidor RTMP ...\",\"FgEhO4\":\"Activar la transferencia de RTMPS\",\"uGvvxq\":\"Habilitar las instantáneas\",\"IuL64N\":\"Habilitar el servidor SRT ...\",\"NJsnxf\":\"Se recomienda encarecidamente habilitar la autorización. De lo contrario, cualquiera puede acceder a esta instancia.\",\"xwS6bX\":\"Se recomienda encarecidamente habilitar la autentificación básica. De lo contrario, cualquiera podría escribir datos en /memfs.\",\"0zaXWu\":\"Codificador\",\"o0XA5y\":\"Codificación\",\"q1srUM\":\"Codificación\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Introduzca un nombre para el nuevo canal.\",\"f7sXvi\":\"Introduzca la contraseña\",\"5QCNrf\":\"Introduzca la dirección de su fuente de red:\",\"WLnvCZ\":\"Introduzca el nombre de usuario\",\"ijwVVM\":\"Codificador de entropía\",\"SlfejT\":\"Error\",\"sHoMKO\":\"Error al copiar datos en el portapapeles\",\"TpqeIh\":[\"Error: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Amplía el área sobre la lista de canales (chat en vivo).\",\"IBJg8n\":\"Amplía el área bajo la descripción del canal (cuadros de comentarios).\",\"XeunlQ\":\"Modo experto\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Ampliar la lista de canales\",\"tG09kC\":\"Ampliar el contenido\",\"bPWJOj\":\"Ampliar el pie de página\",\"SeaRa5\":\"Ampliar la cabecera\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Fallo en la creación del servicio de publicación (\",[\"0\"],\")\"],\"yT6MEY\":\"Fallo en la creación de los archivos del sitio web de la publicación.\",\"FGdPhH\":\"No se ha podido sondear la fuente. Por favor, compruebe los <0>detalles de la sonda.\",\"DvfYM2\":[\"Fallo en la actualización de la ficha: \",[\"0\"]],\"J0Jclh\":\"Fallo al guardar los metadatos de ingesta\",\"RPXHsU\":\"Fallo en la detención del proceso\",\"AhS7uc\":\"Fallo al almacenar el ajuste del tamaño del reproductor.\",\"PcJRf4\":[\"Fallo en el almacenamiento del servicio de publicación (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Fallo en la actualización del proceso de ingesta (\",[\"0\"],\")\"],\"t1E1OU\":[\"Fallo en la actualización del proceso de ingesta de instantáneas (\",[\"0\"],\")\"],\"bssUbs\":\"Fallo en la actualización del reproductor\",\"4SzVSX\":\"No se ha podido actualizar el sitio de los jugadores\",\"H8gP5T\":\"No se ha podido verificar la fuente. Por favor, compruebe la dirección.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Ruta del archivo\",\"o7J4JM\":\"Filtro\",\"JmZ/+d\":\"Acabado\",\"k4A6IZ\":\"Tamaño fijo\",\"Xgkhyj\":\"Banderas\",\"+L0/av\":\"Para Javascripts.\",\"VBU6dD\":\"Para las hojas de estilo.\",\"XDTTEp\":\"Forzar la velocidad de entrada de fotogramas\",\"Y5YNoi\":\"Forzar fotogramas clave\",\"kI1qVD\":\"Formato\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Caída de cuadros\",\"lPICcX\":\"El marco se pasa (Passthrough)\",\"T8wPu0\":\"Buffer de imágenes\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Conversión de fotogramas (interpolación de fotogramas)\",\"xDfHbM\":\"Modo de velocidad de fotogramas\",\"4xNpe4\":\"Frecuencia (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"General\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"ID de Google Analytics\",\"S/8Noo\":\"Nombre del rastreador de Google Analytics\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Dispositivo de hardware\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Cabecera\",\"+670Zw\":\"Titular\",\"PFFhCT\":\"Altura\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Salida HLS\",\"oMxmoP\":\"Servidor HLS\",\"5/G5c1\":\"Estadística HLS para el almacenamiento en memoria\",\"wXoUQx\":\"Volteo horizontal\",\"8iPCh6\":\"Interfaz de Restreamer alojado\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP y HTTPS\",\"YmRLab\":\"Puerto HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Puerto HTTPS\",\"Ptrvx5\":\"Nombre legible para el ser humano en el servicio.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Si ha cambiado los puertos, puede ser que Restreamer Core ya se haya reiniciado, pero ahora está disponible en un puerto diferente.\",\"OQONQS\":\"Si ha habilitado Let's Encrypt TLS, puede tardar un poco en adquirir los certificados. Asegúrese de que Restreamer Core es accesible a través del puerto 80 desde Internet. Compruebe el registro de la consola de Restreamer Core.\",\"yWR5EY\":\"código iframe\",\"7ZKroD\":\"Ignorar los rangos de IP\",\"VyUuZb\":\"URL de la imagen\",\"5n8FKh\":\"Impresión\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Además del reproductor, el Restreamer ofrece una completa página de aterrizaje, con la que podrá presentar su transmisión en directo de forma fácil y rápida.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"En memoria\",\"EwM+sw\":\"Almacenamiento en memoria\",\"xmsVuq\":\"Incompatible\",\"exUN1j\":\"Heredar\",\"CDdi1R\":\"Inyectar 1\",\"MJlrvd\":\"Inyectar 2\",\"MppU96\":\"Inyectar 3\",\"zBVRQb\":\"Inyectar 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Flujo de entrada\",\"jnyWFc\":\"Dominio de la instancia\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervalo (segundos)\",\"C4WaV1\":\"Alerta de emisión\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervalo de fotogramas clave (segundos)\",\"rdU729\":\"Disposición\",\"Cpw3fU\":\"Certificación Let's Encrypt\",\"LgUs17\":\"Let's Encrypt requiere uno o más nombres de dominio público y un puerto 80/TCP accesible.\",\"oCHfGC\":\"Nivel\",\"eyLS1J\":\"Nivel de protocolo del sistema.\",\"iQmbPb\":\"Licencia\",\"mQImez\":\"El color de la vida\",\"6BDqha\":\"Límites\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Líneas\",\"yzF66j\":\"Enlace\",\"NBxw5Y\":\"Enlace, ratón\",\"xCrpEt\":\"Lista de extensiones de archivos que no se deben almacenar en caché (por ejemplo, \\\".m3u8\\\"), una por línea. Dejar vacío para ninguna.\",\"m2l8c3\":\"Lista de extensiones de archivos a almacenar en caché (por ejemplo, \\\".html\\\"), una por línea. Déjela vacía para almacenar en caché todos los tipos de archivos.\",\"QYw6tl\":\"Lista de rangos de IP en notación CIDR, por ejemplo, 127.0.0.1/32, que las estadísticas no registrarán -un rango de IP por línea. Déjelo vacío para registrar todas las sesiones.\",\"ELFO4F\":\"Tamaño de la lista (segmentos)\",\"D0Nwch\":\"Transmisión en directo al servicio RTMP de dlive Live.\",\"n2VKys\":\"Transmisión en directo al servicio RTMP de Facebook Live\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Transmisión en directo al servicio RTMP de la red de medios de comunicación.\",\"w9zSAv\":\"Transmisión en directo al servicio PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Transmisión en directo al servicio RTMP de Trovo Live.\",\"JJGagy\":\"Transmisión en directo al servicio RTMP de Twitch Live.\",\"4TnPVp\":\"Transmisión en directo al servicio Vimeo Live RTMP\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Identificación de la fuente de vida\",\"0aIqC4\":\"Nivel de registro\",\"x7PDL5\":\"Registro\",\"z0t9bb\":\"Acceda a\",\"+fL+Rj\":[\"El inicio de sesión ha fallado: \",[\"0\"]],\"4cd7gw\":\"El inicio de sesión ha fallado: No se han podido cargar los detalles de la API\",\"sNqu7k\":\"Autorización de inicio de sesión/JWT\",\"iG7KNr\":\"Logotipo\",\"nOhz3x\":\"Cierre de sesión\",\"DYX2fZ\":\"Bucle\",\"SzaPTL\":\"Normalización de la sonoridad\",\"QGvS9k\":\"Baja latencia (Buffer)\",\"GaV7al\":\"Canal principal\",\"Wsn0Uw\":\"Canal principal no encontrado\",\"tROIde\":\"Canal principal guardado\",\"nLVSux\":\"Canal de la página principal (index.html).\",\"rd3Pv7\":\"Fuente principal\",\"f4txA1\":\"Mantenedor:\",\"3iTz2L\":\"Hacer que el canal esté disponible como un flujo RTMP (experimental).\",\"mMiku6\":\"Hacer que el canal esté disponible como flujo SRT (experimental).\",\"6dZ9NS\":\"Marcos marcados\",\"iuA3xD\":\"Lista de reproducción maestra (aumenta la compatibilidad con el navegador/cliente)\",\"WBpxnA\":\"Tamaño máximo de caché permitido, 0 para ilimitado.\",\"NzaPGT\":\"Máximo de megabytes de RAM permitidos para /memfs, 0 para ilimitado.\",\"aaso5s\":\"Máximo de megabytes permitidos a consumir del disco duro. 0 para ilimitado.\",\"4hp5D2\":\"Ancho de banda máximo Mbit/s\",\"L+uBOR\":\"Retraso máximo en milisegundos.\",\"hkoCqq\":\"Tamaño máximo del archivo (Megabytes)\",\"i96JfZ\":\"Tamaño máximo del archivo a poner en la caché.\",\"Q9HspI\":\"Máxima historia de registro\",\"bS9ZHz\":\"Líneas de registro máximas\",\"6sayfE\":\"Tamaño máximo (Megabytes)\",\"09BWQO\":\"Tiempo máximo de inactividad del espectador (segundos)\",\"hW0DV1\":\"Máximos espectadores\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memoria\",\"KReOHe\":\"Límite de memoria (megabytes)\",\"fViWSz\":\"Límite de uso de memoria en megabytes, 0 para ilimitado.\",\"emJ6M7\":\"Meta información\",\"6GBt0m\":\"Metadatos\",\"SCcIsq\":[\"Mínimo \",[\"0\"],\", por defecto \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Moho\",\"QA/rur\":\"Más información sobre las licencias aquí\",\"fyGu1l\":\"Más información sobre el servicio\",\"yBsv2n\":\"Más información sobre los derechos de autor de Twitter <0>aquí.\",\"ZpfAc9\":\"Más información sobre los derechos de autor de YouTube <0>aquí.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Debe ser mayor que el tamaño máximo del archivo en la caché.\",\"gC9RIS\":\"Debe ser menor que el tamaño máximo de la caché.\",\"R7SsBE\":\"Silencio\",\"K0rCAk\":\"Silenciar un canal.\",\"Jv/kid\":\"Silencio a la izquierda\",\"FsCP6P\":\"Silencio a la derecha\",\"6YtxFj\":\"Nombre\",\"0ZkQqR\":\"Nombre para la plantilla. Si el nombre ya existe, se sobrescribirá.\",\"OR475H\":\"Red\",\"KZDcDr\":\"Fuente de la red\",\"hXzOVo\":\"Siguiente\",\"JZrXI6\":\"Siguiente: Audio\",\"kZFy+Q\":\"Siguiente: Configuración del vídeo\",\"1UzENP\":\"No\",\"p6Fxed\":\"Sin audio\",\"bIDO3H\":\"No hay flujo de audio disponible\",\"nn9C5B\":\"No hay dispositivo de entrada disponible\",\"dEwhMr\":\"No se ha detectado ninguna transmisión en directo. Por favor, compruebe el software que envía el flujo.\",\"1FJdZA\":\"No se ha seleccionado ninguna fuente\",\"3TfuWb\":\"No hay fuentes disponibles\",\"fiXA/y\":\"No se ha encontrado un codificador adecuado.\",\"acY4BT\":\"No se ha encontrado ningún filtro adecuado.\",\"/02FxK\":\"No hay vídeo\",\"AVWnC9\":\"No hay flujo de vídeo disponible\",\"wZ7CK3\":\"ID de nodo\",\"9J5l/O\":\"Ruido\",\"EdQY6l\":\"Ninguno\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notas\",\"/a9y2d\":\"Número de líneas de registro a conservar.\",\"ZD0urA\":\"Número de registros a mantener para cada proceso.\",\"Aia5w3\":\"Número de segundos que se permite sobrepasar los límites.\",\"1lZb7D\":\"Número de columnas de azulejos para codificar.\",\"InpHMl\":\"Número de fichas con las que se codifica.\",\"wnRD5D\":\"Número de filas de azulejos para codificar.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Un referente por línea, por ejemplo: http://www.example.com\",\"1TNIig\":\"Abrir\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Tampón de salida\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Frase de acceso\",\"Y+p0Tt\":\"Frase de paso para el cifrado SRT.\",\"fpQo1i\":\"La frase de acceso debe tener entre 10 y 79 caracteres\",\"3GZXaB\":\"El passthrough (copia) sólo debe desactivarse si es necesario. Cada codificación requiere recursos adicionales de la CPU/GPU.\",\"8ZsakT\":\"Contraseña\",\"b+AuuK\":\"Contraseña para la autorización.\",\"oREnCY\":\"Contraseña para el dispositivo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persistir las estadísticas de los espectadores\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Formato de píxeles\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Inicio\",\"Ejic1p\":\"Plataformas\",\"gtQk6c\":\"Reproducción\",\"vRayGs\":\"Jugador\",\"tWB9Gz\":\"Ajustes del jugador guardados\",\"GIxxiU\":\"URL del jugador\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Lista de reproducción\",\"luDqS5\":\"Versión de la lista de reproducción (M3U8). La versión 3 tiene la mejor compatibilidad con el navegador/cliente.\",\"84gH7g\":\"Por favor, compruebe el <0>registro del proceso\",\"OMpKNS\":\"Póngase en contacto con el operador del servicio y compruebe lo que ocurre.\",\"4lATxE\":\"Por favor, introduzca su dirección de correo electrónico para indicar que está de acuerdo con los términos de servicio de Let's Encrypt CA y para ser notificado en caso de problemas.\",\"bdMiXb\":\"Ponte en contacto con el operador del servicio y comprueba lo que ocurre.\",\"wPZBpR\":\"Por favor, seleccione un archivo para cargar.\",\"YcGRmx\":\"Por favor, utilice \\\"Passthrough (copia)\\\" si es posible. La codificación requiere recursos adicionales de la CPU/GPU.\",\"06qnxB\":\"Por favor, espere. Datos del flujo de la sonda ...\",\"FTIPkL\":\"Por favor, espere. Configurando el flujo ...\",\"hZ6znB\":\"Puerto\",\"p/78dY\":\"Posición\",\"d62Stt\":\"Póster\",\"PNap/Y\":\"URL de la imagen del cartel\",\"6o2Onc\":\"Preestablecido\",\"lxxyq5\":\"Corriente primaria\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Proceso\",\"DL/nrw\":\"Control de procesos\",\"fzYV2N\":\"Detalles del proceso\",\"zNVLia\":\"Informe del proceso\",\"PwMwvX\":\"Procesamiento y control\",\"vERlcd\":\"Perfil\",\"6+OdGi\":\"Protocolo\",\"hEksWI\":\"Protocolos\",\"aLZh9m\":\"Dominio público\",\"7lbVwY\":\"Servicio de publicación no encontrado\",\"ia1vIb\":\"Se guarda la configuración del sitio web de la publicación\",\"XHw75Y\":\"Publicaciones\",\"dsOSCf\":\"Modo de tirar\",\"lQQ/zA\":\"Tire o reciba los datos:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Calidad\",\"i9d+3B\":\"Cámara Raspberry Pi\",\"tbXj/A\":\"Control de la tasa\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"Parámetros rav1e\",\"6PpdQP\":\"Leer la entrada a velocidad nativa\",\"bqsSkO\":\"Modo de recepción\",\"gcoiFh\":\"Conecte de nuevo\",\"lakzvL\":\"Retraso de reconexión (segundos)\",\"HC1Dci\":[\"Reconexión en \",[\"0\"],\"s\"],\"uSDaLA\":[\"La reconexión con Restreamer Core ha fallado durante los últimos \",[\"RETRIES\"],\" segundos.\"],\"N7ojfh\":\"Ha fallado la reconexión con Restreamer Core.\",\"lCF0wC\":\"Actualización\",\"uJ+Ve2\":\"Región\",\"CNipTv\":\"Registrar usuario\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Recargar\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Eliminar las entradas más antiguas si el /memfs está lleno\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Requiere activación\",\"XMbkus\":\"Restablecer el logotipo\",\"36SXzE\":\"Reiniciar cartel\",\"6z9W13\":\"Reinicie\",\"dKwnjv\":\"Es necesario reiniciar\",\"0Er6+M\":\"Reiniciando\",\"X1sT1j\":\"Reiniciando el núcleo de Restreamer ...\",\"o5q6jb\":\"El reinicio de la aplicación ha fallado.\",\"x8cAsq\":\"Instrucciones del Restreamer\",\"24fLVm\":\"Servicio de resemantización\",\"LCGjV4\":\"Recuperación de los datos del flujo ...\",\"6gRgw8\":\"Reintentar\",\"Qe1vaN\":\"Patrón de prueba RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Girar\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplicación RTMP para la publicación.\",\"7ggERB\":\"Salida RTMP\",\"V82lE+\":\"Puerto RTMP\",\"itARjB\":\"Servidor RTMP\",\"WWZqzz\":\"El servidor RTMP no está habilitado\",\"HhOPCL\":\"Dirección de escucha del servidor RTMP.\",\"DbHOhO\":\"Token RTMP para publicar y reproducir. El token es el valor del parámetro de consulta URL 'token'.\",\"OAZeFE\":\"Puerto RTMPS\",\"Wt/wFL\":\"Servidor RTMPS\",\"xwonDv\":\"Dirección de escucha del servidor RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regla\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Muestreo\",\"tfDRzk\":\"Guarde\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Escala\",\"6aaceW\":\"Tamaño de la escala\",\"xbb037\":\"Segundos para mantener los archivos en la caché.\",\"geM4Wc\":\"Segundos hasta que se reinicie un proceso.\",\"iF7dnC\":\"Segundos hasta que se termina un proceso estancado.\",\"mydmGn\":\"Segundos hasta que se actualiza la instantánea/imagen de la fuente de vídeo.\",\"a3LDKx\":\"Seguridad\",\"Gkr6zI\":\"Ficha de seguridad\",\"/Ocrtf\":\"Color de la barra de herramientas\",\"4lDlYf\":\"Duración del segmento (segundos)\",\"XfNrg+\":\"El segmento se cortará en el siguiente fotograma clave una vez transcurrido este tiempo. Se recomienda 2.\",\"jHCoDy\":\"Segmentación\",\"htbsw4\":\"Seleccione un dispositivo:\",\"O+ruJ3\":\"Seleccione la fuente de audio:\",\"6MTTpq\":\"Seleccione RTMP o SRT (si está activado) para una menor latencia.\",\"E7haRr\":\"Seleccione la fuente ...\",\"PlZ1aw\":\"Seleccione la fuente de vídeo:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Seleccione su configuración de codificación:\",\"aT3o8A\":\"Seleccione la configuración del filtro (opcional):\",\"ylXj1N\":\"Seleccionado\",\"kYpw4+\":\"Canal seleccionado\",\"p7/fS2\":\"Selección\",\"SOePwi\":\"Enviar métricas anónimas (nos ayuda para el desarrollo futuro)\",\"kOhBl+\":\"Enviar flujo a dirección ...\",\"E1X5xY\":\"Envíe la corriente a esta dirección:\",\"d/IMf3\":\"Enviar vídeo a Framebuffer\",\"sGH11W\":\"Servidor\",\"9rG25a\":\"URL del servidor\",\"T3bXxK\":\"Servicio\",\"KPPdUO\":\"Nombre del servicio\",\"DOrSw/\":\"Ficha de servicio para la supervisión.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sesiones\",\"xwK3ty\":\"Establece la configuración de rav1e mediante una lista :-separada de parámetros clave=valor.\",\"FIIk8R\":\"Establece un límite de ancho de banda en Mbit por segundo para la transferencia de datos HLS salientes. Todos los servicios, como el RTMP y los procesos salientes, se incluyen en el cálculo. Si se supera el ancho de banda, los espectadores HLS reciben el código de estado HTTP 509 (Límite de ancho de banda superado). 0 es ilimitado.\",\"cOG/FK\":\"Establece un límite de espectadores para las sesiones HLS. Si se supera el límite, los espectadores HLS reciben el código de estado HTTP 509 (Límite de ancho de banda superado). 0 es ilimitado.\",\"mcJFKm\":\"Ajuste para la conexión al servicio.\",\"Tz0i8g\":\"Ajustes\",\"IiOZ6R\":\"Ajustes (modo experto)\",\"t64OSP\":\"Configuración de la ruta /data. El acceso está protegido por\",\"Ytdvyh\":\"Configuración de la ruta /memfs.\",\"1w3lYe\":\"Ajustes guardados. Todos los cambios se aplicarán después de reiniciar la aplicación.\",\"XUw3i9\":\"Botón de compartir\",\"oD0Oes\":\"Muestra una referencia al proyecto.\",\"+vv4q2\":\"Inscríbase (gratis)\",\"JXVFAm\":\"Silencio\",\"VSK9FJ\":\"Silencio Audio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nombre del sitio\",\"Cj2Gtd\":\"Tamaño\",\"yTZe+y\":\"Instantánea\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Tiempo de espera del zócalo (microsegundos)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Fuente\",\"sywlQb\":\"Fuente y codificación\",\"l9wI00\":\"Velocidad\",\"vdhBFK\":\"Velocidad preestablecida\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Salida de SRT\",\"YqnAto\":\"Servidor SRT\",\"k6hpqB\":\"El servidor SRT no está habilitado\",\"SzqwHY\":\"Dirección de escucha del servidor SRT.\",\"KwbjpB\":\"Token SRT para publicar y reproducir. El token es el valor del parámetro streamid 'token'.\",\"Aj28wT\":\"Tiempo de espera (segundos)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Estadísticas\",\"BrrIs8\":\"Almacenamiento\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Almacena las estadísticas del visor en el disco.\",\"hou0tP\":\"Corriente\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Clave de flujo\",\"bqiH5R\":\"Clave de flujo\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nombre de la corriente\",\"eXELiS\":\"Nombres de los arroyos\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Fuente de flujo para el servicio de publicación (experimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL de la corriente\",\"+fVH0Y\":\"Apoyo a datarhei Restreamer\",\"5HSoct\":\"Soporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT y más.\",\"D+NlUC\":\"Sistema\",\"jkuW2z\":\"Dirección de destino\",\"/K2CvV\":\"Plantilla\",\"2Ivkf/\":\"Plantilla que se utilizará para crear la página web de la publicación. El botón de borrar elimina la selección del sistema.\",\"4Y5H+g\":\"Términos\",\"tRNH6x\":\"Patrón de prueba\",\"EtlVOt\":\"Patrón de prueba (ampliado)\",\"wGPolR\":\"Colores del texto\",\"m0TUJj\":\"La amplitud (0,0 - 1,0) del flujo de audio generado\",\"8C6xwe\":\"La aplicación está utilizando una versión antigua de la configuración.\",\"VPQVR2\":\"El binario disponible de FFmpeg no soporta ninguno de los protocolos requeridos.\",\"Gx9PPK\":\"La tasa de bits del flujo de audio.\",\"T2kk3f\":\"La frecuencia de la portadora\",\"JAOLK8\":[\"El canal \\\"\",[\"0\"],\"\\\" no pudo ser borrado\"],\"jNaBhy\":[\"El canal \\\"\",[\"0\"],\"\\\" ha sido borrado\"],\"SD8pYJ\":\"La eliminación de este canal no se puede recuperar. Todas las publicaciones de este canal serán eliminadas.\",\"bnkV//\":\"El perfil de entrada no está completo. Por favor, defina una fuente de vídeo y audio.\",\"wCYjmB\":\"El perfil de entrada no está completo. Por favor, defina una fuente de vídeo y/o audio.\",\"JMaqWu\":\"La disposición del flujo de audio.\",\"0dqo+p\":\"El número máximo de segmentos de la lista de reproducción. El 0 contendrá todos los segmentos. Se recomienda 6.\",\"BDgbiW\":\"El color del ruido\",\"SxGu7I\":\"La persona que asoció una obra con esta escritura ha dedicado la obra al dominio público renunciando a todos sus derechos sobre la obra en todo el mundo bajo la ley de derechos de autor, incluyendo todos los derechos conexos y vecinos, en la medida permitida por la ley. Puede copiar, modificar, distribuir y representar la obra, incluso con fines comerciales, todo ello sin pedir permiso.\",\"XISvrq\":\"El nombre de dominio público alcanzable del host en el que se ejecuta este Restreamer. Separe los nombres de dominio múltiples con una coma.\",\"yt3d3G\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" no ha podido ser eliminado\"],\"zYcO/c\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" ha sido creado\"],\"AQE+oz\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" ha sido eliminado\"],\"qVLWvp\":\"Se ha creado el servicio de publicación\",\"njj2Wn\":\"La salida RTMP requiere el Servidor RTMP.\",\"WRxiP8\":\"La frecuencia de muestreo del flujo de audio.\",\"/pZjRr\":\"El archivo seleccionado es demasiado grande (<0/>). Sólo se permiten <1/>.\",\"VBaSn9\":[\"El tipo de archivo seleccionado (\",[\"0\"],\") no está permitido. Los tipos de archivo permitidos son \",[\"1\"]],\"fM410X\":[\"Los ajustes de \\\"\",[\"0\"],\"\\\" se han guardado\"],\"02ii2e\":\"La fuente no proporciona ningún flujo de audio.\",\"+2cAEU\":\"La fuente no proporciona ningún flujo de audio. Por favor, compruebe los <0>detalles de la sonda.\",\"pfqmY7\":\"La fuente no proporciona ningún flujo de audio compatible.\",\"VO9KeK\":\"La fuente no proporciona ningún flujo de vídeo compatible. Por favor, compruebe los <0>requisitos.\",\"007foU\":\"La fuente no proporciona ningún flujo de vídeo. Por favor, compruebe los <0>detalles de la sonda.\",\"lAsMdV\":\"La fuente no proporciona ningún flujo de vídeo. Por favor, compruebe el dispositivo.\",\"XlnvcR\":\"La salida de SRT requiere el Servidor SRT.\",\"w6uuIE\":\"La fuente de vídeo no proporciona ningún flujo de audio compatible. Se recomienda <0>Audio silencioso. Los servicios, como YouTube, Facebook y otros, requieren un canal de audio.\",\"YJJ2RL\":\"La fuente de vídeo es compatible. Seleccione la resolución deseada:\",\"wEiZHy\":\"Hay actualizaciones disponibles. Aquí tiene más información.\",\"4p1MgS\":\"Hubo un problema al guardar los ajustes. Los ajustes no se han guardado.\",\"YJhhwT\":[\"Se ha producido un error de conexión con Restreamer Core en \",[\"0\"],\".\"],\"q42VsF\":[\"Ha habido un error durante la carga: \",[\"0\"]],\"HM96PJ\":\"Hubo un error al configurar el flujo.\",\"LoDP+Y\":\"Hubo algunos errores en la configuración. Los ajustes no se han guardado.\",\"l92ZKN\":\"No hay ningún método de inicio de sesión disponible.\",\"cPKuc8\":\"Este es un servicio ficticio que le explica los conceptos del servicio.\",\"Ku8nyu\":\"Esto no es necesariamente un error. Sin embargo, es posible que Restreamer Core tarde un poco más en reiniciarse..\",\"vCRP3w\":\"Se trata de mencionar las normas de derechos de autor para el objetivo de este servicio.\",\"Hx7k3c\":\"Esta licencia permite a los reutilizadores copiar y distribuir el material en cualquier medio o formato sólo en forma no adaptada y siempre que se dé la atribución al creador. La licencia permite el uso comercial.\",\"6OeMYB\":\"Esta licencia permite a los reutilizadores copiar y distribuir el material en cualquier medio o formato en forma no adaptada, sólo para fines no comerciales y siempre que se dé la atribución al creador.\",\"TUuhsB\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir a partir del material en cualquier medio o formato sólo con fines no comerciales y siempre que se cite al creador.\",\"kVtKRl\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir a partir del material en cualquier medio o formato sólo con fines no comerciales y siempre que se cite al creador. Si usted remezcla, adapta o construye sobre el material, debe licenciar el material modificado bajo idénticos términos.\",\"FpX5mp\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material en cualquier medio o formato, siempre y cuando se dé la atribución al creador. La licencia permite el uso comercial.\",\"SDvwLd\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material en cualquier medio o formato, siempre y cuando se dé la atribución al creador. La licencia permite el uso comercial. Si usted remezcla, adapta o construye sobre el material, debe licenciar el material modificado bajo idénticos términos.\",\"H144rX\":\"Este protocolo es desconocido o no está soportado por el binario disponible de FFmpeg.\",\"nlOxxw\":\"Esta fuente no puede ser editada mientras esté en uso. Para continuar, tiene que desconectar la fuente.\",\"mbSyrG\":[\"Esta versión de la UI no es compatible con el binario FFmpeg disponible (\",[\"0\"],\"). La UI requiere \",[\"1\"],\". Por favor, utilice un binario FFmpeg compatible.\"],\"N/tTgz\":[\"Esta versión de la interfaz de usuario no es compatible con el núcleo conectado (\",[\"0\"],\"). La UI requiere \",[\"1\"],\". Por favor, utilice una versión compatible de la UI.\"],\"2Vq5tr\":\"Esta versión de la interfaz de usuario es compatible.\",\"QxX9Z5\":\"Umbral (segundos)\",\"sNmspt\":\"Columnas de azulejos\",\"sYGp2E\":\"Hileras de baldosas\",\"wbOpwP\":\"Azulejos\",\"H59P7E\":\"Tiempo que transcurre hasta que una conexión de visor inactiva es tratada como cerrada.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Para estabilizar el sistema, aumente la longitud del segmento HLS para el intervalo de fotogramas clave en 2-3 * (Procesamiento y Control).\",\"TP9/K5\":\"Ficha\",\"q+c+Fv\":\"Campo superior\",\"7mjsuh\":\"Transmitir un Livestream a un canal de Telegram.\",\"Gxlq7L\":\"Transmita instantáneas de la fuente principal a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"SdyhUl\":\"Transmite el canal de audio de la fuente principal a un servidor Icecast. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"MayU3b\":\"Transmita la fuente principal como HTTP-Live-Streaming (HLS) a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"3K8kpL\":\"Transmita la fuente principal como MPEG-DASH a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"P/J230\":\"Transmitir la fuente principal a un Servicio Live de Brightcove. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"u0MhFy\":\"Transmita la fuente principal a un servicio RTMP de CDN77. Más información sobre la configuración <0>aquí.\",\"zkgT7c\":\"Transmita la fuente principal a un servicio RTMP de DaCast. Más información sobre la configuración <0>aquí.\",\"in9xJz\":\"Transmitir la fuente principal a un datarhei Core Ressource. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"PcgwEU\":\"Transmita la fuente principal a una fuente de livespotting.com. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"D7jwpf\":\"Transmita la fuente principal a un servicio MPEG-TS. Puede encontrar más detalles sobre los ajustes aquí <0>aquí.\",\"SpSgUV\":\"Transmita la fuente principal a un servidor Red5/Pro. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"lIpqI/\":\"Transmita la fuente principal a un servidor RTMP(e|s|t|te|ts). Puede encontrar más detalles sobre la configuración <0>aquí.\",\"pqR6nq\":\"Transmita la fuente principal a un servidor RTSP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Q4dSnZ\":\"Transmita la fuente principal a un servidor SRT. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"fx9S4p\":\"Transmita la fuente principal a un servidor UDP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"GLXY2N\":\"Transmita la fuente principal a un servidor WOWZA. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"AsMKFi\":\"Transmita la fuente principal a los Servicios de Medios en Vivo de Akamai (MSL). Puede encontrar más detalles sobre la configuración del codificador MSL en <0>aquí.\",\"FB364G\":\"Transmite la fuente principal al Servicio RTMP de Livepush. Puede encontrar más detalles sobre la configuración <0>aquí.\",\"CC9yS5\":\"Transmite la fuente principal al Servicio RTMP de Nimo TV. Puede encontrar más detalles sobre la configuración <0>aquí.\",\"fP8ZYg\":\"Transmite la fuente principal al Servicio RTMP de Picarto TV. Puede encontrar más detalles sobre la configuración <0>aquí.\",\"D9A0LK\":\"Transmita la fuente principal al servicio Restream RTMP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"YL800g\":\"Transmitir a un servicio de medios Azure. Puede encontrar más detalles <0>aquí.\",\"Abgy4c\":\"Transmitir a LinkedIn. Puede encontrar más detalles <0>aquí.\",\"dhCZoS\":\"Transmita su Livestream a un servicio RTMP de Dailymotion. <0>Aquí puede encontrar más detalles sobre la configuración.\",\"tQNclD\":\"Transmita su Livestream a un servicio RTMP de Kick.com. <0>Aquí puedes encontrar más detalles sobre la configuración.\",\"mQ0sjr\":\"Transmita su Livestream a un servidor Owncast. <0>Aquí puedes encontrar más detalles sobre la configuración.\",\"AqYRa3\":\"Transmite tu Livestream a un servicio Rumble RTMP. <0>Aquí puedes encontrar más detalles sobre la configuración.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmite su flujo de vídeo con la clave requerida, generada en Twitter Producer. Puede encontrar más información sobre la configuración de una transmisión en directo en <0>Productor de Twitter.\",\"ADKef2\":\"Sintonice\",\"8jwViA\":\"Transporte UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"No se puede cargar la configuración.\",\"MWrgON\":\"Identificación única en el servicio.\",\"Ef7StM\":\"Desconocido\",\"wiIpKZ\":\"Error de carga desconocido\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"No seleccionado\",\"j9zg7e\":\"Detalles de la actualización (Changelog)\",\"ONWvwQ\":\"Subir a\",\"OXItQT\":[\"Sube un archivo de audio (\",[\"0\"],\") para reproducirlo en bucle.\"],\"75yxb7\":[\"Cargue un archivo de imagen o vídeo (\",[\"0\"],\") para ponerlo en bucle.\"],\"iAkPTY\":\"La carga del archivo ha fallado\",\"Jmy6pK\":\"Falló la carga del logotipo\",\"xl1xFp\":\"Error al cargar el cartel\",\"TjrbDj\":\"Tiempo de funcionamiento\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Utilice Auth0 para su núcleo Restreamer en funcionamiento. Más <0>detalles.\",\"JX4TqK\":\"Utilice el asistente (<0/>) para una configuración rápida y sencilla, o edite (<1/>) las fuentes directamente en el modo personalizado.\",\"YYTBz0\":\"Utilice los derechos de autor y elija la licencia de imagen correcta. Ya sea libre para todos o muy restringida. Comente brevemente lo que otros pueden hacer con su imagen.\",\"2UPEb1\":\"Utilice sus derechos de autor y elija la licencia de imagen adecuada. Ya sea libre para todos o muy restringida. Comente brevemente lo que otros pueden hacer con su imagen.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Registro de usuarios\",\"7sNhEz\":\"Nombre de usuario\",\"Gv3pbp\":\"Nombre de usuario para la autorización.\",\"RQSvXZ\":\"Nombre de usuario del dispositivo.\",\"zze3B5\":\"V4L2_M2M es experimental.\",\"PvM7Yi\":\"Velocidad de fotogramas variable (VFR)\",\"hpBTpL\":\"terciopelo\",\"uIAsxu\":\"Volteo vertical\",\"vSJd18\":\"Vídeo\",\"auaWhL\":\"Dispositivo de vídeo\",\"/skRGV\":\"Ajustes de vídeo\",\"EzOjvB\":\"Configuración del vídeo\",\"QcQXbU\":\"Fuente de vídeo\",\"M/TIv1\":\"Visor\",\"L2hKw+\":\"violeta\",\"hA6FFn\":\"Fuente virtual\",\"/cF7Rs\":\"Volumen\",\"/gnt8J\":\"ID DE LA VPU\",\"wRy4hg\":\"Recomendamos OpenMAX IL para Raspberry PI (3/4) con un sistema operativo de 32 bits.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Bienvenido a Restreamer v2, la solución para la publicación rápida y sencilla de vídeos. Gratis para uso privado y comercial. Más ayuda en los <0>docs.\",\"hJfWkA\":\"Qué preselección de velocidad utilizar.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Dónde almacenar la lista de reproducción HLS y los segmentos. Se recomienda el almacenamiento en memoria.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"blanco\",\"aFWU1n\":\"Anchura\",\"e0wV2Y\":\"Protección de la escritura\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Sí\",\"WPUsOF\":\"No puede abortar el asistente porque al menos una entrada debe estar definida.\",\"qwY9F9\":\"Ha cambiado la configuración. Para que los cambios surtan efecto, tiene que reiniciar la aplicación. ¿Quiere reiniciar ahora?\",\"nxq2ni\":\"Tiene que volver a conectarse manualmente\",\"RM3CEc\":\"Tiene cambios sin guardar. Por favor, guárdelos antes de poder controlar el servicio de nuevo.\",\"/cg7qS\":\"Su flujo necesita ser codificado, pero no hay un codificador adecuado disponible.\",\"BwrOm6\":\"Su flujo debe ser codificado. Elija el codificador deseado:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Patrón de prueba YUV\"}")}; \ No newline at end of file diff --git a/src/locales/es/messages.po b/src/locales/es/messages.po index 5c5e0c4..eed1e24 100644 --- a/src/locales/es/messages.po +++ b/src/locales/es/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Lista de compatibilidad" msgid "<0>Show probe details" msgstr "<0>Mostrar detalles de la sonda" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Cambie a la interfaz del Restreamer de destino." @@ -76,11 +76,16 @@ msgstr "Abortar" msgid "About" msgstr "Acerca de" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Audio" @@ -302,10 +311,6 @@ msgstr "Autor" msgid "Authorization" msgstr "Autorización" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Reproducción automática" msgid "Available" msgstr "Disponible" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Tiempo de caché (segundos)" msgid "Cache types" msgstr "Tipos de caché" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Color" msgid "Command" msgstr "Comando" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Configurar" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Dispositivo conectado" msgid "Connected since <0/>" msgstr "Conectado desde <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Conectando ..." @@ -616,15 +618,19 @@ msgstr "Modo de cuantificador constante (-1 a 255)." msgid "Content" msgstr "Contenido" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "Contenido URL" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Límite de CPU (porcentaje)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Límite de uso de CPU en porcentaje (0-100%), 0 para ilimitado." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Modo de desentrelazado" msgid "Deinterlace parity" msgstr "Desentrelazar la paridad" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Retraso" @@ -851,14 +841,6 @@ msgstr "La eliminación de un servicio de publicación no se puede revertir. La msgid "Delivering mode" msgstr "Modo de entrega" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Desconectar" msgid "Disconnect & Continue" msgstr "Desconectar y continuar" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Jugador" msgid "EDIT: Publication Website" msgstr "EDIT: Página web de la publicación" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Envíe un correo electrónico a" msgid "Embed" msgstr "Incrustar" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Codificación" msgid "Encryption" msgstr "Codificación" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Introduzca un nombre para el nuevo canal." @@ -1101,12 +1099,12 @@ msgstr "Error" msgid "Error while copying data to clipboard" msgstr "Error al copiar datos en el portapapeles" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Error: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Ruta del archivo" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filtro" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "General" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "ID de Google Analytics" @@ -1353,24 +1351,21 @@ msgstr "ID de Google Analytics" msgid "Google Analytics Tracker Name" msgstr "Nombre del rastreador de Google Analytics" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Dispositivo de hardware" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Titular" msgid "Height" msgstr "Altura" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Estadística HLS para el almacenamiento en memoria" msgid "Horizontal Flip" msgstr "Volteo horizontal" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Interfaz de Restreamer alojado" @@ -1438,8 +1429,8 @@ msgstr "Puerto HTTPS" msgid "Human readable name on the service." msgstr "Nombre legible para el ser humano en el servicio." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Incompatible" msgid "Inherit" msgstr "Heredar" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Inyectar 1" @@ -1527,6 +1514,14 @@ msgstr "Inyectar 3" msgid "Inject 4" msgstr "Inyectar 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Intervalo de fotogramas clave (segundos)" msgid "Layout" msgstr "Disposición" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Certificación Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Transmisión en directo al servicio RTMP de Twitch Live." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Transmisión en directo al servicio Vimeo Live RTMP" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Identificación de la fuente de vida" @@ -1726,7 +1721,7 @@ msgstr "Normalización de la sonoridad" msgid "Low latency (Buffer)" msgstr "Baja latencia (Buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Canal principal" @@ -1848,6 +1843,10 @@ msgstr "Metadatos" msgid "Mininum {0}, default {1}" msgstr "Mínimo {0}, por defecto {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Moho" @@ -1870,7 +1869,7 @@ msgstr "Más información sobre los derechos de autor de Twitter <0>aquí." msgid "More about YouTube's copyright <0>here." msgstr "Más información sobre los derechos de autor de YouTube <0>aquí." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Sin audio" msgid "No audio stream available" msgstr "No hay flujo de audio disponible" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "No hay dispositivo de entrada disponible" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "No se ha detectado ninguna transmisión en directo. Por favor, compruebe el software que envía el flujo." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "No se ha seleccionado ninguna fuente" @@ -1989,7 +1972,7 @@ msgstr "No se ha encontrado un codificador adecuado." msgid "No suitable filter found." msgstr "No se ha encontrado ningún filtro adecuado." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "No hay vídeo" @@ -1998,10 +1981,6 @@ msgstr "No hay vídeo" msgid "No video stream available" msgstr "No hay flujo de vídeo disponible" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "ID de nodo" @@ -2052,10 +2031,6 @@ msgstr "Número de fichas con las que se codifica." msgid "Number of tiles rows to encode with." msgstr "Número de filas de azulejos para codificar." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Un referente por línea, por ejemplo: http://www.example.com" msgid "Open" msgstr "Abrir" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Tampón de salida" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Contraseña para el dispositivo." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Lista de reproducción" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Versión de la lista de reproducción (M3U8). La versión 3 tiene la mejor compatibilidad con el navegador/cliente." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Por favor, compruebe el <0>registro del proceso" @@ -2309,16 +2284,9 @@ msgstr "Preestablecido" msgid "Primary stream" msgstr "Corriente primaria" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Proceso" msgid "Process control" msgstr "Control de procesos" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Detalles del proceso" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protocolo" msgid "Protocols" msgstr "Protocolos" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Dominio público" @@ -2437,6 +2401,10 @@ msgstr "Modo de tirar" msgid "Pull or recieve the data:" msgstr "Tire o reciba los datos:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Conecte de nuevo" msgid "Reconnect delay (seconds)" msgstr "Retraso de reconexión (segundos)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Región" msgid "Register user" msgstr "Registrar usuario" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Eliminar las entradas más antiguas si el /memfs está lleno" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Instrucciones del Restreamer" msgid "Restreamer Service" msgstr "Servicio de resemantización" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Recuperación de los datos del flujo ..." @@ -2618,15 +2578,15 @@ msgstr "Reintentar" msgid "RGB test pattern" msgstr "Patrón de prueba RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Girar" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Regla" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Escala" msgid "Scale size" msgstr "Tamaño de la escala" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Segundos para mantener los archivos en la caché." @@ -2778,10 +2738,6 @@ msgstr "El segmento se cortará en el siguiente fotograma clave una vez transcur msgid "Segmentation" msgstr "Segmentación" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Seleccione la fuente ..." msgid "Select video source:" msgstr "Seleccione la fuente de vídeo:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Seleccione si extrae el flujo de una <0>fuente de red (como una cámara de red) o del <1>servidor RTMP interno (por ejemplo, los flujos OBS al Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Nombre del servicio" msgid "Service token for monitoring." msgstr "Ficha de servicio para la supervisión." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Ajustes" msgid "Settings (expert mode)" msgstr "Ajustes (modo experto)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Configuración de la ruta /data. El acceso está protegido por" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Tamaño" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Instantánea" @@ -3005,7 +2957,7 @@ msgstr "Velocidad" msgid "Speed Preset" msgstr "Velocidad preestablecida" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Azulejos" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Tiempo que transcurre hasta que una conexión de visor inactiva es tratada como cerrada." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Para estabilizar el sistema, aumente la longitud del segmento HLS para el intervalo de fotogramas clave en 2-3 * (Procesamiento y Control)." @@ -3477,18 +3413,6 @@ msgstr "Para estabilizar el sistema, aumente la longitud del segmento HLS para e msgid "Token" msgstr "Ficha" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Campo superior" @@ -3627,12 +3551,12 @@ msgstr "Sintonice" msgid "UDP transport" msgstr "Transporte UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Desconocido" msgid "Unknown upload error" msgstr "Error de carga desconocido" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Error al cargar el cartel" msgid "Uptime" msgstr "Tiempo de funcionamiento" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Utilice sus derechos de autor y elija la licencia de imagen adecuada. Ya msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Registro de usuarios" @@ -3773,10 +3693,6 @@ msgstr "Nombre de usuario para la autorización." msgid "Username for the device." msgstr "Nombre de usuario del dispositivo." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M es experimental." @@ -3850,10 +3766,10 @@ msgstr "ID DE LA VPU" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Recomendamos OpenMAX IL para Raspberry PI (3/4) con un sistema operativo de 32 bits." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Bienvenido a Restreamer v2, la solución para la publicación rápida y msgid "What speed preset to use." msgstr "Qué preselección de velocidad utilizar." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Dónde almacenar la lista de reproducción HLS y los segmentos. Se recomienda el almacenamiento en memoria." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "blanco" @@ -3881,6 +3809,10 @@ msgstr "Anchura" msgid "Write protection" msgstr "Protección de la escritura" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Sí" @@ -3893,7 +3825,7 @@ msgstr "No puede abortar el asistente porque al menos una entrada debe estar def msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Ha cambiado la configuración. Para que los cambios surtan efecto, tiene que reiniciar la aplicación. ¿Quiere reiniciar ahora?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Tiene que volver a conectarse manualmente" @@ -3910,14 +3842,6 @@ msgstr "Su flujo necesita ser codificado, pero no hay un codificador adecuado di msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Su flujo debe ser codificado. Elija el codificador deseado:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/fr/messages.js b/src/locales/fr/messages.js index 5d965a3..fb2e666 100644 --- a/src/locales/fr/messages.js +++ b/src/locales/fr/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Liste des compatibilités\",\"TkRUk0\":\"<0>Montrer les détails de la sonde.\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Passez à l'interface du Restreamer cible.\",\"2JnpXL\":\"2. Créez un nouveau canal et sélectionnez le serveur RTMP ou SRT.\",\"YidyJl\":\"3. Copiez l'URL et collez-la dans le champ \\\"Adresse cible\\\".\",\"X1MZZp\":\"6 (+ garantie de commencer par un Key frame)\",\"JVJkxU\":\"7 (+ format MP4 fragmenté)\",\"ssjjFt\":\"Abandonner\",\"uyJsf6\":\"À propos de\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Ajouter\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Ajoutez des widgets et des styles externes au site de publication. Vous pouvez trouver quelques exemples sur la page d'aide.\",\"tsJWSj\":\"Ajouter un nouveau canal\",\"PLTLdv\":\"Ajouter une publication\",\"35l+l6\":[\"Ajouter : \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adresse\",\"8M7jVn\":\"Adresse pour l'image de fond.\",\"Vu9yiv\":\"Adresse d'écoute pour les demandes HTTP.\",\"AQDW5r\":\"Adresse à écouter pour les demandes HTTPS.\",\"tPrmjP\":\"Adresse :\",\"owt8Ow\":\"Ajustez les couleurs et le fond du site de publication comme vous le souhaitez.\",\"uNXGDK\":\"Surveillance avancée\",\"VNgKZz\":\"Paramètres avancés\",\"eiGNYb\":\"Configuration avancée\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerte par e-mail\",\"N40H+G\":\"Tous\",\"Hw5q+W\":\"Toutes les images\",\"f2zxGk\":\"Tous les paramètres importants du système.\",\"lle3bd\":\"Autoriser tous les référents\",\"bgFbIB\":\"Permet de compter le nombre de spectateurs du flux.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"Une variable d'environnement définit cette valeur.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Le point de terminaison de l'API n'a pas été trouvé. Paramètres non sauvegardés.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Application\",\"xnCC/2\":\"Êtes-vous sûr de vouloir interrompre l'assistant ?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Dispositif audio\",\"sYyYfE\":\"Dispositif audio\",\"2he4Ra\":\"Audio de l'appareil\",\"MvY15a\":\"Paramètres audio\",\"NoLJ6g\":\"Configuration audio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 n'est actuellement pas disponible car cette interface est chargée depuis une origine non sécurisée.\",\"aKsflb\":\"Auth0 Locataire\",\"VbeIOx\":\"Auteur\",\"NJgJy9\":\"Autorisation\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Nettoyage automatique de toutes les données des médias\",\"jT50Rz\":\"Lecture automatique\",\"csDS2L\":\"Disponible\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Retour\",\"1KfyNL\":\"Couleurs d'arrière-plan\",\"23c2Uw\":\"Image de fond\",\"r0bEmM\":\"Serveur de secours\",\"JFjQhH\":\"Flux de secours\",\"bkJ+QE\":\"URL de secours\",\"OlXThP\":\"Bande passante\",\"QYaaBO\":\"Contrôle de la bande passante\",\"KSSL9f\":\"Bannière\",\"0wJVK+\":\"Base\",\"YR04fn\":\"Facteur Bip\",\"5bhON1\":\"Débit\",\"Os3B4i\":\"Types de cache en bloc\",\"zOC7cT\":\"bleu\",\"359XuU\":\"Pied de page\",\"aC3kWW\":\"Décrivez brièvement ce que le public verra pendant la diffusion en direct.\",\"SehDNd\":\"brun\",\"Ptp9MF\":\"Couleur du bouton\",\"Lp4WkO\":\"Par hauteur\",\"IeV/4P\":\"Par largeur\",\"KxP5AO\":\"Cache pour les fichiers sur /data.\",\"qX8ffo\":\"Temps de cache (Secondes)\",\"4dRAku\":\"Types de caches\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampon de capture\",\"aL2+1d\":\"Capture des clics\",\"EOfLfP\":\"Curseur de capture\",\"ieS3Wc\":[\"Canal \\\"\",[\"0\"],\"\\\" sauvegardé\"],\"lfFsZ4\":\"Chaînes\",\"WMCwmR\":\"Vérifier les mises à jour\",\"vM6kpc\":\"Vérifiez les exigences\",\"Wzgqhl\":\"Choisissez un flux vidéo\",\"JpTR0/\":\"Choisissez un flux audio\",\"BTNyrQ\":\"Choisissez un périphérique d'entrée ...\",\"f9QIui\":\"Choisir un flux d'entrée ...\",\"/Y6zrN\":\"Choisir entre CFR et VFR (Auto)\",\"gObOjh\":\"Choisissez le codec ...\",\"v7lrmU\":\"Choisir le tenant ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Fermer\",\"r8NEPc\":\"Injection de code\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Couleur\",\"sjVfrA\":\"Commandement\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Configurer\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Confirmer le mot de passe\",\"iSLIjg\":\"Se connecter\",\"NL3Gev\":\"Appareil connecté\",\"ywAvGr\":\"Connecté depuis <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Connection ...\",\"y6+BXa\":\"Connexion à Restreamer Core ...\",\"Td5lm6\":\"La connexion à Restreamer Core a échoué, probablement en raison d'un contenu mixte.\",\"awE5Py\":\"Fréquence d'images constante (CFR)\",\"DT0Af/\":\"Mode de quantification constante (-1 à 255).\",\"4b3oEV\":\"Contenu\",\"U34RbB\":\"URL du contenu\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cœurs\",\"FSbpS7\":\"UNITÉ CENTRALE\",\"n8Ycrf\":\"Limite de l'unité centrale (pourcentage)\",\"uW5tVo\":\"Limite d'utilisation du CPU en pourcentage (0-100%), 0 pour illimité.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Personnalisé ...\",\"kH80Lk\":\"Dispositif audio personnalisé\",\"fW1XQD\":\"Index audio personnalisé\",\"bzREp0\":\"Débit binaire personnalisé (kbit/s)\",\"w9oKek\":\"Injection de code personnalisé\",\"jYaP01\":\"Délai personnalisé\",\"2Gw+zZ\":\"Dispositif personnalisé\",\"WCXGNp\":\"Format personnalisé\",\"ZkpZ06\":\"Taux de rafraîchissement personnalisé\",\"1OXCgh\":\"Configuration JSON personnalisée pour datarhei Core.\",\"kl56NX\":\"Intervalle d'images clés personnalisé\",\"prIqWa\":\"Mise en page personnalisée\",\"HSB43e\":\"Échantillonnage personnalisé (Hz)\",\"Efe3BI\":\"Échelle personnalisée\",\"E/2KdS\":\"Taille personnalisée\",\"Se794B\":\"Dispositif vidéo personnalisé\",\"aqv915\":\"Index vidéo personnalisé\",\"v8OlX8\":\"Données copiées dans le presse-papiers\",\"J/VBax\":\"Couleur d'inactivité\",\"d2TTfK\":\"Décibels (dB)\",\"W034oz\":\"Décodeur\",\"ovBPCi\":\"Défaut\",\"gFwPaj\":[\"Défaut \",[\"0\"]],\"JQnkrI\":[\"Défaut \",[\"0\"],\" (\",[\"1\"],\" secondes)\"],\"A7rne1\":\"Désentrelacement (bwdif)\",\"yLth2B\":\"Désentrelacement deint\",\"g3JmiG\":\"Mode de désentrelacement\",\"aro6lN\":\"Désentrelacement de la parité\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Délai\",\"qBC9g9\":\"Délai (ms)\",\"cnGeoo\":\"Supprimer\",\"ScK3zL\":\"La suppression d'un service de publication ne peut pas être annulée. La publication s'arrête immédiatement.\",\"cEx3oI\":\"Mode de livraison\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Description\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Appareil\",\"+K0AvT\":\"Se déconnecter\",\"miKA/E\":\"Déconnecter et continuer\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Déconnexion ...\",\"sPFHpI\":\"Disque\",\"qczNPP\":\"Cache disque\",\"PUqOjv\":\"Stockage sur disque\",\"uTwT/l\":\"Voulez-vous vraiment redémarrer l'application maintenant ?\",\"FgxcNT\":[\"Voulez-vous supprimer \\\"\",[\"0\"],\"\\\" ?\"],\"NogZqg\":[\"Voulez-vous supprimer \",[\"titre\"],\" ?\"],\"0p+Mpn\":[\"Voulez-vous déconnecter \\\"\",[\"0\"],\"\\\" ?\"],\"TbjyhA\":\"Documentation\",\"TvY/XA\":\"Documentation\",\"jPtEhI\":\"Cadres de duplication\",\"diaSRH\":\"Chaque champ\",\"u2SnNO\":\"Chaque cadre\",\"ePK91l\":\"Modifier\",\"INCFjw\":\"Modifiez les sources audio et vidéo pour le flux en direct. Ajoutez une description, et définissez la licence souhaitée pour votre contenu.\",\"+7Wr2a\":[\"Editer : \",[\"title\"]],\"e3GLqI\":\"EDIT : Lecteur\",\"dTPDyf\":\"EDIT : Site de publication\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Email :\",\"KKBlUU\":\"Intégrer\",\"PaQ3df\":\"Activer\",\"No9svk\":\"Active un bip périodique toutes les secondes avec cette valeur multipliée par la fréquence porteuse\",\"R7s0Th\":\"Activer le flux de secours\",\"xA5zBY\":\"Activer les statistiques pour nerds\",\"r0zP4o\":\"Activer maintenant\",\"JwR989\":\"Activer le flux principal\",\"blkDNw\":\"Activer le serveur RTMP ...\",\"FgEhO4\":\"Activer le transfert RTMPS\",\"uGvvxq\":\"Activer les instantanés\",\"IuL64N\":\"Activer le serveur SRT ...\",\"NJsnxf\":\"Il est fortement conseillé d'activer l'authentification. Sinon n'importe qui peut accéder à cette instance.\",\"xwS6bX\":\"L'activation de l'authentification de base est fortement conseillée. Sinon, n'importe qui pourrait écrire des données sur /memfs.\",\"0zaXWu\":\"Encodeur\",\"o0XA5y\":\"Encodage\",\"q1srUM\":\"Chiffrement\",\"qS2y97\":\"Saisissez un nom pour le nouveau canal.\",\"f7sXvi\":\"Entrez le mot de passe\",\"5QCNrf\":\"Saisissez l'adresse de votre source réseau :\",\"WLnvCZ\":\"Entrez le nom d'utilisateur\",\"ijwVVM\":\"Algorithme d'entropie\",\"SlfejT\":\"Erreur\",\"sHoMKO\":\"Erreur lors de la copie de données dans le presse-papiers\",\"TpqeIh\":[\"Erreur : \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Agrandit la zone au-dessus de la liste des chaînes (chat en direct).\",\"IBJg8n\":\"Agrandit la zone située sous la description du canal (cases de commentaires).\",\"XeunlQ\":\"Mode expert\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Étendre la liste des canaux\",\"tG09kC\":\"Étendre le contenu\",\"bPWJOj\":\"Étendre le pied de page\",\"SeaRa5\":\"Prolonger l'en-tête\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Échec de la création du service de publication (\",[\"0\"],\")\"],\"yT6MEY\":\"Échec de la création des fichiers du site Web de publication.\",\"FGdPhH\":\"Impossible de sonder la source. Veuillez vérifier les <0>détails de la sonde.\",\"DvfYM2\":[\"Échec du rafraîchissement du jeton : \",[\"0\"]],\"J0Jclh\":\"Échec de la sauvegarde des métadonnées d'ingestion\",\"RPXHsU\":\"Échec de l'arrêt du processus\",\"AhS7uc\":\"Échec de l'enregistrement du paramètre de taille du lecteur.\",\"PcJRf4\":[\"Échec du stockage du service de publication (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Échec de la mise à jour du processus d'ingestion (\",[\"0\"],\")\"],\"t1E1OU\":[\"Échec de la mise à jour du processus d'acquisition des instantanés (\",[\"0\"],\")\"],\"bssUbs\":\"Échec de la mise à jour du lecteur\",\"4SzVSX\":\"Échec de la mise à jour du site des lecteurs\",\"H8gP5T\":\"Impossible de vérifier la source. Veuillez vérifier l'adresse.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Chemin d'accès au fichier\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filtre\",\"JmZ/+d\":\"Terminer\",\"k4A6IZ\":\"Taille fixe\",\"Xgkhyj\":\"Drapeaux\",\"+L0/av\":\"Pour les Javascripts.\",\"VBU6dD\":\"Pour les feuilles de style.\",\"XDTTEp\":\"Forcer le taux de rafraîchissement de l'entrée\",\"Y5YNoi\":\"Forcer les images clés\",\"kI1qVD\":\"Format\",\"39hGxo\":\"IPS\",\"3oSVYq\":\"Pertes d'images\",\"lPICcX\":\"L'image est relayée directement (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Fréquence d'images\",\"RFrfTY\":\"Conversion de fréquence (interpolation de trame)\",\"xDfHbM\":\"Mode de framerate\",\"4xNpe4\":\"Fréquence (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Général\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"ID Google Analytics\",\"S/8Noo\":\"Nom du tracker Google Analytics\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Dispositif matériel\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"En-tête\",\"+670Zw\":\"A la une\",\"PFFhCT\":\"Hauteur\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Sortie HLS\",\"oMxmoP\":\"Serveur HLS\",\"5/G5c1\":\"Statistique HLS pour le stockage en mémoire\",\"wXoUQx\":\"Retournement horizontal\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Interface hébergée de Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP et HTTPS\",\"YmRLab\":\"Port HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Port HTTPS\",\"Ptrvx5\":\"Nom lisible par l'homme sur le service.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Si vous avez changé les ports, il se peut que Restreamer Core ait déjà redémarré, mais qu'il soit maintenant disponible sur un port différent.\",\"OQONQS\":\"Si vous avez activé Let's Encrypt TLS, l'acquisition des certificats peut prendre un certain temps. Assurez-vous que Restreamer Core est joignable via le port 80 depuis Internet. Veuillez vérifier le journal de la console de Restreamer Core.\",\"yWR5EY\":\"Code iframe\",\"7ZKroD\":\"Ignorer les plages IP\",\"VyUuZb\":\"URL de l'image\",\"5n8FKh\":\"Impression\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"En plus du lecteur, Restreamer offre une page d'accueil complète, que vous pouvez utiliser pour présenter votre flux en direct facilement et rapidement.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"En mémoire\",\"EwM+sw\":\"Stockage en mémoire\",\"xmsVuq\":\"Incompatibilité\",\"exUN1j\":\"Hériter de\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Injecter 1\",\"MJlrvd\":\"Injecter 2\",\"MppU96\":\"Injecter 3\",\"zBVRQb\":\"Injecter 4\",\"Adqgqr\":\"Flux d'entrée\",\"jnyWFc\":\"Domaine de l'instance\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervalle (secondes)\",\"C4WaV1\":\"Alerte sur incident\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervalle entre les images clés (secondes)\",\"rdU729\":\"Mise en page\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Certificat Let's Encrypt\",\"LgUs17\":\"Let's Encrypt requiert un ou plusieurs noms de domaine publics et un port 80/TCP accessible.\",\"oCHfGC\":\"Niveau\",\"eyLS1J\":\"Niveau du protocole du système.\",\"iQmbPb\":\"Licence\",\"mQImez\":\"Couleur de la vie\",\"6BDqha\":\"Limites\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Lignes\",\"yzF66j\":\"Lien\",\"NBxw5Y\":\"Lien, survol de la souris\",\"xCrpEt\":\"Liste des extensions de fichiers à ne pas mettre en cache (par exemple, \\\".m3u8\\\"), une par ligne. Laissez vide pour aucun.\",\"m2l8c3\":\"Liste des extensions de fichiers à mettre en cache (par exemple, \\\".html\\\"), une par ligne. Laissez vide pour mettre en cache tous les types de fichiers.\",\"QYw6tl\":\"Liste des plages IP en notation CIDR, par exemple, 127.0.0.1/32, que les statistiques n'enregistreront pas - une plage IP par ligne. Laissez vide pour enregistrer toutes les sessions.\",\"ELFO4F\":\"Taille de la liste (segments)\",\"D0Nwch\":\"Diffusion en direct sur le service RTMP Live de dlive.\",\"n2VKys\":\"Diffusion en direct vers le service RTMP de Facebook Live\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Diffusion en direct sur le service RTMP de Media Network.\",\"w9zSAv\":\"Service de diffusion en direct sur PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Diffusion en direct sur le service Trovo Live RTMP.\",\"JJGagy\":\"Diffusion en direct sur le service RTMP de Twitch Live.\",\"4TnPVp\":\"Diffusion en direct sur le service RTMP Live de Vimeos\",\"G4x3PY\":\"ID Livesource\",\"0aIqC4\":\"Niveau du journal\",\"x7PDL5\":\"Enregistrement\",\"z0t9bb\":\"Connexion\",\"+fL+Rj\":[\"La connexion a échoué : \",[\"0\"]],\"4cd7gw\":\"La connexion a échoué : Impossible de charger les détails de l'API\",\"sNqu7k\":\"Authentification à la connexion/JWT\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Déconnexion\",\"DYX2fZ\":\"Boucle\",\"SzaPTL\":\"Normalisation du volume\",\"QGvS9k\":\"Faible latence (Buffer)\",\"GaV7al\":\"Canal principal\",\"Wsn0Uw\":\"Canal principal non trouvé\",\"tROIde\":\"Canal principal sauvegardé\",\"nLVSux\":\"Canal de la page principale (index.html).\",\"rd3Pv7\":\"Source principale\",\"f4txA1\":\"Mainteneur :\",\"3iTz2L\":\"Rendre la chaîne disponible en tant que flux RTMP (expérimental).\",\"mMiku6\":\"Rendre la chaîne disponible en tant que flux SRT (expérimental).\",\"6dZ9NS\":\"Cadres marqués\",\"iuA3xD\":\"Liste de lecture principale (améliore la compatibilité avec les navigateurs et les clients)\",\"WBpxnA\":\"Taille maximale autorisée du cache, 0 pour illimité.\",\"NzaPGT\":\"Mégaoctets de RAM maximum autorisés pour /memfs, 0 pour illimité.\",\"aaso5s\":\"Maximum de mégaoctets autorisés à consommer du disque dur. 0 pour illimité.\",\"4hp5D2\":\"Bande passante maximale Mbit/s\",\"L+uBOR\":\"Délai maximal en millisecondes.\",\"hkoCqq\":\"Taille maximale du fichier (mégaoctets)\",\"i96JfZ\":\"Taille maximale du fichier à mettre dans le cache.\",\"Q9HspI\":\"Historique maximum des logs\",\"bS9ZHz\":\"Lignes maximum des logs\",\"6sayfE\":\"Taille maximale (mégaoctets)\",\"09BWQO\":\"Temps d'inactivité maximum du spectateur (Secondes)\",\"hW0DV1\":\"Nombre maximum de spectateurs\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Mémoire\",\"KReOHe\":\"Limite de mémoire (mégaoctets)\",\"fViWSz\":\"Limite d'utilisation de la mémoire en mégaoctets, 0 pour illimité.\",\"emJ6M7\":\"Méta-information\",\"6GBt0m\":\"Métadonnées\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", default \",[\"1\"]],\"riWPSk\":\"Moisissure\",\"QA/rur\":\"Plus d'informations sur les licences ici\",\"fyGu1l\":\"En savoir plus sur le service\",\"yBsv2n\":\"Plus d'informations sur les droits d'auteur de Twitter <0>ici.\",\"ZpfAc9\":\"Plus d'informations sur les droits d'auteur de YouTube <0>ici.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Doit être supérieur à la taille maximale du fichier dans le cache.\",\"gC9RIS\":\"Doit être inférieur à la taille maximale du cache.\",\"R7SsBE\":\"Muet\",\"K0rCAk\":\"Coupez le son d'un canal.\",\"Jv/kid\":\"Muet à gauche\",\"FsCP6P\":\"Muet à droite\",\"6YtxFj\":\"Nom\",\"0ZkQqR\":\"Nom du modèle. Si le nom existe déjà, il sera écrasé.\",\"OR475H\":\"Réseau\",\"KZDcDr\":\"Source du réseau\",\"hXzOVo\":\"Suivant\",\"JZrXI6\":\"Suivant : Audio\",\"kZFy+Q\":\"Suivant : Configuration de la vidéo\",\"1UzENP\":\"Non\",\"p6Fxed\":\"Pas d'audio\",\"bIDO3H\":\"Aucun flux audio disponible\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Aucun dispositif d'entrée disponible\",\"dEwhMr\":\"Aucun flux en direct n'a été détecté. Veuillez vérifier le logiciel qui envoie le flux.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Pas de source sélectionnée\",\"3TfuWb\":\"Aucune source disponible\",\"fiXA/y\":\"Aucun encodeur approprié n'a été trouvé.\",\"acY4BT\":\"Aucun filtre approprié n'a été trouvé.\",\"/02FxK\":\"Pas de vidéo\",\"AVWnC9\":\"Aucun flux vidéo disponible\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"ID du nœud\",\"9J5l/O\":\"Bruit\",\"EdQY6l\":\"Aucun\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notes\",\"/a9y2d\":\"Nombre de lignes de log à conserver.\",\"ZD0urA\":\"Nombre de logs à conserver pour chaque processus.\",\"Aia5w3\":\"Nombre de secondes pendant lesquelles les limites peuvent être dépassées.\",\"1lZb7D\":\"Nombre de colonnes de tuiles à encoder.\",\"InpHMl\":\"Nombre de tuiles codées avec.\",\"wnRD5D\":\"Nombre de lignes de carreaux à encoder.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Un référent par ligne, ex : http://www.example.com.\",\"1TNIig\":\"Ouvrir\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Tampon de sortie\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase pour le chriffrement SRT.\",\"fpQo1i\":\"La passphrase doit comporter entre 10 et 79 caractères.\",\"3GZXaB\":\"Le Passthrough (copie) ne doit être désactivé que si nécessaire. Chaque encodage nécessite des ressources CPU/GPU supplémentaires.\",\"8ZsakT\":\"Mot de passe\",\"b+AuuK\":\"Mot de passe pour l'authentification.\",\"oREnCY\":\"Mot de passe pour l'appareil.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persistance des statistiques des spectateurs\",\"ANX1b0\":\"rose\",\"c8aBfM\":\"Format des pixels\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan : <0>Démarreur\",\"Ejic1p\":\"Plateformes\",\"gtQk6c\":\"Lecture\",\"vRayGs\":\"Lecteur\",\"tWB9Gz\":\"Sauvegarde des paramètres du lecteur\",\"GIxxiU\":\"URL du lecteur\",\"PUmLMn\":\"Site des lecteurs\",\"LKPR6G\":\"Liste de lecture\",\"luDqS5\":\"Version de la playlist (M3U8). La version 3 a la meilleure compatibilité navigateur/client.\",\"84gH7g\":\"Veuillez vérifier le <0>journal du processus.\",\"OMpKNS\":\"Veuillez contacter l'opérateur du service et vérifier ce qui se passe.\",\"4lATxE\":\"Veuillez saisir votre adresse électronique pour signifier votre accord avec les conditions de service de Let's Encrypt CA et pour être informé en cas de problème.\",\"bdMiXb\":\"Veuillez prendre contact avec l'opérateur du service et vérifier ce qui se passe.\",\"wPZBpR\":\"Veuillez sélectionner un fichier à télécharger.\",\"YcGRmx\":\"Veuillez utiliser \\\"Passthrough (copie)\\\" si possible. L'encodage nécessite des ressources CPU/GPU supplémentaires.\",\"06qnxB\":\"Veuillez patienter. Contrôle des données ...\",\"FTIPkL\":\"Veuillez patienter. Configuration du flux ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Position\",\"d62Stt\":\"Affiche\",\"PNap/Y\":\"URL de l'image du poster\",\"6o2Onc\":\"Préréglage\",\"lxxyq5\":\"Flux principal\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonde\",\"1B9XX0\":\"Processus\",\"DL/nrw\":\"Contrôle du processus\",\"fzYV2N\":\"Détails du processus\",\"zNVLia\":\"Rapport de processus\",\"PwMwvX\":\"Traitement et contrôle\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protocole\",\"hEksWI\":\"Protocoles\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Domaine public/s\",\"7lbVwY\":\"Service de publication non trouvé\",\"ia1vIb\":\"Sauvegarde des paramètres du site Web de publication\",\"XHw75Y\":\"Publications\",\"dsOSCf\":\"Mode \\\"pull\\\"\",\"lQQ/zA\":\"\\\"Pull\\\" ou recevoir les données :\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualité\",\"i9d+3B\":\"Caméra Raspberry Pi\",\"tbXj/A\":\"Contrôle du taux\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"rav1e Paramètres\",\"6PpdQP\":\"Lecture de l'entrée à la vitesse native\",\"bqsSkO\":\"Mode de réception\",\"gcoiFh\":\"Reconnecter\",\"lakzvL\":\"Délai de reconnexion (secondes)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Reconnexion en \",[\"0\"],\"s\"],\"uSDaLA\":[\"La reconnexion à Restreamer Core a échoué au cours des \",[\"RETRIES\"],\" dernières secondes.\"],\"N7ojfh\":\"La reconnexion à Restreamer Core a échoué.\",\"lCF0wC\":\"Rafraîchir\",\"uJ+Ve2\":\"Région\",\"CNipTv\":\"Enregistrer l'utilisateur\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Recharger\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Supprimer les entrées les plus anciennes si le /memfs est plein\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Nécessite une activation\",\"XMbkus\":\"Réinitialisation du logo\",\"36SXzE\":\"Réinitialiser l'affiche\",\"6z9W13\":\"Redémarrer\",\"dKwnjv\":\"Redémarrage nécessaire\",\"0Er6+M\":\"Redémarrage de\",\"X1sT1j\":\"Redémarrage de Restreamer Core ...\",\"o5q6jb\":\"Le redémarrage de l'application a échoué.\",\"x8cAsq\":\"Instructions pour Restreamer\",\"24fLVm\":\"Service Restreamer\",\"LCGjV4\":\"Récupération du flux de données ...\",\"6gRgw8\":\"Réessayer\",\"Qe1vaN\":\"Mire de test RVB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Rotation\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Application RTMP pour la publication.\",\"7ggERB\":\"Sortie RTMP\",\"V82lE+\":\"Port RTMP\",\"itARjB\":\"Serveur RTMP\",\"WWZqzz\":\"Le serveur RTMP n'est pas activé\",\"HhOPCL\":\"Adresse d'écoute du serveur RTMP.\",\"DbHOhO\":\"Jeton RTMP pour la publication et la lecture. Le jeton est la valeur du paramètre de requête de l'URL \\\"token\\\".\",\"OAZeFE\":\"Port RTMPS\",\"Wt/wFL\":\"Serveur RTMPS\",\"xwonDv\":\"Adresse d'écoute du serveur RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Règle\",\"HneYgw\":\"Échantillonnage\",\"tfDRzk\":\"Sauvegarder\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Échelle\",\"6aaceW\":\"Taille de l'échelle\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Secondes pour garder les fichiers dans le cache.\",\"geM4Wc\":\"Secondes jusqu'à ce qu'un processus soit redémarré.\",\"iF7dnC\":\"Secondes jusqu'à ce qu'un processus bloqué soit terminé.\",\"mydmGn\":\"Secondes jusqu'à ce que l'instantané/la vignette de la source vidéo soit mis à jour.\",\"a3LDKx\":\"Sécurité\",\"Gkr6zI\":\"Jeton de sécurité\",\"/Ocrtf\":\"Couleur du Seekbar\",\"4lDlYf\":\"Longueur du segment (secondes)\",\"XfNrg+\":\"Une fois ce délai écoulé, le segment sera coupé sur l'image clé suivante. Une valeur de 2 est recommandée.\",\"jHCoDy\":\"Segmentation\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Sélectionnez un appareil :\",\"O+ruJ3\":\"Sélectionnez la source audio :\",\"6MTTpq\":\"Sélectionnez RTMP ou SRT (si activé) pour une latence moindre.\",\"E7haRr\":\"Sélectionnez la source ...\",\"PlZ1aw\":\"Sélectionnez la source vidéo :\",\"YYlcWm\":\"Choisissez si vous chargez le flux d'une <0>source réseau (comme une caméra réseau) ou du <1>serveur RTMP interne (par exemple, les flux OBS vers le Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Sélectionnez votre paramètre d'encodage :\",\"aT3o8A\":\"Sélectionnez les paramètres de votre filtre (facultatif) :\",\"ylXj1N\":\"Sélectionné\",\"kYpw4+\":\"Canal sélectionné\",\"p7/fS2\":\"Sélection\",\"SOePwi\":\"Envoyez des métriques anonymes (nous aide pour les futurs développements)\",\"kOhBl+\":\"Envoyer le flux à l'adresse ...\",\"E1X5xY\":\"Envoyez le flux à cette adresse :\",\"d/IMf3\":\"Envoyer la vidéo au Framebuffer\",\"sGH11W\":\"Serveur\",\"9rG25a\":\"URL du serveur\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Nom du service\",\"DOrSw/\":\"Jeton de service pour la surveillance.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sessions\",\"xwK3ty\":\"Définir la configuration de rav1e à l'aide d'une liste de paramètres clé-valeur séparés par :-.\",\"FIIk8R\":\"Définit une limite de bande passante en Mbit par seconde pour le transfert des données HLS sortantes. Tous les services, tels que RTMP et les processus sortants, sont inclus dans le calcul. Si la bande passante est dépassée, les spectateurs HLS reçoivent le code d'état HTTP 509 (Bandwidth Limit Exceeded). 0 est illimité.\",\"cOG/FK\":\"Définit une limite de spectateurs pour les sessions HLS. Si la limite est dépassée, les spectateurs HLS reçoivent le code d'état HTTP 509 (limite de bande passante dépassée). La valeur 0 est illimitée.\",\"mcJFKm\":\"Paramètre pour la connexion au service.\",\"Tz0i8g\":\"Paramètres\",\"IiOZ6R\":\"Paramètres (mode expert)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Paramètres pour le chemin /data. L'accès est protégé par\",\"Ytdvyh\":\"Paramètres pour le chemin /memfs.\",\"1w3lYe\":\"Les paramètres sont enregistrés. Toutes les modifications seront appliquées après le redémarrage de l'application.\",\"XUw3i9\":\"Bouton \\\"Partager\\\"\",\"oD0Oes\":\"Affiche une référence au projet.\",\"+vv4q2\":\"S'inscrire (gratuit)\",\"JXVFAm\":\"Silence\",\"VSK9FJ\":\"Silence Audio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nom du site\",\"Cj2Gtd\":\"Taille\",\"yTZe+y\":\"Instantané\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Délai d'attente du socket (microsecondes)\",\"bRN5nm\":\"Logiciel\",\"wdxz7K\":\"Source\",\"sywlQb\":\"Source et encodage\",\"l9wI00\":\"Vitesse\",\"vdhBFK\":\"Vitesse préréglée\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Sortie SRT\",\"YqnAto\":\"Serveur SRT\",\"k6hpqB\":\"Le serveur SRT n'est pas activé\",\"SzqwHY\":\"Adresse d'écoute du serveur SRT.\",\"KwbjpB\":\"Jeton SRT pour la publication et la lecture. Le jeton est la valeur du paramètre streamid \\\"token\\\".\",\"Aj28wT\":\"Délai d'expiration (secondes)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistiques\",\"BrrIs8\":\"Stockage\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Stocke les statistiques du visualiseur sur le disque.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Clé de flux\",\"bqiH5R\":\"Clé de flux\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nom du stream\",\"eXELiS\":\"Noms des streams\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Source de flux pour le service de publication (expérimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL du flux\",\"+fVH0Y\":\"Supporter datarhei Restreamer\",\"5HSoct\":\"Prend en charge HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT et plus encore.\",\"D+NlUC\":\"Système\",\"jkuW2z\":\"Adresse de la cible\",\"/K2CvV\":\"Modèle\",\"2Ivkf/\":\"Modèle à utiliser pour créer le site Web de la publication. Le bouton de suppression supprime la sélection du système.\",\"4Y5H+g\":\"Conditions\",\"tRNH6x\":\"Modèle de test\",\"EtlVOt\":\"Mire (étendue)\",\"wGPolR\":\"Couleurs du texte\",\"m0TUJj\":\"Amplitude (0,0 - 1,0) du flux audio généré\",\"8C6xwe\":\"L'application utilise une ancienne version des paramètres.\",\"VPQVR2\":\"Le binaire FFmpeg disponible ne supporte aucun des protocoles requis.\",\"Gx9PPK\":\"Le débit binaire du flux audio.\",\"T2kk3f\":\"La fréquence porteuse\",\"JAOLK8\":[\"Le canal \\\"\",[\"0\"],\"\\\" n'a pas pu être supprimé\"],\"jNaBhy\":[\"Le canal \\\"\",[\"0\"],\"\\\" a été supprimé\"],\"SD8pYJ\":\"La suppression de ce canal ne peut pas être récupérée. Toutes les publications de ce canal seront supprimées.\",\"bnkV//\":\"Le profil d'entrée est incomplet. Veuillez définir une source vidéo et audio.\",\"wCYjmB\":\"Le profil d'entrée n'est pas complet. Veuillez définir une source vidéo et/ou audio.\",\"JMaqWu\":\"L'organisation du flux audio.\",\"0dqo+p\":\"Le nombre maximum de segments de la liste de lecture. 0 contiendra tous les segments. 6 est recommandé.\",\"BDgbiW\":\"La couleur du bruit\",\"SxGu7I\":\"La personne qui a associé une œuvre à cette licence a dédié l'œuvre au domaine public en renonçant à tous ses droits sur l'œuvre dans le monde entier en vertu de la loi sur le droit d'auteur, y compris tous les droits connexes et voisins, dans la mesure autorisée par la loi. Vous pouvez copier, modifier, distribuer et exécuter l'œuvre, même à des fins commerciales, le tout sans demander la permission.\",\"XISvrq\":\"Le nom de domaine public joignable de l'hôte sur lequel ce Restreamer est exécuté. Séparez les noms de domaine multiples par une virgule.\",\"yt3d3G\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" n'a pas pu être supprimé.\"],\"zYcO/c\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" a été créé.\"],\"AQE+oz\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" a été supprimé.\"],\"qVLWvp\":\"Le service de publication a été créé\",\"njj2Wn\":\"La sortie RTMP nécessite le serveur RTMP.\",\"WRxiP8\":\"La fréquence d'échantillonnage du flux audio.\",\"/pZjRr\":\"Le fichier sélectionné est trop volumineux (<0/>). Seuls <1/> sont autorisés.\",\"VBaSn9\":[\"Le type de fichier sélectionné (\",[\"0\"],\") n'est pas autorisé. Les types de fichiers autorisés sont \",[\"1\"]],\"fM410X\":[\"Les paramètres de \\\"\",[\"0\"],\"\\\" ont été sauvegardés.\"],\"02ii2e\":\"La source ne fournit pas de flux audio.\",\"+2cAEU\":\"La source ne fournit pas de flux audio. Veuillez vérifier les <0>détails de la sonde.\",\"pfqmY7\":\"La source ne fournit pas de flux audio compatible.\",\"VO9KeK\":\"La source ne fournit pas de flux vidéo compatible. Veuillez vérifier les <0>prérequis.\",\"007foU\":\"La source ne fournit pas de flux vidéo. Veuillez vérifier les <0>détails de la sonde.\",\"lAsMdV\":\"La source ne fournit pas de flux vidéo. Veuillez vérifier l'appareil.\",\"XlnvcR\":\"La sortie SRT nécessite le serveur SRT.\",\"w6uuIE\":\"La source vidéo ne fournit pas de flux audio compatible. <0>Silence audio est recommandé. Les services tels que YouTube, Facebook & Co. nécessitent un canal audio.\",\"YJJ2RL\":\"La source vidéo est compatible. Sélectionnez la résolution souhaitée :\",\"wEiZHy\":\"Il y a des mises à jour disponibles. Ici vous obtenez plus d'informations.\",\"4p1MgS\":\"Il y a eu un problème pour enregistrer les paramètres. Paramètres non sauvegardés.\",\"YJhhwT\":[\"Il y a eu une erreur de connexion à Restreamer Core à \",[\"0\"],\".\"],\"q42VsF\":[\"Il y a eu une erreur pendant le téléchargement : \",[\"0\"]],\"HM96PJ\":\"Il y a eu une erreur dans la configuration du stream.\",\"LoDP+Y\":\"Il y a des erreurs dans les paramètres. Les paramètres n'ont pas été sauvegardés.\",\"l92ZKN\":\"Il n'y a pas de méthode de connexion disponible.\",\"cPKuc8\":\"Il s'agit d'un service factice qui vous explique les concepts du service.\",\"Ku8nyu\":\"Il ne s'agit pas nécessairement d'une erreur. Cependant, le redémarrage de Restreamer Core peut prendre un peu plus de temps...\",\"vCRP3w\":\"Il s'agit de mentionner les règles de copyright pour la cible de ce service.\",\"Hx7k3c\":\"Cette licence permet aux réutilisateurs de copier et de distribuer le matériel sur n'importe quel support ou dans n'importe quel format, sous une forme non adaptée uniquement, et à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale.\",\"6OeMYB\":\"Cette licence permet aux réutilisateurs de copier et de distribuer le matériel sur n'importe quel support ou dans n'importe quel format, sous une forme non adaptée uniquement, à des fins non commerciales et à condition que le créateur soit mentionné.\",\"TUuhsB\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou dans n'importe quel format à des fins non commerciales uniquement, et à condition que le créateur soit mentionné.\",\"kVtKRl\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou dans n'importe quel format à des fins non commerciales uniquement, et à condition que le créateur soit mentionné. Si vous remixez, adaptez ou développez le matériel, vous devez accorder une licence au matériel modifié selon des conditions identiques.\",\"FpX5mp\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou format, à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale.\",\"SDvwLd\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou format, à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale. Si vous remixez, adaptez ou développez le matériel, vous devez accorder une licence au matériel modifié selon des conditions identiques.\",\"H144rX\":\"Ce protocole est inconnu ou n'est pas supporté par le binaire FFmpeg disponible.\",\"nlOxxw\":\"Cette source ne peut pas être éditée lorsqu'elle est en cours d'utilisation. Pour continuer, vous devez déconnecter la source.\",\"mbSyrG\":[\"Cette version de l'interface utilisateur ne prend pas en charge le binaire FFmpeg disponible (\",[\"0\"],\"). L'interface utilisateur requiert \",[\"1\"],\". Veuillez utiliser un binaire FFmpeg supporté.\"],\"N/tTgz\":[\"Cette version de l'IU ne prend pas en charge le Core connecté (\",[\"0\"],\"). L'IU requiert \",[\"1\"],\". Veuillez utiliser une version compatible de l'IU.\"],\"2Vq5tr\":\"Cette version de l'interface utilisateur est compatible.\",\"QxX9Z5\":\"Seuil (secondes)\",\"sNmspt\":\"Colonnes de carrelage\",\"sYGp2E\":\"Rangées de carreaux\",\"wbOpwP\":\"Carreaux\",\"H59P7E\":\"Temps jusqu'à ce qu'une connexion de téléspectateur inactive soit traitée comme fermée.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Pour stabiliser le système, augmentez la longueur du segment HLS pour l'intervalle d'images clés de 2-3 * (Traitement et contrôle).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Champ supérieur\",\"7mjsuh\":\"Transmettre un Livestream à une chaîne Telegram.\",\"Gxlq7L\":\"Transmettre des instantanés de la source principale à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"SdyhUl\":\"Transmet le canal audio de la source principale à un serveur Icecast. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"MayU3b\":\"Transmettre la source principale en tant que HTTP-Live-Streaming (HLS) à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"3K8kpL\":\"Transmettre la source principale en MPEG-DASH à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"P/J230\":\"Transmettre la source principale à un service Live de Brightcove. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"u0MhFy\":\"Transmettre la source principale à un service CDN77 RTMP. Plus d'informations sur la configuration <0>ici.\",\"zkgT7c\":\"Transmettre la source principale à un service DaCast RTMP. Plus d'informations sur la configuration <0>ici.\",\"in9xJz\":\"Transmettre la source principale à un datarhei Core Ressource. Plus de détails sur les paramètres peuvent être trouvés <0>ici.\",\"PcgwEU\":\"Transmettre la source principale à une Ressource livespotting.com. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"D7jwpf\":\"Transmettre la source principale à un service MPEG-TS. Vous trouverez plus de détails sur les réglages ici <0>ici.\",\"SpSgUV\":\"Transmettre la source principale à un serveur Red5/Pro. Vous trouverez plus de détails sur les réglages <0>ici.\",\"lIpqI/\":\"Transmettre la source principale à un serveur RTMP(e|s|t|te|ts). Vous trouverez plus de détails sur les paramètres <0>ici.\",\"pqR6nq\":\"Transmettre la source principale à un serveur RTSP. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Q4dSnZ\":\"Transmettre la source principale à un serveur SRT. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"fx9S4p\":\"Transmettre la source principale à un serveur UDP. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"GLXY2N\":\"Transmettre la source principale à un serveur WOWZA. Vous trouverez plus de détails sur les réglages <0>ici.\",\"AsMKFi\":\"Transmettre la source principale à l'Akamai (MSL) Media Services Live. Vous trouverez plus de détails sur les paramètres de l'encodeur MSL sur <0>ici.\",\"FB364G\":\"Transmettre la source principale au service RTMP de Livepush. Plus de détails sur les paramètres peuvent être trouvés <0>ici.\",\"CC9yS5\":\"Transmettre la source principale au service RTMP de Nimo TV. Pour plus de détails sur les réglages, voir <0>ici.\",\"fP8ZYg\":\"Transmettre la source principale au service RTMP de Picarto TV. Pour plus de détails sur les réglages, voir <0>ici.\",\"D9A0LK\":\"Transmettre la source principale au service RTMP de Restream. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"YL800g\":\"Transmettre à un service de médias Azure. Plus de détails peuvent être trouvés <0>ici.\",\"Abgy4c\":\"Transmettre à LinkedIn. Plus de détails peuvent être trouvés <0>ici.\",\"dhCZoS\":\"Transmettez votre Livestream à un service RTMP de Dailymotion. Vous trouverez ici plus de détails sur les paramètres.\",\"AqYRa3\":\"Transmettez votre Livestream à un service RTMP de Rumble. here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmet votre flux vidéo avec la clé requise, qui a été générée dans Twitter Producer. Vous trouverez plus d'informations sur la configuration d'un flux en direct sur le site <0>Producteur de Twitter.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Transport UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Impossible de charger la configuration.\",\"MWrgON\":\"Identifiant unique sur le service.\",\"Ef7StM\":\"Inconnu\",\"wiIpKZ\":\"Erreur de téléchargement inconnue\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Non sélectionné\",\"j9zg7e\":\"Détails de la mise à jour (Changelog)\",\"ONWvwQ\":\"Télécharger\",\"OXItQT\":[\"Téléchargez un fichier audio (\",[\"0\"],\") pour le mettre en boucle.\"],\"75yxb7\":[\"Télécharger un fichier image ou vidéo (\",[\"0\"],\") pour le mettre en boucle.\"],\"iAkPTY\":\"Le téléchargement du fichier a échoué\",\"Jmy6pK\":\"Le téléchargement du logo a échoué\",\"xl1xFp\":\"Le téléchargement de l'affiche a échoué\",\"TjrbDj\":\"Temps de fonctionnement\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Utilisez Auth0 pour votre noyau Restreamer en cours d'exécution. Plus de <0>détails.\",\"JX4TqK\":\"Utilisez l'assistant (<0/>) pour une configuration rapide et facile, ou éditez (<1/>) les sources directement en mode personnalisé.\",\"YYTBz0\":\"Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu'elle soit libre pour tous ou fortement restreinte. Discutez brièvement de ce que les autres sont autorisés à faire avec votre image.\",\"2UPEb1\":\"Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu'il s'agisse d'une licence gratuite pour tous ou d'une licence très restreinte. Indiquez brièvement de ce que les autres sont autorisés à faire avec votre image.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Inscription de l'utilisateur\",\"7sNhEz\":\"Nom d'utilisateur\",\"Gv3pbp\":\"Nom d'utilisateur pour l'authentification.\",\"RQSvXZ\":\"Nom d'utilisateur pour l'appareil.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M est expérimental.\",\"PvM7Yi\":\"Fréquence d'images variable (VFR)\",\"hpBTpL\":\"velours\",\"uIAsxu\":\"Flip vertical\",\"vSJd18\":\"Vidéo\",\"auaWhL\":\"Appareil vidéo\",\"/skRGV\":\"Paramètres vidéo\",\"EzOjvB\":\"Configuration vidéo\",\"QcQXbU\":\"Source vidéo\",\"M/TIv1\":\"Spectateurs\",\"L2hKw+\":\"violet\",\"hA6FFn\":\"Source virtuelle\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"ID VPU\",\"wRy4hg\":\"Nous recommandons OpenMAX IL pour Raspberry PI (3/4) avec un système d'exploitation 32 bits.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Bienvenue dans Restreamer v2, la solution pour la publication rapide et facile de vidéos. Gratuit pour une utilisation privée et commerciale. Plus d'aide dans la <0>documentation.\",\"hJfWkA\":\"Quel préréglage de vitesse utiliser.\",\"6Pz2IF\":\"Où stocker la liste de lecture et les segments HLS. Le stockage en mémoire est recommandé.\",\"aWHAbR\":\"blanc\",\"aFWU1n\":\"Largeur\",\"e0wV2Y\":\"Protection de l'écriture\",\"l75CjT\":\"Oui\",\"WPUsOF\":\"Vous ne pouvez pas interrompre l'assistant car au moins une entrée doit être définie.\",\"qwY9F9\":\"Vous avez modifié la configuration. Pour que les changements prennent effet, vous devez redémarrer l'application. Voulez-vous redémarrer maintenant ?\",\"nxq2ni\":\"Vous devez vous reconnecter manuellement\",\"RM3CEc\":\"Vous avez des modifications non sauvegardées. Veuillez les sauvegarder avant de pouvoir contrôler à nouveau le service.\",\"/cg7qS\":\"Votre flux doit être encodé, mais aucun encodeur approprié n'est disponible.\",\"BwrOm6\":\"Votre flux doit être encodé. Choisissez l'encodeur souhaité :\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Mire de test YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Liste des compatibilités\",\"TkRUk0\":\"<0>Montrer les détails de la sonde.\",\"tBy4Bb\":\"1. Passez à l'interface du Restreamer cible.\",\"2JnpXL\":\"2. Créez un nouveau canal et sélectionnez le serveur RTMP ou SRT.\",\"YidyJl\":\"3. Copiez l'URL et collez-la dans le champ \\\"Adresse cible\\\".\",\"X1MZZp\":\"6 (+ garantie de commencer par un Key frame)\",\"JVJkxU\":\"7 (+ format MP4 fragmenté)\",\"ssjjFt\":\"Abandonner\",\"uyJsf6\":\"À propos de\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Ajouter\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Ajoutez des widgets et des styles externes au site de publication. Vous pouvez trouver quelques exemples sur la page d'aide.\",\"tsJWSj\":\"Ajouter un nouveau canal\",\"PLTLdv\":\"Ajouter une publication\",\"35l+l6\":[\"Ajouter : \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adresse\",\"8M7jVn\":\"Adresse pour l'image de fond.\",\"Vu9yiv\":\"Adresse d'écoute pour les demandes HTTP.\",\"AQDW5r\":\"Adresse à écouter pour les demandes HTTPS.\",\"tPrmjP\":\"Adresse :\",\"owt8Ow\":\"Ajustez les couleurs et le fond du site de publication comme vous le souhaitez.\",\"uNXGDK\":\"Surveillance avancée\",\"VNgKZz\":\"Paramètres avancés\",\"eiGNYb\":\"Configuration avancée\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerte par e-mail\",\"N40H+G\":\"Tous\",\"Hw5q+W\":\"Toutes les images\",\"f2zxGk\":\"Tous les paramètres importants du système.\",\"lle3bd\":\"Autoriser tous les référents\",\"bgFbIB\":\"Permet de compter le nombre de spectateurs du flux.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"Une variable d'environnement définit cette valeur.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Le point de terminaison de l'API n'a pas été trouvé. Paramètres non sauvegardés.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Application\",\"xnCC/2\":\"Êtes-vous sûr de vouloir interrompre l'assistant ?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Dispositif audio\",\"sYyYfE\":\"Dispositif audio\",\"2he4Ra\":\"Audio de l'appareil\",\"MvY15a\":\"Paramètres audio\",\"NoLJ6g\":\"Configuration audio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 n'est actuellement pas disponible car cette interface est chargée depuis une origine non sécurisée.\",\"aKsflb\":\"Auth0 Locataire\",\"VbeIOx\":\"Auteur\",\"NJgJy9\":\"Autorisation\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Nettoyage automatique de toutes les données des médias\",\"jT50Rz\":\"Lecture automatique\",\"csDS2L\":\"Disponible\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Retour\",\"1KfyNL\":\"Couleurs d'arrière-plan\",\"23c2Uw\":\"Image de fond\",\"r0bEmM\":\"Serveur de secours\",\"JFjQhH\":\"Flux de secours\",\"bkJ+QE\":\"URL de secours\",\"OlXThP\":\"Bande passante\",\"QYaaBO\":\"Contrôle de la bande passante\",\"KSSL9f\":\"Bannière\",\"0wJVK+\":\"Base\",\"YR04fn\":\"Facteur Bip\",\"5bhON1\":\"Débit\",\"Os3B4i\":\"Types de cache en bloc\",\"zOC7cT\":\"bleu\",\"359XuU\":\"Pied de page\",\"aC3kWW\":\"Décrivez brièvement ce que le public verra pendant la diffusion en direct.\",\"SehDNd\":\"brun\",\"Ptp9MF\":\"Couleur du bouton\",\"Lp4WkO\":\"Par hauteur\",\"IeV/4P\":\"Par largeur\",\"KxP5AO\":\"Cache pour les fichiers sur /data.\",\"qX8ffo\":\"Temps de cache (Secondes)\",\"4dRAku\":\"Types de caches\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampon de capture\",\"aL2+1d\":\"Capture des clics\",\"EOfLfP\":\"Curseur de capture\",\"ieS3Wc\":[\"Canal \\\"\",[\"0\"],\"\\\" sauvegardé\"],\"lfFsZ4\":\"Chaînes\",\"WMCwmR\":\"Vérifier les mises à jour\",\"vM6kpc\":\"Vérifiez les exigences\",\"Wzgqhl\":\"Choisissez un flux vidéo\",\"JpTR0/\":\"Choisissez un flux audio\",\"BTNyrQ\":\"Choisissez un périphérique d'entrée ...\",\"f9QIui\":\"Choisir un flux d'entrée ...\",\"/Y6zrN\":\"Choisir entre CFR et VFR (Auto)\",\"gObOjh\":\"Choisissez le codec ...\",\"v7lrmU\":\"Choisir le tenant ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Fermer\",\"r8NEPc\":\"Injection de code\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Couleur\",\"sjVfrA\":\"Commandement\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Configurer\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Confirmer le mot de passe\",\"iSLIjg\":\"Se connecter\",\"NL3Gev\":\"Appareil connecté\",\"ywAvGr\":\"Connecté depuis <0/>\",\"lNg25t\":\"Connection ...\",\"y6+BXa\":\"Connexion à Restreamer Core ...\",\"Td5lm6\":\"La connexion à Restreamer Core a échoué, probablement en raison d'un contenu mixte.\",\"awE5Py\":\"Fréquence d'images constante (CFR)\",\"DT0Af/\":\"Mode de quantification constante (-1 à 255).\",\"4b3oEV\":\"Contenu\",\"U34RbB\":\"URL du contenu\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cœurs\",\"FSbpS7\":\"UNITÉ CENTRALE\",\"n8Ycrf\":\"Limite de l'unité centrale (pourcentage)\",\"uW5tVo\":\"Limite d'utilisation du CPU en pourcentage (0-100%), 0 pour illimité.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Personnalisé ...\",\"kH80Lk\":\"Dispositif audio personnalisé\",\"fW1XQD\":\"Index audio personnalisé\",\"bzREp0\":\"Débit binaire personnalisé (kbit/s)\",\"w9oKek\":\"Injection de code personnalisé\",\"jYaP01\":\"Délai personnalisé\",\"2Gw+zZ\":\"Dispositif personnalisé\",\"WCXGNp\":\"Format personnalisé\",\"ZkpZ06\":\"Taux de rafraîchissement personnalisé\",\"1OXCgh\":\"Configuration JSON personnalisée pour datarhei Core.\",\"kl56NX\":\"Intervalle d'images clés personnalisé\",\"prIqWa\":\"Mise en page personnalisée\",\"HSB43e\":\"Échantillonnage personnalisé (Hz)\",\"Efe3BI\":\"Échelle personnalisée\",\"E/2KdS\":\"Taille personnalisée\",\"Se794B\":\"Dispositif vidéo personnalisé\",\"aqv915\":\"Index vidéo personnalisé\",\"v8OlX8\":\"Données copiées dans le presse-papiers\",\"J/VBax\":\"Couleur d'inactivité\",\"d2TTfK\":\"Décibels (dB)\",\"W034oz\":\"Décodeur\",\"ovBPCi\":\"Défaut\",\"gFwPaj\":[\"Défaut \",[\"0\"]],\"JQnkrI\":[\"Défaut \",[\"0\"],\" (\",[\"1\"],\" secondes)\"],\"A7rne1\":\"Désentrelacement (bwdif)\",\"yLth2B\":\"Désentrelacement deint\",\"g3JmiG\":\"Mode de désentrelacement\",\"aro6lN\":\"Désentrelacement de la parité\",\"YeWQto\":\"Délai\",\"qBC9g9\":\"Délai (ms)\",\"cnGeoo\":\"Supprimer\",\"ScK3zL\":\"La suppression d'un service de publication ne peut pas être annulée. La publication s'arrête immédiatement.\",\"cEx3oI\":\"Mode de livraison\",\"Nu4oKW\":\"Description\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Appareil\",\"+K0AvT\":\"Se déconnecter\",\"miKA/E\":\"Déconnecter et continuer\",\"5/pMTZ\":\"Déconnexion ...\",\"sPFHpI\":\"Disque\",\"qczNPP\":\"Cache disque\",\"PUqOjv\":\"Stockage sur disque\",\"uTwT/l\":\"Voulez-vous vraiment redémarrer l'application maintenant ?\",\"FgxcNT\":[\"Voulez-vous supprimer \\\"\",[\"0\"],\"\\\" ?\"],\"NogZqg\":[\"Voulez-vous supprimer \",[\"titre\"],\" ?\"],\"0p+Mpn\":[\"Voulez-vous déconnecter \\\"\",[\"0\"],\"\\\" ?\"],\"TbjyhA\":\"Documentation\",\"TvY/XA\":\"Documentation\",\"jPtEhI\":\"Cadres de duplication\",\"diaSRH\":\"Chaque champ\",\"u2SnNO\":\"Chaque cadre\",\"ePK91l\":\"Modifier\",\"INCFjw\":\"Modifiez les sources audio et vidéo pour le flux en direct. Ajoutez une description, et définissez la licence souhaitée pour votre contenu.\",\"+7Wr2a\":[\"Editer : \",[\"title\"]],\"e3GLqI\":\"EDIT : Lecteur\",\"dTPDyf\":\"EDIT : Site de publication\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Email :\",\"KKBlUU\":\"Intégrer\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Activer\",\"No9svk\":\"Active un bip périodique toutes les secondes avec cette valeur multipliée par la fréquence porteuse\",\"R7s0Th\":\"Activer le flux de secours\",\"xA5zBY\":\"Activer les statistiques pour nerds\",\"r0zP4o\":\"Activer maintenant\",\"JwR989\":\"Activer le flux principal\",\"blkDNw\":\"Activer le serveur RTMP ...\",\"FgEhO4\":\"Activer le transfert RTMPS\",\"uGvvxq\":\"Activer les instantanés\",\"IuL64N\":\"Activer le serveur SRT ...\",\"NJsnxf\":\"Il est fortement conseillé d'activer l'authentification. Sinon n'importe qui peut accéder à cette instance.\",\"xwS6bX\":\"L'activation de l'authentification de base est fortement conseillée. Sinon, n'importe qui pourrait écrire des données sur /memfs.\",\"0zaXWu\":\"Encodeur\",\"o0XA5y\":\"Encodage\",\"q1srUM\":\"Chiffrement\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Saisissez un nom pour le nouveau canal.\",\"f7sXvi\":\"Entrez le mot de passe\",\"5QCNrf\":\"Saisissez l'adresse de votre source réseau :\",\"WLnvCZ\":\"Entrez le nom d'utilisateur\",\"ijwVVM\":\"Algorithme d'entropie\",\"SlfejT\":\"Erreur\",\"sHoMKO\":\"Erreur lors de la copie de données dans le presse-papiers\",\"TpqeIh\":[\"Erreur : \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Agrandit la zone au-dessus de la liste des chaînes (chat en direct).\",\"IBJg8n\":\"Agrandit la zone située sous la description du canal (cases de commentaires).\",\"XeunlQ\":\"Mode expert\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Étendre la liste des canaux\",\"tG09kC\":\"Étendre le contenu\",\"bPWJOj\":\"Étendre le pied de page\",\"SeaRa5\":\"Prolonger l'en-tête\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Échec de la création du service de publication (\",[\"0\"],\")\"],\"yT6MEY\":\"Échec de la création des fichiers du site Web de publication.\",\"FGdPhH\":\"Impossible de sonder la source. Veuillez vérifier les <0>détails de la sonde.\",\"DvfYM2\":[\"Échec du rafraîchissement du jeton : \",[\"0\"]],\"J0Jclh\":\"Échec de la sauvegarde des métadonnées d'ingestion\",\"RPXHsU\":\"Échec de l'arrêt du processus\",\"AhS7uc\":\"Échec de l'enregistrement du paramètre de taille du lecteur.\",\"PcJRf4\":[\"Échec du stockage du service de publication (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Échec de la mise à jour du processus d'ingestion (\",[\"0\"],\")\"],\"t1E1OU\":[\"Échec de la mise à jour du processus d'acquisition des instantanés (\",[\"0\"],\")\"],\"bssUbs\":\"Échec de la mise à jour du lecteur\",\"4SzVSX\":\"Échec de la mise à jour du site des lecteurs\",\"H8gP5T\":\"Impossible de vérifier la source. Veuillez vérifier l'adresse.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Chemin d'accès au fichier\",\"o7J4JM\":\"Filtre\",\"JmZ/+d\":\"Terminer\",\"k4A6IZ\":\"Taille fixe\",\"Xgkhyj\":\"Drapeaux\",\"+L0/av\":\"Pour les Javascripts.\",\"VBU6dD\":\"Pour les feuilles de style.\",\"XDTTEp\":\"Forcer le taux de rafraîchissement de l'entrée\",\"Y5YNoi\":\"Forcer les images clés\",\"kI1qVD\":\"Format\",\"39hGxo\":\"IPS\",\"3oSVYq\":\"Pertes d'images\",\"lPICcX\":\"L'image est relayée directement (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Fréquence d'images\",\"RFrfTY\":\"Conversion de fréquence (interpolation de trame)\",\"xDfHbM\":\"Mode de framerate\",\"4xNpe4\":\"Fréquence (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Général\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"ID Google Analytics\",\"S/8Noo\":\"Nom du tracker Google Analytics\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Dispositif matériel\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"En-tête\",\"+670Zw\":\"A la une\",\"PFFhCT\":\"Hauteur\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Sortie HLS\",\"oMxmoP\":\"Serveur HLS\",\"5/G5c1\":\"Statistique HLS pour le stockage en mémoire\",\"wXoUQx\":\"Retournement horizontal\",\"8iPCh6\":\"Interface hébergée de Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP et HTTPS\",\"YmRLab\":\"Port HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Port HTTPS\",\"Ptrvx5\":\"Nom lisible par l'homme sur le service.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Si vous avez changé les ports, il se peut que Restreamer Core ait déjà redémarré, mais qu'il soit maintenant disponible sur un port différent.\",\"OQONQS\":\"Si vous avez activé Let's Encrypt TLS, l'acquisition des certificats peut prendre un certain temps. Assurez-vous que Restreamer Core est joignable via le port 80 depuis Internet. Veuillez vérifier le journal de la console de Restreamer Core.\",\"yWR5EY\":\"Code iframe\",\"7ZKroD\":\"Ignorer les plages IP\",\"VyUuZb\":\"URL de l'image\",\"5n8FKh\":\"Impression\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"En plus du lecteur, Restreamer offre une page d'accueil complète, que vous pouvez utiliser pour présenter votre flux en direct facilement et rapidement.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"En mémoire\",\"EwM+sw\":\"Stockage en mémoire\",\"xmsVuq\":\"Incompatibilité\",\"exUN1j\":\"Hériter de\",\"CDdi1R\":\"Injecter 1\",\"MJlrvd\":\"Injecter 2\",\"MppU96\":\"Injecter 3\",\"zBVRQb\":\"Injecter 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Flux d'entrée\",\"jnyWFc\":\"Domaine de l'instance\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervalle (secondes)\",\"C4WaV1\":\"Alerte sur incident\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervalle entre les images clés (secondes)\",\"rdU729\":\"Mise en page\",\"Cpw3fU\":\"Certificat Let's Encrypt\",\"LgUs17\":\"Let's Encrypt requiert un ou plusieurs noms de domaine publics et un port 80/TCP accessible.\",\"oCHfGC\":\"Niveau\",\"eyLS1J\":\"Niveau du protocole du système.\",\"iQmbPb\":\"Licence\",\"mQImez\":\"Couleur de la vie\",\"6BDqha\":\"Limites\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Lignes\",\"yzF66j\":\"Lien\",\"NBxw5Y\":\"Lien, survol de la souris\",\"xCrpEt\":\"Liste des extensions de fichiers à ne pas mettre en cache (par exemple, \\\".m3u8\\\"), une par ligne. Laissez vide pour aucun.\",\"m2l8c3\":\"Liste des extensions de fichiers à mettre en cache (par exemple, \\\".html\\\"), une par ligne. Laissez vide pour mettre en cache tous les types de fichiers.\",\"QYw6tl\":\"Liste des plages IP en notation CIDR, par exemple, 127.0.0.1/32, que les statistiques n'enregistreront pas - une plage IP par ligne. Laissez vide pour enregistrer toutes les sessions.\",\"ELFO4F\":\"Taille de la liste (segments)\",\"D0Nwch\":\"Diffusion en direct sur le service RTMP Live de dlive.\",\"n2VKys\":\"Diffusion en direct vers le service RTMP de Facebook Live\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Diffusion en direct sur le service RTMP de Media Network.\",\"w9zSAv\":\"Service de diffusion en direct sur PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Diffusion en direct sur le service Trovo Live RTMP.\",\"JJGagy\":\"Diffusion en direct sur le service RTMP de Twitch Live.\",\"4TnPVp\":\"Diffusion en direct sur le service RTMP Live de Vimeos\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"ID Livesource\",\"0aIqC4\":\"Niveau du journal\",\"x7PDL5\":\"Enregistrement\",\"z0t9bb\":\"Connexion\",\"+fL+Rj\":[\"La connexion a échoué : \",[\"0\"]],\"4cd7gw\":\"La connexion a échoué : Impossible de charger les détails de l'API\",\"sNqu7k\":\"Authentification à la connexion/JWT\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Déconnexion\",\"DYX2fZ\":\"Boucle\",\"SzaPTL\":\"Normalisation du volume\",\"QGvS9k\":\"Faible latence (Buffer)\",\"GaV7al\":\"Canal principal\",\"Wsn0Uw\":\"Canal principal non trouvé\",\"tROIde\":\"Canal principal sauvegardé\",\"nLVSux\":\"Canal de la page principale (index.html).\",\"rd3Pv7\":\"Source principale\",\"f4txA1\":\"Mainteneur :\",\"3iTz2L\":\"Rendre la chaîne disponible en tant que flux RTMP (expérimental).\",\"mMiku6\":\"Rendre la chaîne disponible en tant que flux SRT (expérimental).\",\"6dZ9NS\":\"Cadres marqués\",\"iuA3xD\":\"Liste de lecture principale (améliore la compatibilité avec les navigateurs et les clients)\",\"WBpxnA\":\"Taille maximale autorisée du cache, 0 pour illimité.\",\"NzaPGT\":\"Mégaoctets de RAM maximum autorisés pour /memfs, 0 pour illimité.\",\"aaso5s\":\"Maximum de mégaoctets autorisés à consommer du disque dur. 0 pour illimité.\",\"4hp5D2\":\"Bande passante maximale Mbit/s\",\"L+uBOR\":\"Délai maximal en millisecondes.\",\"hkoCqq\":\"Taille maximale du fichier (mégaoctets)\",\"i96JfZ\":\"Taille maximale du fichier à mettre dans le cache.\",\"Q9HspI\":\"Historique maximum des logs\",\"bS9ZHz\":\"Lignes maximum des logs\",\"6sayfE\":\"Taille maximale (mégaoctets)\",\"09BWQO\":\"Temps d'inactivité maximum du spectateur (Secondes)\",\"hW0DV1\":\"Nombre maximum de spectateurs\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Mémoire\",\"KReOHe\":\"Limite de mémoire (mégaoctets)\",\"fViWSz\":\"Limite d'utilisation de la mémoire en mégaoctets, 0 pour illimité.\",\"emJ6M7\":\"Méta-information\",\"6GBt0m\":\"Métadonnées\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", default \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Moisissure\",\"QA/rur\":\"Plus d'informations sur les licences ici\",\"fyGu1l\":\"En savoir plus sur le service\",\"yBsv2n\":\"Plus d'informations sur les droits d'auteur de Twitter <0>ici.\",\"ZpfAc9\":\"Plus d'informations sur les droits d'auteur de YouTube <0>ici.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Doit être supérieur à la taille maximale du fichier dans le cache.\",\"gC9RIS\":\"Doit être inférieur à la taille maximale du cache.\",\"R7SsBE\":\"Muet\",\"K0rCAk\":\"Coupez le son d'un canal.\",\"Jv/kid\":\"Muet à gauche\",\"FsCP6P\":\"Muet à droite\",\"6YtxFj\":\"Nom\",\"0ZkQqR\":\"Nom du modèle. Si le nom existe déjà, il sera écrasé.\",\"OR475H\":\"Réseau\",\"KZDcDr\":\"Source du réseau\",\"hXzOVo\":\"Suivant\",\"JZrXI6\":\"Suivant : Audio\",\"kZFy+Q\":\"Suivant : Configuration de la vidéo\",\"1UzENP\":\"Non\",\"p6Fxed\":\"Pas d'audio\",\"bIDO3H\":\"Aucun flux audio disponible\",\"nn9C5B\":\"Aucun dispositif d'entrée disponible\",\"dEwhMr\":\"Aucun flux en direct n'a été détecté. Veuillez vérifier le logiciel qui envoie le flux.\",\"1FJdZA\":\"Pas de source sélectionnée\",\"3TfuWb\":\"Aucune source disponible\",\"fiXA/y\":\"Aucun encodeur approprié n'a été trouvé.\",\"acY4BT\":\"Aucun filtre approprié n'a été trouvé.\",\"/02FxK\":\"Pas de vidéo\",\"AVWnC9\":\"Aucun flux vidéo disponible\",\"wZ7CK3\":\"ID du nœud\",\"9J5l/O\":\"Bruit\",\"EdQY6l\":\"Aucun\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notes\",\"/a9y2d\":\"Nombre de lignes de log à conserver.\",\"ZD0urA\":\"Nombre de logs à conserver pour chaque processus.\",\"Aia5w3\":\"Nombre de secondes pendant lesquelles les limites peuvent être dépassées.\",\"1lZb7D\":\"Nombre de colonnes de tuiles à encoder.\",\"InpHMl\":\"Nombre de tuiles codées avec.\",\"wnRD5D\":\"Nombre de lignes de carreaux à encoder.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Un référent par ligne, ex : http://www.example.com.\",\"1TNIig\":\"Ouvrir\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Tampon de sortie\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase pour le chriffrement SRT.\",\"fpQo1i\":\"La passphrase doit comporter entre 10 et 79 caractères.\",\"3GZXaB\":\"Le Passthrough (copie) ne doit être désactivé que si nécessaire. Chaque encodage nécessite des ressources CPU/GPU supplémentaires.\",\"8ZsakT\":\"Mot de passe\",\"b+AuuK\":\"Mot de passe pour l'authentification.\",\"oREnCY\":\"Mot de passe pour l'appareil.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persistance des statistiques des spectateurs\",\"ANX1b0\":\"rose\",\"c8aBfM\":\"Format des pixels\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan : <0>Démarreur\",\"Ejic1p\":\"Plateformes\",\"gtQk6c\":\"Lecture\",\"vRayGs\":\"Lecteur\",\"tWB9Gz\":\"Sauvegarde des paramètres du lecteur\",\"GIxxiU\":\"URL du lecteur\",\"PUmLMn\":\"Site des lecteurs\",\"LKPR6G\":\"Liste de lecture\",\"luDqS5\":\"Version de la playlist (M3U8). La version 3 a la meilleure compatibilité navigateur/client.\",\"84gH7g\":\"Veuillez vérifier le <0>journal du processus.\",\"OMpKNS\":\"Veuillez contacter l'opérateur du service et vérifier ce qui se passe.\",\"4lATxE\":\"Veuillez saisir votre adresse électronique pour signifier votre accord avec les conditions de service de Let's Encrypt CA et pour être informé en cas de problème.\",\"bdMiXb\":\"Veuillez prendre contact avec l'opérateur du service et vérifier ce qui se passe.\",\"wPZBpR\":\"Veuillez sélectionner un fichier à télécharger.\",\"YcGRmx\":\"Veuillez utiliser \\\"Passthrough (copie)\\\" si possible. L'encodage nécessite des ressources CPU/GPU supplémentaires.\",\"06qnxB\":\"Veuillez patienter. Contrôle des données ...\",\"FTIPkL\":\"Veuillez patienter. Configuration du flux ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Position\",\"d62Stt\":\"Affiche\",\"PNap/Y\":\"URL de l'image du poster\",\"6o2Onc\":\"Préréglage\",\"lxxyq5\":\"Flux principal\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonde\",\"1B9XX0\":\"Processus\",\"DL/nrw\":\"Contrôle du processus\",\"fzYV2N\":\"Détails du processus\",\"zNVLia\":\"Rapport de processus\",\"PwMwvX\":\"Traitement et contrôle\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protocole\",\"hEksWI\":\"Protocoles\",\"aLZh9m\":\"Domaine public/s\",\"7lbVwY\":\"Service de publication non trouvé\",\"ia1vIb\":\"Sauvegarde des paramètres du site Web de publication\",\"XHw75Y\":\"Publications\",\"dsOSCf\":\"Mode \\\"pull\\\"\",\"lQQ/zA\":\"\\\"Pull\\\" ou recevoir les données :\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualité\",\"i9d+3B\":\"Caméra Raspberry Pi\",\"tbXj/A\":\"Contrôle du taux\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"rav1e Paramètres\",\"6PpdQP\":\"Lecture de l'entrée à la vitesse native\",\"bqsSkO\":\"Mode de réception\",\"gcoiFh\":\"Reconnecter\",\"lakzvL\":\"Délai de reconnexion (secondes)\",\"HC1Dci\":[\"Reconnexion en \",[\"0\"],\"s\"],\"uSDaLA\":[\"La reconnexion à Restreamer Core a échoué au cours des \",[\"RETRIES\"],\" dernières secondes.\"],\"N7ojfh\":\"La reconnexion à Restreamer Core a échoué.\",\"lCF0wC\":\"Rafraîchir\",\"uJ+Ve2\":\"Région\",\"CNipTv\":\"Enregistrer l'utilisateur\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Recharger\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Supprimer les entrées les plus anciennes si le /memfs est plein\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Nécessite une activation\",\"XMbkus\":\"Réinitialisation du logo\",\"36SXzE\":\"Réinitialiser l'affiche\",\"6z9W13\":\"Redémarrer\",\"dKwnjv\":\"Redémarrage nécessaire\",\"0Er6+M\":\"Redémarrage de\",\"X1sT1j\":\"Redémarrage de Restreamer Core ...\",\"o5q6jb\":\"Le redémarrage de l'application a échoué.\",\"x8cAsq\":\"Instructions pour Restreamer\",\"24fLVm\":\"Service Restreamer\",\"LCGjV4\":\"Récupération du flux de données ...\",\"6gRgw8\":\"Réessayer\",\"Qe1vaN\":\"Mire de test RVB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Rotation\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Application RTMP pour la publication.\",\"7ggERB\":\"Sortie RTMP\",\"V82lE+\":\"Port RTMP\",\"itARjB\":\"Serveur RTMP\",\"WWZqzz\":\"Le serveur RTMP n'est pas activé\",\"HhOPCL\":\"Adresse d'écoute du serveur RTMP.\",\"DbHOhO\":\"Jeton RTMP pour la publication et la lecture. Le jeton est la valeur du paramètre de requête de l'URL \\\"token\\\".\",\"OAZeFE\":\"Port RTMPS\",\"Wt/wFL\":\"Serveur RTMPS\",\"xwonDv\":\"Adresse d'écoute du serveur RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Règle\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Échantillonnage\",\"tfDRzk\":\"Sauvegarder\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Échelle\",\"6aaceW\":\"Taille de l'échelle\",\"xbb037\":\"Secondes pour garder les fichiers dans le cache.\",\"geM4Wc\":\"Secondes jusqu'à ce qu'un processus soit redémarré.\",\"iF7dnC\":\"Secondes jusqu'à ce qu'un processus bloqué soit terminé.\",\"mydmGn\":\"Secondes jusqu'à ce que l'instantané/la vignette de la source vidéo soit mis à jour.\",\"a3LDKx\":\"Sécurité\",\"Gkr6zI\":\"Jeton de sécurité\",\"/Ocrtf\":\"Couleur du Seekbar\",\"4lDlYf\":\"Longueur du segment (secondes)\",\"XfNrg+\":\"Une fois ce délai écoulé, le segment sera coupé sur l'image clé suivante. Une valeur de 2 est recommandée.\",\"jHCoDy\":\"Segmentation\",\"htbsw4\":\"Sélectionnez un appareil :\",\"O+ruJ3\":\"Sélectionnez la source audio :\",\"6MTTpq\":\"Sélectionnez RTMP ou SRT (si activé) pour une latence moindre.\",\"E7haRr\":\"Sélectionnez la source ...\",\"PlZ1aw\":\"Sélectionnez la source vidéo :\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Sélectionnez votre paramètre d'encodage :\",\"aT3o8A\":\"Sélectionnez les paramètres de votre filtre (facultatif) :\",\"ylXj1N\":\"Sélectionné\",\"kYpw4+\":\"Canal sélectionné\",\"p7/fS2\":\"Sélection\",\"SOePwi\":\"Envoyez des métriques anonymes (nous aide pour les futurs développements)\",\"kOhBl+\":\"Envoyer le flux à l'adresse ...\",\"E1X5xY\":\"Envoyez le flux à cette adresse :\",\"d/IMf3\":\"Envoyer la vidéo au Framebuffer\",\"sGH11W\":\"Serveur\",\"9rG25a\":\"URL du serveur\",\"T3bXxK\":\"Service\",\"KPPdUO\":\"Nom du service\",\"DOrSw/\":\"Jeton de service pour la surveillance.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sessions\",\"xwK3ty\":\"Définir la configuration de rav1e à l'aide d'une liste de paramètres clé-valeur séparés par :-.\",\"FIIk8R\":\"Définit une limite de bande passante en Mbit par seconde pour le transfert des données HLS sortantes. Tous les services, tels que RTMP et les processus sortants, sont inclus dans le calcul. Si la bande passante est dépassée, les spectateurs HLS reçoivent le code d'état HTTP 509 (Bandwidth Limit Exceeded). 0 est illimité.\",\"cOG/FK\":\"Définit une limite de spectateurs pour les sessions HLS. Si la limite est dépassée, les spectateurs HLS reçoivent le code d'état HTTP 509 (limite de bande passante dépassée). La valeur 0 est illimitée.\",\"mcJFKm\":\"Paramètre pour la connexion au service.\",\"Tz0i8g\":\"Paramètres\",\"IiOZ6R\":\"Paramètres (mode expert)\",\"t64OSP\":\"Paramètres pour le chemin /data. L'accès est protégé par\",\"Ytdvyh\":\"Paramètres pour le chemin /memfs.\",\"1w3lYe\":\"Les paramètres sont enregistrés. Toutes les modifications seront appliquées après le redémarrage de l'application.\",\"XUw3i9\":\"Bouton \\\"Partager\\\"\",\"oD0Oes\":\"Affiche une référence au projet.\",\"+vv4q2\":\"S'inscrire (gratuit)\",\"JXVFAm\":\"Silence\",\"VSK9FJ\":\"Silence Audio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nom du site\",\"Cj2Gtd\":\"Taille\",\"yTZe+y\":\"Instantané\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Délai d'attente du socket (microsecondes)\",\"bRN5nm\":\"Logiciel\",\"wdxz7K\":\"Source\",\"sywlQb\":\"Source et encodage\",\"l9wI00\":\"Vitesse\",\"vdhBFK\":\"Vitesse préréglée\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Sortie SRT\",\"YqnAto\":\"Serveur SRT\",\"k6hpqB\":\"Le serveur SRT n'est pas activé\",\"SzqwHY\":\"Adresse d'écoute du serveur SRT.\",\"KwbjpB\":\"Jeton SRT pour la publication et la lecture. Le jeton est la valeur du paramètre streamid \\\"token\\\".\",\"Aj28wT\":\"Délai d'expiration (secondes)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistiques\",\"BrrIs8\":\"Stockage\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Stocke les statistiques du visualiseur sur le disque.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Clé de flux\",\"bqiH5R\":\"Clé de flux\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nom du stream\",\"eXELiS\":\"Noms des streams\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Source de flux pour le service de publication (expérimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL du flux\",\"+fVH0Y\":\"Supporter datarhei Restreamer\",\"5HSoct\":\"Prend en charge HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT et plus encore.\",\"D+NlUC\":\"Système\",\"jkuW2z\":\"Adresse de la cible\",\"/K2CvV\":\"Modèle\",\"2Ivkf/\":\"Modèle à utiliser pour créer le site Web de la publication. Le bouton de suppression supprime la sélection du système.\",\"4Y5H+g\":\"Conditions\",\"tRNH6x\":\"Modèle de test\",\"EtlVOt\":\"Mire (étendue)\",\"wGPolR\":\"Couleurs du texte\",\"m0TUJj\":\"Amplitude (0,0 - 1,0) du flux audio généré\",\"8C6xwe\":\"L'application utilise une ancienne version des paramètres.\",\"VPQVR2\":\"Le binaire FFmpeg disponible ne supporte aucun des protocoles requis.\",\"Gx9PPK\":\"Le débit binaire du flux audio.\",\"T2kk3f\":\"La fréquence porteuse\",\"JAOLK8\":[\"Le canal \\\"\",[\"0\"],\"\\\" n'a pas pu être supprimé\"],\"jNaBhy\":[\"Le canal \\\"\",[\"0\"],\"\\\" a été supprimé\"],\"SD8pYJ\":\"La suppression de ce canal ne peut pas être récupérée. Toutes les publications de ce canal seront supprimées.\",\"bnkV//\":\"Le profil d'entrée est incomplet. Veuillez définir une source vidéo et audio.\",\"wCYjmB\":\"Le profil d'entrée n'est pas complet. Veuillez définir une source vidéo et/ou audio.\",\"JMaqWu\":\"L'organisation du flux audio.\",\"0dqo+p\":\"Le nombre maximum de segments de la liste de lecture. 0 contiendra tous les segments. 6 est recommandé.\",\"BDgbiW\":\"La couleur du bruit\",\"SxGu7I\":\"La personne qui a associé une œuvre à cette licence a dédié l'œuvre au domaine public en renonçant à tous ses droits sur l'œuvre dans le monde entier en vertu de la loi sur le droit d'auteur, y compris tous les droits connexes et voisins, dans la mesure autorisée par la loi. Vous pouvez copier, modifier, distribuer et exécuter l'œuvre, même à des fins commerciales, le tout sans demander la permission.\",\"XISvrq\":\"Le nom de domaine public joignable de l'hôte sur lequel ce Restreamer est exécuté. Séparez les noms de domaine multiples par une virgule.\",\"yt3d3G\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" n'a pas pu être supprimé.\"],\"zYcO/c\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" a été créé.\"],\"AQE+oz\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" a été supprimé.\"],\"qVLWvp\":\"Le service de publication a été créé\",\"njj2Wn\":\"La sortie RTMP nécessite le serveur RTMP.\",\"WRxiP8\":\"La fréquence d'échantillonnage du flux audio.\",\"/pZjRr\":\"Le fichier sélectionné est trop volumineux (<0/>). Seuls <1/> sont autorisés.\",\"VBaSn9\":[\"Le type de fichier sélectionné (\",[\"0\"],\") n'est pas autorisé. Les types de fichiers autorisés sont \",[\"1\"]],\"fM410X\":[\"Les paramètres de \\\"\",[\"0\"],\"\\\" ont été sauvegardés.\"],\"02ii2e\":\"La source ne fournit pas de flux audio.\",\"+2cAEU\":\"La source ne fournit pas de flux audio. Veuillez vérifier les <0>détails de la sonde.\",\"pfqmY7\":\"La source ne fournit pas de flux audio compatible.\",\"VO9KeK\":\"La source ne fournit pas de flux vidéo compatible. Veuillez vérifier les <0>prérequis.\",\"007foU\":\"La source ne fournit pas de flux vidéo. Veuillez vérifier les <0>détails de la sonde.\",\"lAsMdV\":\"La source ne fournit pas de flux vidéo. Veuillez vérifier l'appareil.\",\"XlnvcR\":\"La sortie SRT nécessite le serveur SRT.\",\"w6uuIE\":\"La source vidéo ne fournit pas de flux audio compatible. <0>Silence audio est recommandé. Les services tels que YouTube, Facebook & Co. nécessitent un canal audio.\",\"YJJ2RL\":\"La source vidéo est compatible. Sélectionnez la résolution souhaitée :\",\"wEiZHy\":\"Il y a des mises à jour disponibles. Ici vous obtenez plus d'informations.\",\"4p1MgS\":\"Il y a eu un problème pour enregistrer les paramètres. Paramètres non sauvegardés.\",\"YJhhwT\":[\"Il y a eu une erreur de connexion à Restreamer Core à \",[\"0\"],\".\"],\"q42VsF\":[\"Il y a eu une erreur pendant le téléchargement : \",[\"0\"]],\"HM96PJ\":\"Il y a eu une erreur dans la configuration du stream.\",\"LoDP+Y\":\"Il y a des erreurs dans les paramètres. Les paramètres n'ont pas été sauvegardés.\",\"l92ZKN\":\"Il n'y a pas de méthode de connexion disponible.\",\"cPKuc8\":\"Il s'agit d'un service factice qui vous explique les concepts du service.\",\"Ku8nyu\":\"Il ne s'agit pas nécessairement d'une erreur. Cependant, le redémarrage de Restreamer Core peut prendre un peu plus de temps...\",\"vCRP3w\":\"Il s'agit de mentionner les règles de copyright pour la cible de ce service.\",\"Hx7k3c\":\"Cette licence permet aux réutilisateurs de copier et de distribuer le matériel sur n'importe quel support ou dans n'importe quel format, sous une forme non adaptée uniquement, et à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale.\",\"6OeMYB\":\"Cette licence permet aux réutilisateurs de copier et de distribuer le matériel sur n'importe quel support ou dans n'importe quel format, sous une forme non adaptée uniquement, à des fins non commerciales et à condition que le créateur soit mentionné.\",\"TUuhsB\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou dans n'importe quel format à des fins non commerciales uniquement, et à condition que le créateur soit mentionné.\",\"kVtKRl\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou dans n'importe quel format à des fins non commerciales uniquement, et à condition que le créateur soit mentionné. Si vous remixez, adaptez ou développez le matériel, vous devez accorder une licence au matériel modifié selon des conditions identiques.\",\"FpX5mp\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou format, à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale.\",\"SDvwLd\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou format, à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale. Si vous remixez, adaptez ou développez le matériel, vous devez accorder une licence au matériel modifié selon des conditions identiques.\",\"H144rX\":\"Ce protocole est inconnu ou n'est pas supporté par le binaire FFmpeg disponible.\",\"nlOxxw\":\"Cette source ne peut pas être éditée lorsqu'elle est en cours d'utilisation. Pour continuer, vous devez déconnecter la source.\",\"mbSyrG\":[\"Cette version de l'interface utilisateur ne prend pas en charge le binaire FFmpeg disponible (\",[\"0\"],\"). L'interface utilisateur requiert \",[\"1\"],\". Veuillez utiliser un binaire FFmpeg supporté.\"],\"N/tTgz\":[\"Cette version de l'IU ne prend pas en charge le Core connecté (\",[\"0\"],\"). L'IU requiert \",[\"1\"],\". Veuillez utiliser une version compatible de l'IU.\"],\"2Vq5tr\":\"Cette version de l'interface utilisateur est compatible.\",\"QxX9Z5\":\"Seuil (secondes)\",\"sNmspt\":\"Colonnes de carrelage\",\"sYGp2E\":\"Rangées de carreaux\",\"wbOpwP\":\"Carreaux\",\"H59P7E\":\"Temps jusqu'à ce qu'une connexion de téléspectateur inactive soit traitée comme fermée.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Pour stabiliser le système, augmentez la longueur du segment HLS pour l'intervalle d'images clés de 2-3 * (Traitement et contrôle).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Champ supérieur\",\"7mjsuh\":\"Transmettre un Livestream à une chaîne Telegram.\",\"Gxlq7L\":\"Transmettre des instantanés de la source principale à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"SdyhUl\":\"Transmet le canal audio de la source principale à un serveur Icecast. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"MayU3b\":\"Transmettre la source principale en tant que HTTP-Live-Streaming (HLS) à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"3K8kpL\":\"Transmettre la source principale en MPEG-DASH à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"P/J230\":\"Transmettre la source principale à un service Live de Brightcove. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"u0MhFy\":\"Transmettre la source principale à un service CDN77 RTMP. Plus d'informations sur la configuration <0>ici.\",\"zkgT7c\":\"Transmettre la source principale à un service DaCast RTMP. Plus d'informations sur la configuration <0>ici.\",\"in9xJz\":\"Transmettre la source principale à un datarhei Core Ressource. Plus de détails sur les paramètres peuvent être trouvés <0>ici.\",\"PcgwEU\":\"Transmettre la source principale à une Ressource livespotting.com. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"D7jwpf\":\"Transmettre la source principale à un service MPEG-TS. Vous trouverez plus de détails sur les réglages ici <0>ici.\",\"SpSgUV\":\"Transmettre la source principale à un serveur Red5/Pro. Vous trouverez plus de détails sur les réglages <0>ici.\",\"lIpqI/\":\"Transmettre la source principale à un serveur RTMP(e|s|t|te|ts). Vous trouverez plus de détails sur les paramètres <0>ici.\",\"pqR6nq\":\"Transmettre la source principale à un serveur RTSP. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Q4dSnZ\":\"Transmettre la source principale à un serveur SRT. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"fx9S4p\":\"Transmettre la source principale à un serveur UDP. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"GLXY2N\":\"Transmettre la source principale à un serveur WOWZA. Vous trouverez plus de détails sur les réglages <0>ici.\",\"AsMKFi\":\"Transmettre la source principale à l'Akamai (MSL) Media Services Live. Vous trouverez plus de détails sur les paramètres de l'encodeur MSL sur <0>ici.\",\"FB364G\":\"Transmettre la source principale au service RTMP de Livepush. Plus de détails sur les paramètres peuvent être trouvés <0>ici.\",\"CC9yS5\":\"Transmettre la source principale au service RTMP de Nimo TV. Pour plus de détails sur les réglages, voir <0>ici.\",\"fP8ZYg\":\"Transmettre la source principale au service RTMP de Picarto TV. Pour plus de détails sur les réglages, voir <0>ici.\",\"D9A0LK\":\"Transmettre la source principale au service RTMP de Restream. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"YL800g\":\"Transmettre à un service de médias Azure. Plus de détails peuvent être trouvés <0>ici.\",\"Abgy4c\":\"Transmettre à LinkedIn. Plus de détails peuvent être trouvés <0>ici.\",\"dhCZoS\":\"Transmettez votre Livestream à un service RTMP de Dailymotion. Vous trouverez ici plus de détails sur les paramètres.\",\"AqYRa3\":\"Transmettez votre Livestream à un service RTMP de Rumble. here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmet votre flux vidéo avec la clé requise, qui a été générée dans Twitter Producer. Vous trouverez plus d'informations sur la configuration d'un flux en direct sur le site <0>Producteur de Twitter.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Transport UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Impossible de charger la configuration.\",\"MWrgON\":\"Identifiant unique sur le service.\",\"Ef7StM\":\"Inconnu\",\"wiIpKZ\":\"Erreur de téléchargement inconnue\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Non sélectionné\",\"j9zg7e\":\"Détails de la mise à jour (Changelog)\",\"ONWvwQ\":\"Télécharger\",\"OXItQT\":[\"Téléchargez un fichier audio (\",[\"0\"],\") pour le mettre en boucle.\"],\"75yxb7\":[\"Télécharger un fichier image ou vidéo (\",[\"0\"],\") pour le mettre en boucle.\"],\"iAkPTY\":\"Le téléchargement du fichier a échoué\",\"Jmy6pK\":\"Le téléchargement du logo a échoué\",\"xl1xFp\":\"Le téléchargement de l'affiche a échoué\",\"TjrbDj\":\"Temps de fonctionnement\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Utilisez Auth0 pour votre noyau Restreamer en cours d'exécution. Plus de <0>détails.\",\"JX4TqK\":\"Utilisez l'assistant (<0/>) pour une configuration rapide et facile, ou éditez (<1/>) les sources directement en mode personnalisé.\",\"YYTBz0\":\"Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu'elle soit libre pour tous ou fortement restreinte. Discutez brièvement de ce que les autres sont autorisés à faire avec votre image.\",\"2UPEb1\":\"Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu'il s'agisse d'une licence gratuite pour tous ou d'une licence très restreinte. Indiquez brièvement de ce que les autres sont autorisés à faire avec votre image.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Inscription de l'utilisateur\",\"7sNhEz\":\"Nom d'utilisateur\",\"Gv3pbp\":\"Nom d'utilisateur pour l'authentification.\",\"RQSvXZ\":\"Nom d'utilisateur pour l'appareil.\",\"zze3B5\":\"V4L2_M2M est expérimental.\",\"PvM7Yi\":\"Fréquence d'images variable (VFR)\",\"hpBTpL\":\"velours\",\"uIAsxu\":\"Flip vertical\",\"vSJd18\":\"Vidéo\",\"auaWhL\":\"Appareil vidéo\",\"/skRGV\":\"Paramètres vidéo\",\"EzOjvB\":\"Configuration vidéo\",\"QcQXbU\":\"Source vidéo\",\"M/TIv1\":\"Spectateurs\",\"L2hKw+\":\"violet\",\"hA6FFn\":\"Source virtuelle\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"ID VPU\",\"wRy4hg\":\"Nous recommandons OpenMAX IL pour Raspberry PI (3/4) avec un système d'exploitation 32 bits.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Bienvenue dans Restreamer v2, la solution pour la publication rapide et facile de vidéos. Gratuit pour une utilisation privée et commerciale. Plus d'aide dans la <0>documentation.\",\"hJfWkA\":\"Quel préréglage de vitesse utiliser.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Où stocker la liste de lecture et les segments HLS. Le stockage en mémoire est recommandé.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"blanc\",\"aFWU1n\":\"Largeur\",\"e0wV2Y\":\"Protection de l'écriture\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Oui\",\"WPUsOF\":\"Vous ne pouvez pas interrompre l'assistant car au moins une entrée doit être définie.\",\"qwY9F9\":\"Vous avez modifié la configuration. Pour que les changements prennent effet, vous devez redémarrer l'application. Voulez-vous redémarrer maintenant ?\",\"nxq2ni\":\"Vous devez vous reconnecter manuellement\",\"RM3CEc\":\"Vous avez des modifications non sauvegardées. Veuillez les sauvegarder avant de pouvoir contrôler à nouveau le service.\",\"/cg7qS\":\"Votre flux doit être encodé, mais aucun encodeur approprié n'est disponible.\",\"BwrOm6\":\"Votre flux doit être encodé. Choisissez l'encodeur souhaité :\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Mire de test YUV\"}")}; \ No newline at end of file diff --git a/src/locales/fr/messages.po b/src/locales/fr/messages.po index 016ead1..7bade66 100644 --- a/src/locales/fr/messages.po +++ b/src/locales/fr/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Liste des compatibilités" msgid "<0>Show probe details" msgstr "<0>Montrer les détails de la sonde." -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Passez à l'interface du Restreamer cible." @@ -76,11 +76,16 @@ msgstr "Abandonner" msgid "About" msgstr "À propos de" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Audio" @@ -302,10 +311,6 @@ msgstr "Auteur" msgid "Authorization" msgstr "Autorisation" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Lecture automatique" msgid "Available" msgstr "Disponible" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Temps de cache (Secondes)" msgid "Cache types" msgstr "Types de caches" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Couleur" msgid "Command" msgstr "Commandement" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Configurer" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Appareil connecté" msgid "Connected since <0/>" msgstr "Connecté depuis <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Connection ..." @@ -616,15 +618,19 @@ msgstr "Mode de quantification constante (-1 à 255)." msgid "Content" msgstr "Contenu" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL du contenu" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Limite de l'unité centrale (pourcentage)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Limite d'utilisation du CPU en pourcentage (0-100%), 0 pour illimité." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Mode de désentrelacement" msgid "Deinterlace parity" msgstr "Désentrelacement de la parité" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Délai" @@ -851,14 +841,6 @@ msgstr "La suppression d'un service de publication ne peut pas être annulée. L msgid "Delivering mode" msgstr "Mode de livraison" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Se déconnecter" msgid "Disconnect & Continue" msgstr "Déconnecter et continuer" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT : Lecteur" msgid "EDIT: Publication Website" msgstr "EDIT : Site de publication" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Email :" msgid "Embed" msgstr "Intégrer" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Encodage" msgid "Encryption" msgstr "Chiffrement" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Saisissez un nom pour le nouveau canal." @@ -1101,12 +1099,12 @@ msgstr "Erreur" msgid "Error while copying data to clipboard" msgstr "Erreur lors de la copie de données dans le presse-papiers" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Erreur : {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Chemin d'accès au fichier" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filtre" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Général" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "ID Google Analytics" @@ -1353,24 +1351,21 @@ msgstr "ID Google Analytics" msgid "Google Analytics Tracker Name" msgstr "Nom du tracker Google Analytics" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Dispositif matériel" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "A la une" msgid "Height" msgstr "Hauteur" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Statistique HLS pour le stockage en mémoire" msgid "Horizontal Flip" msgstr "Retournement horizontal" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Interface hébergée de Restreamer" @@ -1438,8 +1429,8 @@ msgstr "Port HTTPS" msgid "Human readable name on the service." msgstr "Nom lisible par l'homme sur le service." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Incompatibilité" msgid "Inherit" msgstr "Hériter de" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Injecter 1" @@ -1527,6 +1514,14 @@ msgstr "Injecter 3" msgid "Inject 4" msgstr "Injecter 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Intervalle entre les images clés (secondes)" msgid "Layout" msgstr "Mise en page" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Certificat Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Diffusion en direct sur le service RTMP de Twitch Live." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Diffusion en direct sur le service RTMP Live de Vimeos" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "ID Livesource" @@ -1726,7 +1721,7 @@ msgstr "Normalisation du volume" msgid "Low latency (Buffer)" msgstr "Faible latence (Buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Canal principal" @@ -1848,6 +1843,10 @@ msgstr "Métadonnées" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, default {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Moisissure" @@ -1870,7 +1869,7 @@ msgstr "Plus d'informations sur les droits d'auteur de Twitter <0>ici." msgid "More about YouTube's copyright <0>here." msgstr "Plus d'informations sur les droits d'auteur de YouTube <0>ici." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Pas d'audio" msgid "No audio stream available" msgstr "Aucun flux audio disponible" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Aucun dispositif d'entrée disponible" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Aucun flux en direct n'a été détecté. Veuillez vérifier le logiciel qui envoie le flux." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Pas de source sélectionnée" @@ -1989,7 +1972,7 @@ msgstr "Aucun encodeur approprié n'a été trouvé." msgid "No suitable filter found." msgstr "Aucun filtre approprié n'a été trouvé." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Pas de vidéo" @@ -1998,10 +1981,6 @@ msgstr "Pas de vidéo" msgid "No video stream available" msgstr "Aucun flux vidéo disponible" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "ID du nœud" @@ -2052,10 +2031,6 @@ msgstr "Nombre de tuiles codées avec." msgid "Number of tiles rows to encode with." msgstr "Nombre de lignes de carreaux à encoder." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Un référent par ligne, ex : http://www.example.com." msgid "Open" msgstr "Ouvrir" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Tampon de sortie" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Mot de passe pour l'appareil." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Liste de lecture" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Version de la playlist (M3U8). La version 3 a la meilleure compatibilité navigateur/client." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Veuillez vérifier le <0>journal du processus." @@ -2309,16 +2284,9 @@ msgstr "Préréglage" msgid "Primary stream" msgstr "Flux principal" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Processus" msgid "Process control" msgstr "Contrôle du processus" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Détails du processus" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protocole" msgid "Protocols" msgstr "Protocoles" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Domaine public/s" @@ -2437,6 +2401,10 @@ msgstr "Mode \"pull\"" msgid "Pull or recieve the data:" msgstr "\"Pull\" ou recevoir les données :" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Reconnecter" msgid "Reconnect delay (seconds)" msgstr "Délai de reconnexion (secondes)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Région" msgid "Register user" msgstr "Enregistrer l'utilisateur" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Supprimer les entrées les plus anciennes si le /memfs est plein" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Instructions pour Restreamer" msgid "Restreamer Service" msgstr "Service Restreamer" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Récupération du flux de données ..." @@ -2618,15 +2578,15 @@ msgstr "Réessayer" msgid "RGB test pattern" msgstr "Mire de test RVB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Rotation" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Règle" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Échelle" msgid "Scale size" msgstr "Taille de l'échelle" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Secondes pour garder les fichiers dans le cache." @@ -2778,10 +2738,6 @@ msgstr "Une fois ce délai écoulé, le segment sera coupé sur l'image clé sui msgid "Segmentation" msgstr "Segmentation" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Sélectionnez la source ..." msgid "Select video source:" msgstr "Sélectionnez la source vidéo :" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Choisissez si vous chargez le flux d'une <0>source réseau (comme une caméra réseau) ou du <1>serveur RTMP interne (par exemple, les flux OBS vers le Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Nom du service" msgid "Service token for monitoring." msgstr "Jeton de service pour la surveillance." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Paramètres" msgid "Settings (expert mode)" msgstr "Paramètres (mode expert)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Paramètres pour le chemin /data. L'accès est protégé par" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Taille" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Instantané" @@ -3005,7 +2957,7 @@ msgstr "Vitesse" msgid "Speed Preset" msgstr "Vitesse préréglée" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Carreaux" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Temps jusqu'à ce qu'une connexion de téléspectateur inactive soit traitée comme fermée." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Pour stabiliser le système, augmentez la longueur du segment HLS pour l'intervalle d'images clés de 2-3 * (Traitement et contrôle)." @@ -3477,18 +3413,6 @@ msgstr "Pour stabiliser le système, augmentez la longueur du segment HLS pour l msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Champ supérieur" @@ -3627,12 +3551,12 @@ msgstr "Tune" msgid "UDP transport" msgstr "Transport UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Inconnu" msgid "Unknown upload error" msgstr "Erreur de téléchargement inconnue" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Le téléchargement de l'affiche a échoué" msgid "Uptime" msgstr "Temps de fonctionnement" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu' msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Inscription de l'utilisateur" @@ -3773,10 +3693,6 @@ msgstr "Nom d'utilisateur pour l'authentification." msgid "Username for the device." msgstr "Nom d'utilisateur pour l'appareil." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M est expérimental." @@ -3850,10 +3766,10 @@ msgstr "ID VPU" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Nous recommandons OpenMAX IL pour Raspberry PI (3/4) avec un système d'exploitation 32 bits." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Bienvenue dans Restreamer v2, la solution pour la publication rapide et msgid "What speed preset to use." msgstr "Quel préréglage de vitesse utiliser." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Où stocker la liste de lecture et les segments HLS. Le stockage en mémoire est recommandé." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "blanc" @@ -3881,6 +3809,10 @@ msgstr "Largeur" msgid "Write protection" msgstr "Protection de l'écriture" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Oui" @@ -3893,7 +3825,7 @@ msgstr "Vous ne pouvez pas interrompre l'assistant car au moins une entrée doit msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Vous avez modifié la configuration. Pour que les changements prennent effet, vous devez redémarrer l'application. Voulez-vous redémarrer maintenant ?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Vous devez vous reconnecter manuellement" @@ -3910,14 +3842,6 @@ msgstr "Votre flux doit être encodé, mais aucun encodeur approprié n'est disp msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Votre flux doit être encodé. Choisissez l'encodeur souhaité :" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/it/messages.js b/src/locales/it/messages.js index 6cc25eb..0714d9c 100644 --- a/src/locales/it/messages.js +++ b/src/locales/it/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Elenco di compatibilità\",\"TkRUk0\":\"<0>Mostra dettagli sonda\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Passare all'interfaccia del Restreamer di destinazione.\",\"2JnpXL\":\"2. Creare un nuovo canale e selezionare il server RTMP o SRT.\",\"YidyJl\":\"3. Copiare l'URL e incollarlo nel campo \\\"Indirizzo di destinazione\\\".\",\"X1MZZp\":\"6 (+ garantito per iniziare con un telaio chiave)\",\"JVJkxU\":\"7 (+ formato MP4 frammentato)\",\"ssjjFt\":\"Abort\",\"uyJsf6\":\"A proposito di\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Aggiungi\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Aggiungere widget e stili esterni al sito di pubblicazione. Può trovare alcuni esempi nella pagina di aiuto.\",\"tsJWSj\":\"Aggiungere un nuovo canale\",\"PLTLdv\":\"Aggiungi pubblicazione\",\"35l+l6\":[\"Aggiungi: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Indirizzo\",\"8M7jVn\":\"Indirizzo per l'immagine di sfondo.\",\"Vu9yiv\":\"Indirizzo da ascoltare per le richieste HTTP.\",\"AQDW5r\":\"Indirizzo su cui ascoltare le richieste HTTPS.\",\"tPrmjP\":\"Indirizzo:\",\"owt8Ow\":\"Regoli i colori del sito di pubblicazione e lo sfondo come preferisce.\",\"uNXGDK\":\"Monitoraggio avanzato\",\"VNgKZz\":\"Impostazioni avanzate\",\"eiGNYb\":\"Configurazione avanzata\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Avvisi via e-mail\",\"N40H+G\":\"Tutti\",\"Hw5q+W\":\"Tutte le cornici\",\"f2zxGk\":\"Tutte le impostazioni importanti del sistema.\",\"lle3bd\":\"Consentire tutti i referenti\",\"bgFbIB\":\"Permette di contare quanti spettatori ha lo stream.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Ampiezza\",\"ngteek\":\"Una variabile d'ambiente imposta questo valore.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Endpoint API non trovato. Impostazioni non salvate.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Applicazione\",\"xnCC/2\":\"È sicuro di voler interrompere la procedura guidata?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Dispositivo audio\",\"sYyYfE\":\"Dispositivo audio\",\"2he4Ra\":\"Audio dal dispositivo\",\"MvY15a\":\"Impostazioni audio\",\"NoLJ6g\":\"Configurazione audio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 non è attualmente disponibile perché questa interfaccia è caricata da un'origine non sicura.\",\"aKsflb\":\"Auth0 Inquilino\",\"VbeIOx\":\"Autore\",\"NJgJy9\":\"Autorizzazione\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Pulizia automatica di tutti i dati dei media\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Disponibile\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Indietro\",\"1KfyNL\":\"Colori di sfondo\",\"23c2Uw\":\"Immagine di sfondo\",\"r0bEmM\":\"Server di backup\",\"JFjQhH\":\"Flusso di backup\",\"bkJ+QE\":\"URL di backup\",\"OlXThP\":\"Larghezza di banda\",\"QYaaBO\":\"Controllo della larghezza di banda\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Di base\",\"YR04fn\":\"Fattore bip\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Tipi di cache a blocchi\",\"zOC7cT\":\"blu\",\"359XuU\":\"Campo inferiore\",\"aC3kWW\":\"Descriva brevemente ciò che il pubblico vedrà durante il live stream.\",\"SehDNd\":\"marrone\",\"Ptp9MF\":\"Colore del pulsante\",\"Lp4WkO\":\"Per altezza\",\"IeV/4P\":\"Per larghezza\",\"KxP5AO\":\"Cache per i file su /data.\",\"qX8ffo\":\"Tempo di cache (secondi)\",\"4dRAku\":\"Tipi di cache\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Buffer di cattura\",\"aL2+1d\":\"Cattura i clic\",\"EOfLfP\":\"Cattura del cursore\",\"ieS3Wc\":[\"Canale \\\"\",[\"0\"],\"\\\" salvato\"],\"lfFsZ4\":\"Canali\",\"WMCwmR\":\"Controlla gli aggiornamenti\",\"vM6kpc\":\"Controlla i requisiti\",\"Wzgqhl\":\"Scegliere un flusso video\",\"JpTR0/\":\"Scegliere un flusso audio\",\"BTNyrQ\":\"Scegliere un dispositivo di input ...\",\"f9QIui\":\"Scegliere un flusso di ingresso ...\",\"/Y6zrN\":\"Scegliere tra CFR e VFR (Auto)\",\"gObOjh\":\"Scegliere il codec ...\",\"v7lrmU\":\"Scelga l'inquilino ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Chiudere\",\"r8NEPc\":\"Iniezione di codice\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Colore\",\"sjVfrA\":\"Comando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Configurazione\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Confermare la password\",\"iSLIjg\":\"Collegare\",\"NL3Gev\":\"Dispositivo collegato\",\"ywAvGr\":\"Collegato da <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Collegamento ...\",\"y6+BXa\":\"Collegamento a Restreamer Core ...\",\"Td5lm6\":\"La connessione a Restreamer Core non è riuscita, probabilmente a causa del contenuto misto.\",\"awE5Py\":\"Frequenza di fotogrammi costante (CFR)\",\"DT0Af/\":\"Modalità Quantizzatore costante (da -1 a 255).\",\"4b3oEV\":\"Contenuto\",\"U34RbB\":\"URL del contenuto\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Nuclei\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Limite CPU (percentuale)\",\"uW5tVo\":\"Limite di utilizzo della CPU in percentuale (0-100%), 0 per illimitato.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Personalizzato ...\",\"kH80Lk\":\"Dispositivo audio personalizzato\",\"fW1XQD\":\"Indice audio personalizzato\",\"bzREp0\":\"Bitrate personalizzato (kbit/s)\",\"w9oKek\":\"Iniezione di codice personalizzato\",\"jYaP01\":\"Ritardo personalizzato\",\"2Gw+zZ\":\"Dispositivo personalizzato\",\"WCXGNp\":\"Formato personalizzato\",\"ZkpZ06\":\"Framerate personalizzato\",\"1OXCgh\":\"Configurazione JSON personalizzata per datarhei Core.\",\"kl56NX\":\"Intervallo keyframe personalizzato\",\"prIqWa\":\"Layout personalizzato\",\"HSB43e\":\"Campionamento personalizzato (Hz)\",\"Efe3BI\":\"Scala personalizzata\",\"E/2KdS\":\"Dimensione personalizzata\",\"Se794B\":\"Dispositivo video personalizzato\",\"aqv915\":\"Indice video personalizzato\",\"v8OlX8\":\"Dati copiati negli appunti\",\"J/VBax\":\"Colore della morte\",\"d2TTfK\":\"Decibel (dB)\",\"W034oz\":\"Decoder\",\"ovBPCi\":\"Default\",\"gFwPaj\":[\"Predefinito \",[\"0\"]],\"JQnkrI\":[\"Predefinito \",[\"0\"],\" (\",[\"1\"],\" secondi)\"],\"A7rne1\":\"Deinterlacciamento (bwdif)\",\"yLth2B\":\"Deinterlacciamento deint\",\"g3JmiG\":\"Modalità deinterlacciata\",\"aro6lN\":\"Deinterlacciamento della parità\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Ritardo\",\"qBC9g9\":\"Ritardo (ms)\",\"cnGeoo\":\"Cancellare\",\"ScK3zL\":\"L'eliminazione di un servizio di pubblicazione non può essere annullata. La pubblicazione si interrompe immediatamente.\",\"cEx3oI\":\"Modalità di consegna\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Descrizione\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Dispositivo\",\"+K0AvT\":\"Scollegare\",\"miKA/E\":\"Disconnettersi e continuare\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Scollegamento ...\",\"sPFHpI\":\"Disco\",\"qczNPP\":\"Cache del disco\",\"PUqOjv\":\"Archiviazione su disco\",\"uTwT/l\":\"Vuoi davvero riavviare l'applicazione ora?\",\"FgxcNT\":[\"Vuole cancellare \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Vuoi cancellare \",[\"titolo\"],\"?\"],\"0p+Mpn\":[\"Vuole disconnettere \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Documenti\",\"TvY/XA\":\"Documentazione\",\"jPtEhI\":\"Telai duplicati\",\"diaSRH\":\"Ogni campo\",\"u2SnNO\":\"Ogni cornice\",\"ePK91l\":\"Modifica\",\"INCFjw\":\"Modifichi le fonti audio e video per il live stream. Aggiunga una descrizione e imposti la licenza di contenuto desiderata.\",\"+7Wr2a\":[\"Modifica: \",[\"titolo\"]],\"e3GLqI\":\"EDIT: Giocatore\",\"dTPDyf\":\"EDIT: Sito web di pubblicazione\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Incorporare\",\"PaQ3df\":\"Abilitazione\",\"No9svk\":\"Abilita un bip periodico ogni secondo con questo valore moltiplicato per la frequenza della portante\",\"R7s0Th\":\"Attiva il flusso di backup\",\"xA5zBY\":\"Abilita le statistiche dei nerd\",\"r0zP4o\":\"Attivare ora\",\"JwR989\":\"Attiva il flusso primario\",\"blkDNw\":\"Abilitare il server RTMP ...\",\"FgEhO4\":\"Abilita il trasferimento RTMPS\",\"uGvvxq\":\"Abilita le istantanee\",\"IuL64N\":\"Abilitare il server SRT ...\",\"NJsnxf\":\"L'abilitazione dell'autorizzazione è fortemente consigliata. Altrimenti, chiunque può accedere a questa istanza.\",\"xwS6bX\":\"L'abilitazione dell'autenticazione di base è fortemente consigliata. Altrimenti, chiunque potrebbe scrivere dati su /memfs.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Codifica\",\"q1srUM\":\"Crittografia\",\"qS2y97\":\"Inserisca un nome per il nuovo canale.\",\"f7sXvi\":\"Inserire la password\",\"5QCNrf\":\"Inserisci l'indirizzo della tua sorgente di rete:\",\"WLnvCZ\":\"Inserisca il nome utente\",\"ijwVVM\":\"Codificatore di entropia\",\"SlfejT\":\"Errore\",\"sHoMKO\":\"Errore durante la copia dei dati negli appunti\",\"TpqeIh\":[\"Errore: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Espande l'area sopra l'elenco dei canali (live chat).\",\"IBJg8n\":\"Espande l'area sotto la descrizione del canale (caselle di commento).\",\"XeunlQ\":\"Modalità esperto\",\"qNpEXB\":\"EXT-X-VERSIONE\",\"/svCaE\":\"Estendere l'elenco dei canali\",\"tG09kC\":\"Estendere il contenuto\",\"bPWJOj\":\"Estendere il piè di pagina\",\"SeaRa5\":\"Estendere l'intestazione\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Impossibile creare il servizio di pubblicazione (\",[\"0\"],\")\"],\"yT6MEY\":\"Impossibile creare i file del sito web della pubblicazione.\",\"FGdPhH\":\"Impossibile sondare la sorgente. Per favore controlla i <0>dettagli della sonda.\",\"DvfYM2\":[\"Impossibile aggiornare il token: \",[\"0\"]],\"J0Jclh\":\"Non è riuscito a salvare i metadati di ingest\",\"RPXHsU\":\"Non è riuscito a fermare il processo\",\"AhS7uc\":\"Impossibile memorizzare l'impostazione delle dimensioni del giocatore.\",\"PcJRf4\":[\"Impossibile memorizzare il servizio di pubblicazione (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Fallito l'aggiornamento del processo di ingest (\",[\"0\"],\")\"],\"t1E1OU\":[\"Fallito l'aggiornamento del processo di ingest snapshot (\",[\"0\"],\")\"],\"bssUbs\":\"Non è riuscito ad aggiornare il giocatore\",\"4SzVSX\":\"Non è riuscito ad aggiornare il sito dei giocatori\",\"H8gP5T\":\"Impossibile verificare la fonte. Si prega di controllare l'indirizzo.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Percorso del file\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filtro\",\"JmZ/+d\":\"Finitura\",\"k4A6IZ\":\"Fissare le dimensioni\",\"Xgkhyj\":\"Bandiere\",\"+L0/av\":\"Per i Javascript.\",\"VBU6dD\":\"Per i fogli di stile.\",\"XDTTEp\":\"Forzare il framerate in ingresso\",\"Y5YNoi\":\"Forzare i fotogrammi dei tasti\",\"kI1qVD\":\"Formato\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Cadute del telaio\",\"lPICcX\":\"Il frame viene fatto passare (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Conversione del framerate (interpolazione dei fotogrammi)\",\"xDfHbM\":\"Modalità framerate\",\"4xNpe4\":\"Frequenza (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Generale\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"ID di Google Analytics\",\"S/8Noo\":\"Nome del tracker di Google Analytics\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Dispositivo hardware\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Intestazione\",\"+670Zw\":\"Titolo\",\"PFFhCT\":\"Altezza\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Uscita HLS\",\"oMxmoP\":\"Server HLS\",\"5/G5c1\":\"Statistica HLS per l'archiviazione In-memory\",\"wXoUQx\":\"Capovolgimento orizzontale\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Interfaccia Restreamer in hosting\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP e HTTPS\",\"YmRLab\":\"Porta HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Porta HTTPS\",\"Ptrvx5\":\"Nome leggibile dall'uomo del servizio.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Se ha cambiato le porte, è possibile che Restreamer Core sia già stato riavviato, ma ora è disponibile su una porta diversa.\",\"OQONQS\":\"Se ha attivato Let's Encrypt TLS, potrebbe essere necessario un po' di tempo per acquisire i certificati. Si assicuri che Restreamer Core sia raggiungibile tramite la porta 80 da Internet. Controlli il registro della console di Restreamer Core.\",\"yWR5EY\":\"codice iframe\",\"7ZKroD\":\"Ignora gli intervalli IP\",\"VyUuZb\":\"URL dell'immagine\",\"5n8FKh\":\"Impronta\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Oltre al player, Restreamer offre una landingpage completa, che può utilizzare per presentare il suo live stream in modo semplice e veloce.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"Archiviazione in memoria\",\"xmsVuq\":\"Incompatibile\",\"exUN1j\":\"Eredita\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Iniettare 1\",\"MJlrvd\":\"Iniettare 2\",\"MppU96\":\"Iniettare 3\",\"zBVRQb\":\"Iniettare 4\",\"Adqgqr\":\"Flusso di ingresso\",\"jnyWFc\":\"Dominio dell'istanza\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervallo (secondi)\",\"C4WaV1\":\"Allarme problemi\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervallo dei fotogrammi chiave (secondi)\",\"rdU729\":\"Layout\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Certificazione Let's Encrypt\",\"LgUs17\":\"Let's Encrypt richiede uno o più nomi di dominio pubblico e una porta 80/TCP accessibile.\",\"oCHfGC\":\"Livello\",\"eyLS1J\":\"Livello di protocollo del sistema.\",\"iQmbPb\":\"Licenza\",\"mQImez\":\"Colore della vita\",\"6BDqha\":\"Limiti\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Linee\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, passaggio del mouse\",\"xCrpEt\":\"Elenco di estensioni di file da non memorizzare nella cache (ad esempio, \\\".m3u8\\\"), una per riga. Lasciare vuoto per nessuna.\",\"m2l8c3\":\"Elenco di estensioni di file da mettere in cache (ad esempio \\\".html\\\"), una per riga. Lasciare vuoto per mettere in cache tutti i tipi di file.\",\"QYw6tl\":\"Elenco di intervalli IP in notazione CIDR, ad esempio 127.0.0.1/32, che le statistiche non registreranno, un intervallo IP per riga. Lasciare vuoto per registrare tutte le sessioni.\",\"ELFO4F\":\"Dimensione della lista (segmenti)\",\"D0Nwch\":\"Trasmissione in diretta su dlive Live RTMP Service.\",\"n2VKys\":\"Live-Streaming verso il servizio RTMP di Facebook Live\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Trasmissione in diretta al servizio RTMP di Media Network.\",\"w9zSAv\":\"Trasmissione in diretta al servizio PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Trasmissione in diretta al servizio Trovo Live RTMP.\",\"JJGagy\":\"Live-Streaming su Twitch Live RTMP Service.\",\"4TnPVp\":\"Trasmissione in diretta su Vimeo Live RTMP Service\",\"G4x3PY\":\"ID Livesource\",\"0aIqC4\":\"Livello di registro\",\"x7PDL5\":\"Registrazione\",\"z0t9bb\":\"Accesso\",\"+fL+Rj\":[\"Accesso fallito: \",[\"0\"]],\"4cd7gw\":\"Accesso fallito: Impossibile caricare i dettagli API\",\"sNqu7k\":\"Accesso/Autorizzazione JWT\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Disconnessione\",\"DYX2fZ\":\"Anello\",\"SzaPTL\":\"Normalizzazione del loudness\",\"QGvS9k\":\"Bassa latenza (buffer)\",\"GaV7al\":\"Canale principale\",\"Wsn0Uw\":\"Canale principale non trovato\",\"tROIde\":\"Canale principale salvato\",\"nLVSux\":\"Canale della pagina principale (index.html).\",\"rd3Pv7\":\"Fonte principale\",\"f4txA1\":\"Manutentore:\",\"3iTz2L\":\"Rendere il canale disponibile come flusso RTMP (sperimentale).\",\"mMiku6\":\"Rendere il canale disponibile come flusso SRT (sperimentale).\",\"6dZ9NS\":\"Cornici marcate\",\"iuA3xD\":\"Playlist master (aumenta la compatibilità tra browser e client)\",\"WBpxnA\":\"Dimensione massima consentita della cache, 0 per illimitata.\",\"NzaPGT\":\"Megabyte massimi consentiti di RAM per /memfs, 0 per illimitato.\",\"aaso5s\":\"Megabyte massimi consentiti da consumare dal disco rigido. 0 per illimitato.\",\"4hp5D2\":\"Larghezza di banda massima Mbit/s\",\"L+uBOR\":\"Ritardo massimo in millisecondi.\",\"hkoCqq\":\"Dimensione massima del file (Megabyte)\",\"i96JfZ\":\"Dimensione massima del file da inserire nella cache.\",\"Q9HspI\":\"Istanza di log massima\",\"bS9ZHz\":\"Linee di registro massime\",\"6sayfE\":\"Dimensione massima (Megabyte)\",\"09BWQO\":\"Tempo massimo di inattività del telespettatore (secondi)\",\"hW0DV1\":\"Spettatori massimi\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memoria\",\"KReOHe\":\"Limite di memoria (megabyte)\",\"fViWSz\":\"Limite di utilizzo della memoria in megabyte, 0 per illimitato.\",\"emJ6M7\":\"Meta informazioni\",\"6GBt0m\":\"Metadati\",\"SCcIsq\":[\"Minimo \",[\"0\"],\", predefinito \",[\"1\"]],\"riWPSk\":\"Stampo\",\"QA/rur\":\"Maggiori informazioni sulle licenze qui\",\"fyGu1l\":\"Maggiori informazioni sul servizio\",\"yBsv2n\":\"Maggiori informazioni sul copyright di Twitter <0>qui.\",\"ZpfAc9\":\"Maggiori informazioni sul copyright di YouTube <0>qui.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Deve essere più grande della dimensione massima del file nella cache.\",\"gC9RIS\":\"Deve essere inferiore alla dimensione massima della cache.\",\"R7SsBE\":\"Muto\",\"K0rCAk\":\"Disattivare un canale.\",\"Jv/kid\":\"Silenziamento a sinistra\",\"FsCP6P\":\"Muto a destra\",\"6YtxFj\":\"Nome\",\"0ZkQqR\":\"Nome del modello. Se il nome esiste già, verrà sovrascritto.\",\"OR475H\":\"Rete\",\"KZDcDr\":\"Fonte della rete\",\"hXzOVo\":\"Prossimo\",\"JZrXI6\":\"Prossimo: Audio\",\"kZFy+Q\":\"Prossimo: Impostazione video\",\"1UzENP\":\"No\",\"p6Fxed\":\"Nessun audio\",\"bIDO3H\":\"Nessun flusso audio disponibile\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Nessun dispositivo di input disponibile\",\"dEwhMr\":\"Non è stato rilevato alcun flusso in diretta. Si prega di controllare il software che invia il flusso.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Nessuna fonte selezionata\",\"3TfuWb\":\"Nessuna fonte disponibile\",\"fiXA/y\":\"Nessun encoder adatto trovato.\",\"acY4BT\":\"Non è stato trovato un filtro adatto.\",\"/02FxK\":\"Nessun video\",\"AVWnC9\":\"Nessun flusso video disponibile\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"ID del nodo\",\"9J5l/O\":\"Rumore\",\"EdQY6l\":\"Nessuno\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Note\",\"/a9y2d\":\"Numero di righe di registro da conservare.\",\"ZD0urA\":\"Numero di registri da conservare per ogni processo.\",\"Aia5w3\":\"Numero di secondi in cui i limiti possono essere superati.\",\"1lZb7D\":\"Numero di colonne di piastrelle da codificare.\",\"InpHMl\":\"Numero di piastrelle da codificare.\",\"wnRD5D\":\"Numero di righe di piastrelle da codificare.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Un referente per riga, ad esempio http://www.example.com.\",\"1TNIig\":\"Aperto\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Buffer di uscita\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase per la crittografia SRT.\",\"fpQo1i\":\"La passphrase deve avere una lunghezza compresa tra 10 e 79 caratteri.\",\"3GZXaB\":\"Il passthrough (copia) deve essere disattivato solo se necessario. Ogni codifica richiede risorse CPU/GPU aggiuntive.\",\"8ZsakT\":\"Password\",\"b+AuuK\":\"Password per l'autorizzazione.\",\"oREnCY\":\"Password per il dispositivo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persistere le statistiche dei visualizzatori\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Formato pixel\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Piano: <0>Inizio\",\"Ejic1p\":\"Piattaforme\",\"gtQk6c\":\"Riproduzione\",\"vRayGs\":\"Giocatore\",\"tWB9Gz\":\"Impostazioni del giocatore salvate\",\"GIxxiU\":\"URL del giocatore\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Playlist\",\"luDqS5\":\"Versione della playlist (M3U8). La versione 3 ha la migliore compatibilità tra browser e client.\",\"84gH7g\":\"Si prega di controllare il <0>log del processo\",\"OMpKNS\":\"Contatta l'operatore del servizio e verifica cosa succede.\",\"4lATxE\":\"Inserite il vostro indirizzo e-mail per accettare i termini di servizio di Let's Encrypt CA e per essere avvisati in caso di problemi.\",\"bdMiXb\":\"Contattate l'operatore del servizio e verificate cosa succede.\",\"wPZBpR\":\"Seleziona un file da caricare.\",\"YcGRmx\":\"Se possibile, utilizzi \\\"Passthrough (copia)\\\". La codifica richiede risorse CPU/GPU aggiuntive.\",\"06qnxB\":\"Si prega di attendere. Flusso di dati della sonda ...\",\"FTIPkL\":\"Si prega di attendere. Impostazione del flusso ...\",\"hZ6znB\":\"Porto\",\"p/78dY\":\"Posizione\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"URL dell'immagine del poster\",\"6o2Onc\":\"Preset\",\"lxxyq5\":\"Flusso primario\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Processo\",\"DL/nrw\":\"Controllo del processo\",\"fzYV2N\":\"Dettagli del processo\",\"zNVLia\":\"Rapporto sul processo\",\"PwMwvX\":\"Elaborazione e controllo\",\"vERlcd\":\"Profilo\",\"6+OdGi\":\"Protocollo\",\"hEksWI\":\"Protocolli\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Dominio pubblico/i\",\"7lbVwY\":\"Servizio di pubblicazione non trovato\",\"ia1vIb\":\"Impostazioni del sito web di pubblicazione salvate\",\"XHw75Y\":\"Pubblicazioni\",\"dsOSCf\":\"Modo di tirare\",\"lQQ/zA\":\"Tirare o ricevere i dati:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualità\",\"i9d+3B\":\"Fotocamera Raspberry Pi\",\"tbXj/A\":\"Controllo del tasso\",\"iaocTt\":\"Rapporto\",\"WnSPyE\":\"Parametri rav1e\",\"6PpdQP\":\"Leggere l'input a velocità nativa\",\"bqsSkO\":\"Modalità di ricezione\",\"gcoiFh\":\"Ricollegare\",\"lakzvL\":\"Ritardo di riconnessione (secondi)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Riconnettersi in \",[\"0\"],\"s\"],\"uSDaLA\":[\"La riconnessione a Restreamer Core non è riuscita negli ultimi \",[\"RETRIES\"],\" secondi.\"],\"N7ojfh\":\"La riconnessione a Restreamer Core non è riuscita.\",\"lCF0wC\":\"Aggiornamento\",\"uJ+Ve2\":\"Regione\",\"CNipTv\":\"Registrazione dell'utente\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Ricarica\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Rimuovere le voci più vecchie se la /memfs è piena\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Richiede l'attivazione\",\"XMbkus\":\"Azzeramento del logo\",\"36SXzE\":\"Poster di reset\",\"6z9W13\":\"Riavviare\",\"dKwnjv\":\"Riavvio richiesto\",\"0Er6+M\":\"Riavvio\",\"X1sT1j\":\"Riavvio di Restreamer Core ...\",\"o5q6jb\":\"Il riavvio dell'applicazione non è riuscito.\",\"x8cAsq\":\"Istruzioni per il Restreamer\",\"24fLVm\":\"Servizio Restreamer\",\"LCGjV4\":\"Recuperare i dati del flusso ...\",\"6gRgw8\":\"Riprova\",\"Qe1vaN\":\"Modello di test RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Ruotare\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"App RTMP per la pubblicazione.\",\"7ggERB\":\"Uscita RTMP\",\"V82lE+\":\"Porta RTMP\",\"itARjB\":\"Server RTMP\",\"WWZqzz\":\"Il server RTMP non è abilitato\",\"HhOPCL\":\"Indirizzo di ascolto del server RTMP.\",\"DbHOhO\":\"Token RTMP per la pubblicazione e la riproduzione. Il token è il valore del parametro di query URL 'token'.\",\"OAZeFE\":\"Porta RTMPS\",\"Wt/wFL\":\"Server RTMPS\",\"xwonDv\":\"Indirizzo di ascolto del server RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regola\",\"HneYgw\":\"Campionamento\",\"tfDRzk\":\"Salva\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Scala\",\"6aaceW\":\"Dimensione della scala\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Secondi per mantenere i file nella cache.\",\"geM4Wc\":\"Secondi fino al riavvio di un processo.\",\"iF7dnC\":\"Secondi fino alla terminazione di un processo in stallo.\",\"mydmGn\":\"Secondi fino all'aggiornamento dell'istantanea/ miniatura della sorgente video.\",\"a3LDKx\":\"Sicurezza\",\"Gkr6zI\":\"Token di sicurezza\",\"/Ocrtf\":\"Colore Seekbar\",\"4lDlYf\":\"Lunghezza del segmento (secondi)\",\"XfNrg+\":\"Il segmento verrà tagliato sul fotogramma chiave successivo, una volta trascorso questo tempo. Si consiglia il valore 2.\",\"jHCoDy\":\"Segmentazione\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Selezionare un dispositivo:\",\"O+ruJ3\":\"Seleziona la sorgente audio:\",\"6MTTpq\":\"Selezionare RTMP o SRT (se abilitato) per ridurre la latenza.\",\"E7haRr\":\"Selezionare la fonte ...\",\"PlZ1aw\":\"Selezionare la sorgente video:\",\"YYlcWm\":\"Selezioni se prelevare il flusso da una <0>sorgente di rete (come una telecamera di rete) o dal <1>server RTMP interno (ad esempio, i flussi OBS verso il Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Seleziona la tua impostazione di codifica:\",\"aT3o8A\":\"Selezionare le impostazioni del filtro (opzionale):\",\"ylXj1N\":\"Selezionato\",\"kYpw4+\":\"Canale selezionato\",\"p7/fS2\":\"Selezione\",\"SOePwi\":\"Invii metriche anonime (ci aiuta per lo sviluppo futuro)\",\"kOhBl+\":\"Invia il flusso all'indirizzo ...\",\"E1X5xY\":\"Invia il flusso a questo indirizzo:\",\"d/IMf3\":\"Invia il video al Framebuffer\",\"sGH11W\":\"Server\",\"9rG25a\":\"URL del server\",\"T3bXxK\":\"Servizio\",\"KPPdUO\":\"Nome del servizio\",\"DOrSw/\":\"Token di servizio per il monitoraggio.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sessioni\",\"xwK3ty\":\"Imposta la configurazione di rav1e usando un elenco :-separato di parametri chiave=valore.\",\"FIIk8R\":\"Imposta un limite di larghezza di banda in Mbit al secondo per il trasferimento di dati HLS in uscita. Tutti i servizi, come RTMP e i processi in uscita, sono inclusi nel calcolo. Se la larghezza di banda viene superata, gli spettatori HLS ricevono il codice di stato HTTP 509 (Limite di larghezza di banda superato). 0 è illimitato.\",\"cOG/FK\":\"Imposta un limite di visualizzazione per le sessioni HLS. Se il limite viene superato, gli spettatori HLS ricevono il codice di stato HTTP 509 (Bandwidth Limit Exceeded). 0 è illimitato.\",\"mcJFKm\":\"Impostazione per la connessione al servizio.\",\"Tz0i8g\":\"Impostazioni\",\"IiOZ6R\":\"Impostazioni (modalità esperto)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Impostazioni per il percorso /data. L'accesso è protetto da\",\"Ytdvyh\":\"Impostazioni per il percorso /memfs.\",\"1w3lYe\":\"Impostazioni salvate. Tutte le modifiche saranno applicate dopo il riavvio dell'applicazione.\",\"XUw3i9\":\"Tasto condividi\",\"oD0Oes\":\"Mostra un riferimento al progetto.\",\"+vv4q2\":\"Si iscriva (gratis)\",\"JXVFAm\":\"Silenzio\",\"VSK9FJ\":\"Silenzio Audio\",\"L8Jb2l\":\"Seno\",\"MxZN16\":\"Nome del sito\",\"Cj2Gtd\":\"Dimensione\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Timeout della presa (microsecondi)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Fonte\",\"sywlQb\":\"Fonte e codifica\",\"l9wI00\":\"Velocità\",\"vdhBFK\":\"Velocità preimpostata\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Uscita SRT\",\"YqnAto\":\"Server SRT\",\"k6hpqB\":\"Il server SRT non è abilitato\",\"SzqwHY\":\"Indirizzo di ascolto del server SRT.\",\"KwbjpB\":\"Token SRT per la pubblicazione e la riproduzione. Il token è il valore del parametro streamid \\\"token\\\".\",\"Aj28wT\":\"Timeout di stallo (secondi)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistiche\",\"BrrIs8\":\"Stoccaggio\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Memorizza le statistiche del visualizzatore sul disco.\",\"hou0tP\":\"Flusso\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Chiave del flusso\",\"bqiH5R\":\"Chiave di flusso\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nome del flusso\",\"eXELiS\":\"Nomi dei flussi\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Fonte di flusso per il servizio di pubblicazione (sperimentale).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL del flusso\",\"+fVH0Y\":\"Supporto datarhei Restreamer\",\"5HSoct\":\"Supporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT e altro.\",\"D+NlUC\":\"Sistema\",\"jkuW2z\":\"Indirizzo di destinazione\",\"/K2CvV\":\"Modello\",\"2Ivkf/\":\"Modello da utilizzare per la creazione del sito web della pubblicazione. Il pulsante Elimina rimuove la selezione dal sistema.\",\"4Y5H+g\":\"Termini\",\"tRNH6x\":\"Modello di test\",\"EtlVOt\":\"Modello di test (esteso)\",\"wGPolR\":\"Colori del testo\",\"m0TUJj\":\"L'ampiezza (0.0 - 1.0) del flusso audio generato\",\"8C6xwe\":\"L'applicazione sta usando una vecchia versione delle impostazioni.\",\"VPQVR2\":\"Il binario FFmpeg disponibile non supporta nessuno dei protocolli richiesti.\",\"Gx9PPK\":\"Il bitrate del flusso audio.\",\"T2kk3f\":\"La frequenza portante\",\"JAOLK8\":[\"Non è stato possibile eliminare il canale \\\"\",[\"0\"],\"\\\".\"],\"jNaBhy\":[\"Il canale \\\"\",[\"0\"],\"\\\" è stato cancellato.\"],\"SD8pYJ\":\"La cancellazione di questo canale non può essere recuperata. Tutte le pubblicazioni di questo canale saranno rimosse.\",\"bnkV//\":\"Il profilo di ingresso non è completo. Si prega di definire una sorgente video e audio.\",\"wCYjmB\":\"Il profilo di ingresso non è completo. Definire una sorgente video e/o audio.\",\"JMaqWu\":\"Il layout del flusso audio.\",\"0dqo+p\":\"Il numero massimo di segmenti della playlist. 0 conterrà tutti i segmenti. 6 è consigliato.\",\"BDgbiW\":\"Il colore del rumore\",\"SxGu7I\":\"La persona che ha associato un'opera con questo atto ha dedicato l'opera al pubblico dominio rinunciando a tutti i suoi diritti sull'opera in tutto il mondo secondo la legge sul diritto d'autore, compresi tutti i diritti connessi e vicini, nella misura consentita dalla legge. Puoi copiare, modificare, distribuire ed eseguire l'opera, anche per scopi commerciali, il tutto senza chiedere il permesso.\",\"XISvrq\":\"Il nome di dominio pubblico raggiungibile dell'host su cui gira questo Restreamer. Separi i nomi di dominio multipli con una virgola.\",\"yt3d3G\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" non può essere eliminato\"],\"zYcO/c\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" è stato creato\"],\"AQE+oz\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" è stato cancellato\"],\"qVLWvp\":\"Il servizio di pubblicazione è stato creato\",\"njj2Wn\":\"L'uscita RTMP richiede il server RTMP.\",\"WRxiP8\":\"La frequenza di campionamento del flusso audio.\",\"/pZjRr\":\"Il file selezionato è troppo grande (<0/>). Sono consentiti solo <1/>.\",\"VBaSn9\":[\"Il tipo di file selezionato (\",[\"0\"],\") non è consentito. I tipi di file consentiti sono \",[\"1\"]],\"fM410X\":[\"Le impostazioni per \\\"\",[\"0\"],\"\\\" sono state salvate\"],\"02ii2e\":\"La fonte non fornisce alcun flusso audio.\",\"+2cAEU\":\"La sorgente non fornisce alcun flusso audio. Per favore controlla i <0>dettagli della sonda.\",\"pfqmY7\":\"La fonte non fornisce alcun flusso audio compatibile.\",\"VO9KeK\":\"La fonte non fornisce alcun flusso video compatibile. Per favore controlla i <0>requisiti.\",\"007foU\":\"La fonte non fornisce alcun flusso video. Per favore controlla i <0>dettagli della sonda.\",\"lAsMdV\":\"La fonte non fornisce alcun flusso video. Si prega di controllare il dispositivo.\",\"XlnvcR\":\"L'output SRT richiede il server SRT.\",\"w6uuIE\":\"La sorgente video non fornisce alcun flusso audio compatibile. Si raccomanda <0>Audio silenzioso. I servizi come YouTube, Facebook & Co. richiedono un canale audio.\",\"YJJ2RL\":\"La sorgente video è compatibile. Selezionare la risoluzione desiderata:\",\"wEiZHy\":\"Sono disponibili degli aggiornamenti. Qui può ottenere maggiori informazioni.\",\"4p1MgS\":\"Si è verificato un problema nella memorizzazione delle impostazioni. Le impostazioni non sono state salvate.\",\"YJhhwT\":[\"Si è verificato un errore di connessione a Restreamer Core a \",[\"0\"],\".\"],\"q42VsF\":[\"Si è verificato un errore durante il caricamento: \",[\"0\"]],\"HM96PJ\":\"C'è stato un errore nell'impostazione del flusso.\",\"LoDP+Y\":\"Ci sono stati alcuni errori nelle impostazioni. Impostazioni non salvate.\",\"l92ZKN\":\"Non c'è un metodo di accesso disponibile.\",\"cPKuc8\":\"Questo è un servizio fittizio che le spiega i concetti di servizio.\",\"Ku8nyu\":\"Non si tratta necessariamente di un errore. Tuttavia, potrebbe essere necessario un po' più di tempo perché Restreamer Core si riavvii...\",\"vCRP3w\":\"Questo per citare le norme sul copyright per il target di questo servizio.\",\"Hx7k3c\":\"Questa licenza permette ai riutilizzatori di copiare e distribuire il materiale in qualsiasi mezzo o formato solo in forma non adattata, e solo a condizione che venga data attribuzione al creatore. La licenza permette l'uso commerciale.\",\"6OeMYB\":\"Questa licenza permette ai riutilizzatori di copiare e distribuire il materiale in qualsiasi mezzo o formato solo in forma non adattata, solo per scopi non commerciali, e solo a condizione che venga data attribuzione al creatore.\",\"TUuhsB\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato solo per scopi non commerciali, e solo finché viene data attribuzione al creatore.\",\"kVtKRl\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato solo per scopi non commerciali, e solo finché viene data l'attribuzione al creatore. Se remixate, adattate o costruite sul materiale, dovete dare in licenza il materiale modificato sotto gli stessi termini.\",\"FpX5mp\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato, purché venga data l'attribuzione al creatore. La licenza permette l'uso commerciale.\",\"SDvwLd\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato, purché venga data l'attribuzione al creatore. La licenza permette l'uso commerciale. Se remixate, adattate o costruite sul materiale, dovete dare in licenza il materiale modificato sotto gli stessi termini.\",\"H144rX\":\"Questo protocollo è sconosciuto o non supportato dal binario FFmpeg disponibile.\",\"nlOxxw\":\"Questa sorgente non può essere modificata mentre è in uso. Per continuare, deve scollegare la sorgente.\",\"mbSyrG\":[\"Questa versione dell'interfaccia utente non supporta il binario FFmpeg disponibile (\",[\"0\"],\"). L'interfaccia utente richiede \",[\"1\"],\". Utilizzi un binario FFmpeg supportato.\"],\"N/tTgz\":[\"Questa versione dell'interfaccia utente non supporta il Core connesso (\",[\"0\"],\"). L'interfaccia utente richiede \",[\"1\"],\". Utilizzi una versione compatibile dell'interfaccia utente.\"],\"2Vq5tr\":\"Questa versione dell'UI è compatibile.\",\"QxX9Z5\":\"Soglia (secondi)\",\"sNmspt\":\"Colonne di piastrelle\",\"sYGp2E\":\"File di piastrelle\",\"wbOpwP\":\"Piastrelle\",\"H59P7E\":\"Tempo fino a quando una connessione inattiva del visualizzatore viene trattata come chiusa.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Per stabilizzare il sistema, aumentare la lunghezza del segmento HLS per l'intervallo di keyframe di 2-3 * (Elaborazione e controllo).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Campo superiore\",\"7mjsuh\":\"Trasmettere un Livestream a un canale Telegram.\",\"Gxlq7L\":\"Trasmette le istantanee della sorgente principale a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"SdyhUl\":\"Trasmette il canale audio della sorgente principale a un server Icecast. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"MayU3b\":\"Trasmette la sorgente principale come HTTP-Live-Streaming (HLS) a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"3K8kpL\":\"Trasmette la sorgente principale come MPEG-DASH a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"P/J230\":\"Trasmette la sorgente principale a un servizio Brightcove Live. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"u0MhFy\":\"Trasmette la sorgente principale a un servizio RTMP di CDN77. Maggiori informazioni sulla configurazione <0>qui.\",\"zkgT7c\":\"Trasmette la sorgente principale a un servizio RTMP DaCast. Maggiori informazioni sulla configurazione <0>qui.\",\"in9xJz\":\"Trasmette la sorgente principale a una risorsa Core datarhei. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"PcgwEU\":\"Trasmette la fonte principale ad una fonte di livespotting.com. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"D7jwpf\":\"Trasmette la sorgente principale a un Servizio MPEG-TS. Maggiori dettagli sulle impostazioni sono disponibili qui <0>qui.\",\"SpSgUV\":\"Trasmette la sorgente principale a un Server Red5/Pro. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"lIpqI/\":\"Trasmette la sorgente principale a un server RTMP(e|s|t|te|ts). Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"pqR6nq\":\"Trasmette la sorgente principale a un server RTSP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Q4dSnZ\":\"Trasmette la sorgente principale a un server SRT. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"fx9S4p\":\"Trasmette la sorgente principale a un server UDP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"GLXY2N\":\"Trasmette la sorgente principale a un server WOWZA. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"AsMKFi\":\"Trasmette la sorgente principale a Akamai (MSL) Media Services Live. Maggiori dettagli sulle impostazioni dell'Encoder MSL sono disponibili su <0>qui.\",\"FB364G\":\"Trasmette la sorgente principale al servizio Livepush RTMP. Ulteriori dettagli sulle impostazioni sono disponibili <0>qui.\",\"CC9yS5\":\"Trasmettere la sorgente principale al servizio RTMP di Nimo TV. Ulteriori dettagli sulle impostazioni sono disponibili <0>qui.\",\"fP8ZYg\":\"Trasmettere la sorgente principale al servizio RTMP di Picarto TV. Ulteriori dettagli sulle impostazioni sono disponibili <0>qui.\",\"D9A0LK\":\"Trasmette la sorgente principale al Servizio Restream RTMP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"YL800g\":\"Trasmettere a un Azure Media Services. Ulteriori dettagli sono disponibili <0>qui.\",\"Abgy4c\":\"Trasmettere a LinkedIn. Ulteriori dettagli sono disponibili <0>qui.\",\"dhCZoS\":\"Trasmettere il Livestream a un servizio RTMP di Dailymotion. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"tQNclD\":\"Trasmettere il Livestream a un servizio RTMP di Kick.com. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"mQ0sjr\":\"Trasmettere il Livestream a un server Owncast. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"AqYRa3\":\"Trasmettere il Livestream a un servizio Rumble RTMP. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Trasmette il suo flusso video con la chiave richiesta, che è stata generata in Twitter Producer. Può trovare maggiori informazioni sull'impostazione di un live stream su Twitter <0>Producer.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Trasporto UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Impossibile caricare la configurazione.\",\"MWrgON\":\"Identità unica del servizio.\",\"Ef7StM\":\"Sconosciuto\",\"wiIpKZ\":\"Errore di caricamento sconosciuto\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Non selezionato\",\"j9zg7e\":\"Dettagli dell'aggiornamento (Changelog)\",\"ONWvwQ\":\"Carica\",\"OXItQT\":[\"Caricare un file audio (\",[\"0\"],\") per metterlo in loop.\"],\"75yxb7\":[\"Caricare un'immagine o un file video (\",[\"0\"],\") per mandarlo in loop.\"],\"iAkPTY\":\"Il caricamento del file non è riuscito\",\"Jmy6pK\":\"Caricamento del logo fallito\",\"xl1xFp\":\"Caricamento del poster non riuscito\",\"TjrbDj\":\"Uptime\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Utilizzi Auth0 per il suo Restreamer Core in esecuzione. Ulteriori <0>dettagli.\",\"JX4TqK\":\"Utilizzi la procedura guidata (<0/>) per un'impostazione rapida e semplice, oppure modifichi (<1/>) le sorgenti direttamente in modalità personalizzata.\",\"YYTBz0\":\"Utilizzi il suo copyright e scelga la licenza d'immagine corretta. Che sia libera per tutti o altamente limitata. Discuta brevemente di ciò che gli altri possono fare con la sua immagine.\",\"2UPEb1\":\"Usa il tuo copyright e scegli la giusta licenza per le immagini. Che sia libera per tutti o altamente limitata. Discuti brevemente su cosa gli altri possono fare con la tua immagine.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Registrazione dell'utente\",\"7sNhEz\":\"Nome utente\",\"Gv3pbp\":\"Nome utente per l'autorizzazione.\",\"RQSvXZ\":\"Nome utente del dispositivo.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M è sperimentale.\",\"PvM7Yi\":\"Frequenza di fotogrammi variabile (VFR)\",\"hpBTpL\":\"velluto\",\"uIAsxu\":\"Capovolgimento verticale\",\"vSJd18\":\"Video\",\"auaWhL\":\"Dispositivo video\",\"/skRGV\":\"Impostazioni video\",\"EzOjvB\":\"Configurazione video\",\"QcQXbU\":\"Fonte video\",\"M/TIv1\":\"Visualizzatore\",\"L2hKw+\":\"viola\",\"hA6FFn\":\"Fonte virtuale\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"ID VPU\",\"wRy4hg\":\"Si consiglia OpenMAX IL per Raspberry PI (3/4) con sistema operativo a 32 bit.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Benvenuti a Restreamer v2, la soluzione per pubblicare video in modo facile e veloce. Gratuito per uso privato e commerciale. Ulteriore aiuto nei <0>docs.\",\"hJfWkA\":\"Quale preimpostazione di velocità utilizzare.\",\"6Pz2IF\":\"Dove memorizzare la playlist e i segmenti HLS. Si consiglia di utilizzare la memoria interna.\",\"aWHAbR\":\"bianco\",\"aFWU1n\":\"Larghezza\",\"e0wV2Y\":\"Scrivere la protezione\",\"l75CjT\":\"Sì\",\"WPUsOF\":\"Non può interrompere la procedura guidata perché deve essere definito almeno un ingresso.\",\"qwY9F9\":\"Hai cambiato la configurazione. Affinché le modifiche abbiano effetto, devi riavviare l'applicazione. Vuoi riavviare ora?\",\"nxq2ni\":\"Devi riconnetterti manualmente\",\"RM3CEc\":\"Hai delle modifiche non salvate. Per favore, salvale prima di poter controllare di nuovo il servizio.\",\"/cg7qS\":\"Il suo flusso deve essere codificato, ma non è disponibile un codificatore adatto.\",\"BwrOm6\":\"Il tuo flusso deve essere codificato. Scegli il codificatore desiderato:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Modello di test YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Elenco di compatibilità\",\"TkRUk0\":\"<0>Mostra dettagli sonda\",\"tBy4Bb\":\"1. Passare all'interfaccia del Restreamer di destinazione.\",\"2JnpXL\":\"2. Creare un nuovo canale e selezionare il server RTMP o SRT.\",\"YidyJl\":\"3. Copiare l'URL e incollarlo nel campo \\\"Indirizzo di destinazione\\\".\",\"X1MZZp\":\"6 (+ garantito per iniziare con un telaio chiave)\",\"JVJkxU\":\"7 (+ formato MP4 frammentato)\",\"ssjjFt\":\"Abort\",\"uyJsf6\":\"A proposito di\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Aggiungi\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Aggiungere widget e stili esterni al sito di pubblicazione. Può trovare alcuni esempi nella pagina di aiuto.\",\"tsJWSj\":\"Aggiungere un nuovo canale\",\"PLTLdv\":\"Aggiungi pubblicazione\",\"35l+l6\":[\"Aggiungi: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Indirizzo\",\"8M7jVn\":\"Indirizzo per l'immagine di sfondo.\",\"Vu9yiv\":\"Indirizzo da ascoltare per le richieste HTTP.\",\"AQDW5r\":\"Indirizzo su cui ascoltare le richieste HTTPS.\",\"tPrmjP\":\"Indirizzo:\",\"owt8Ow\":\"Regoli i colori del sito di pubblicazione e lo sfondo come preferisce.\",\"uNXGDK\":\"Monitoraggio avanzato\",\"VNgKZz\":\"Impostazioni avanzate\",\"eiGNYb\":\"Configurazione avanzata\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Avvisi via e-mail\",\"N40H+G\":\"Tutti\",\"Hw5q+W\":\"Tutte le cornici\",\"f2zxGk\":\"Tutte le impostazioni importanti del sistema.\",\"lle3bd\":\"Consentire tutti i referenti\",\"bgFbIB\":\"Permette di contare quanti spettatori ha lo stream.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Ampiezza\",\"ngteek\":\"Una variabile d'ambiente imposta questo valore.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Endpoint API non trovato. Impostazioni non salvate.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Applicazione\",\"xnCC/2\":\"È sicuro di voler interrompere la procedura guidata?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Audio\",\"n3RW8K\":\"Dispositivo audio\",\"sYyYfE\":\"Dispositivo audio\",\"2he4Ra\":\"Audio dal dispositivo\",\"MvY15a\":\"Impostazioni audio\",\"NoLJ6g\":\"Configurazione audio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 non è attualmente disponibile perché questa interfaccia è caricata da un'origine non sicura.\",\"aKsflb\":\"Auth0 Inquilino\",\"VbeIOx\":\"Autore\",\"NJgJy9\":\"Autorizzazione\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Pulizia automatica di tutti i dati dei media\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Disponibile\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Indietro\",\"1KfyNL\":\"Colori di sfondo\",\"23c2Uw\":\"Immagine di sfondo\",\"r0bEmM\":\"Server di backup\",\"JFjQhH\":\"Flusso di backup\",\"bkJ+QE\":\"URL di backup\",\"OlXThP\":\"Larghezza di banda\",\"QYaaBO\":\"Controllo della larghezza di banda\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Di base\",\"YR04fn\":\"Fattore bip\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Tipi di cache a blocchi\",\"zOC7cT\":\"blu\",\"359XuU\":\"Campo inferiore\",\"aC3kWW\":\"Descriva brevemente ciò che il pubblico vedrà durante il live stream.\",\"SehDNd\":\"marrone\",\"Ptp9MF\":\"Colore del pulsante\",\"Lp4WkO\":\"Per altezza\",\"IeV/4P\":\"Per larghezza\",\"KxP5AO\":\"Cache per i file su /data.\",\"qX8ffo\":\"Tempo di cache (secondi)\",\"4dRAku\":\"Tipi di cache\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Buffer di cattura\",\"aL2+1d\":\"Cattura i clic\",\"EOfLfP\":\"Cattura del cursore\",\"ieS3Wc\":[\"Canale \\\"\",[\"0\"],\"\\\" salvato\"],\"lfFsZ4\":\"Canali\",\"WMCwmR\":\"Controlla gli aggiornamenti\",\"vM6kpc\":\"Controlla i requisiti\",\"Wzgqhl\":\"Scegliere un flusso video\",\"JpTR0/\":\"Scegliere un flusso audio\",\"BTNyrQ\":\"Scegliere un dispositivo di input ...\",\"f9QIui\":\"Scegliere un flusso di ingresso ...\",\"/Y6zrN\":\"Scegliere tra CFR e VFR (Auto)\",\"gObOjh\":\"Scegliere il codec ...\",\"v7lrmU\":\"Scelga l'inquilino ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Chiudere\",\"r8NEPc\":\"Iniezione di codice\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Colore\",\"sjVfrA\":\"Comando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Configurazione\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Confermare la password\",\"iSLIjg\":\"Collegare\",\"NL3Gev\":\"Dispositivo collegato\",\"ywAvGr\":\"Collegato da <0/>\",\"lNg25t\":\"Collegamento ...\",\"y6+BXa\":\"Collegamento a Restreamer Core ...\",\"Td5lm6\":\"La connessione a Restreamer Core non è riuscita, probabilmente a causa del contenuto misto.\",\"awE5Py\":\"Frequenza di fotogrammi costante (CFR)\",\"DT0Af/\":\"Modalità Quantizzatore costante (da -1 a 255).\",\"4b3oEV\":\"Contenuto\",\"U34RbB\":\"URL del contenuto\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Nuclei\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Limite CPU (percentuale)\",\"uW5tVo\":\"Limite di utilizzo della CPU in percentuale (0-100%), 0 per illimitato.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Personalizzato ...\",\"kH80Lk\":\"Dispositivo audio personalizzato\",\"fW1XQD\":\"Indice audio personalizzato\",\"bzREp0\":\"Bitrate personalizzato (kbit/s)\",\"w9oKek\":\"Iniezione di codice personalizzato\",\"jYaP01\":\"Ritardo personalizzato\",\"2Gw+zZ\":\"Dispositivo personalizzato\",\"WCXGNp\":\"Formato personalizzato\",\"ZkpZ06\":\"Framerate personalizzato\",\"1OXCgh\":\"Configurazione JSON personalizzata per datarhei Core.\",\"kl56NX\":\"Intervallo keyframe personalizzato\",\"prIqWa\":\"Layout personalizzato\",\"HSB43e\":\"Campionamento personalizzato (Hz)\",\"Efe3BI\":\"Scala personalizzata\",\"E/2KdS\":\"Dimensione personalizzata\",\"Se794B\":\"Dispositivo video personalizzato\",\"aqv915\":\"Indice video personalizzato\",\"v8OlX8\":\"Dati copiati negli appunti\",\"J/VBax\":\"Colore della morte\",\"d2TTfK\":\"Decibel (dB)\",\"W034oz\":\"Decoder\",\"ovBPCi\":\"Default\",\"gFwPaj\":[\"Predefinito \",[\"0\"]],\"JQnkrI\":[\"Predefinito \",[\"0\"],\" (\",[\"1\"],\" secondi)\"],\"A7rne1\":\"Deinterlacciamento (bwdif)\",\"yLth2B\":\"Deinterlacciamento deint\",\"g3JmiG\":\"Modalità deinterlacciata\",\"aro6lN\":\"Deinterlacciamento della parità\",\"YeWQto\":\"Ritardo\",\"qBC9g9\":\"Ritardo (ms)\",\"cnGeoo\":\"Cancellare\",\"ScK3zL\":\"L'eliminazione di un servizio di pubblicazione non può essere annullata. La pubblicazione si interrompe immediatamente.\",\"cEx3oI\":\"Modalità di consegna\",\"Nu4oKW\":\"Descrizione\",\"f8fH8W\":\"Design\",\"PEHQTf\":\"Dispositivo\",\"+K0AvT\":\"Scollegare\",\"miKA/E\":\"Disconnettersi e continuare\",\"5/pMTZ\":\"Scollegamento ...\",\"sPFHpI\":\"Disco\",\"qczNPP\":\"Cache del disco\",\"PUqOjv\":\"Archiviazione su disco\",\"uTwT/l\":\"Vuoi davvero riavviare l'applicazione ora?\",\"FgxcNT\":[\"Vuole cancellare \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Vuoi cancellare \",[\"titolo\"],\"?\"],\"0p+Mpn\":[\"Vuole disconnettere \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Documenti\",\"TvY/XA\":\"Documentazione\",\"jPtEhI\":\"Telai duplicati\",\"diaSRH\":\"Ogni campo\",\"u2SnNO\":\"Ogni cornice\",\"ePK91l\":\"Modifica\",\"INCFjw\":\"Modifichi le fonti audio e video per il live stream. Aggiunga una descrizione e imposti la licenza di contenuto desiderata.\",\"+7Wr2a\":[\"Modifica: \",[\"titolo\"]],\"e3GLqI\":\"EDIT: Giocatore\",\"dTPDyf\":\"EDIT: Sito web di pubblicazione\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Incorporare\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Abilitazione\",\"No9svk\":\"Abilita un bip periodico ogni secondo con questo valore moltiplicato per la frequenza della portante\",\"R7s0Th\":\"Attiva il flusso di backup\",\"xA5zBY\":\"Abilita le statistiche dei nerd\",\"r0zP4o\":\"Attivare ora\",\"JwR989\":\"Attiva il flusso primario\",\"blkDNw\":\"Abilitare il server RTMP ...\",\"FgEhO4\":\"Abilita il trasferimento RTMPS\",\"uGvvxq\":\"Abilita le istantanee\",\"IuL64N\":\"Abilitare il server SRT ...\",\"NJsnxf\":\"L'abilitazione dell'autorizzazione è fortemente consigliata. Altrimenti, chiunque può accedere a questa istanza.\",\"xwS6bX\":\"L'abilitazione dell'autenticazione di base è fortemente consigliata. Altrimenti, chiunque potrebbe scrivere dati su /memfs.\",\"0zaXWu\":\"Encoder\",\"o0XA5y\":\"Codifica\",\"q1srUM\":\"Crittografia\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Inserisca un nome per il nuovo canale.\",\"f7sXvi\":\"Inserire la password\",\"5QCNrf\":\"Inserisci l'indirizzo della tua sorgente di rete:\",\"WLnvCZ\":\"Inserisca il nome utente\",\"ijwVVM\":\"Codificatore di entropia\",\"SlfejT\":\"Errore\",\"sHoMKO\":\"Errore durante la copia dei dati negli appunti\",\"TpqeIh\":[\"Errore: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Espande l'area sopra l'elenco dei canali (live chat).\",\"IBJg8n\":\"Espande l'area sotto la descrizione del canale (caselle di commento).\",\"XeunlQ\":\"Modalità esperto\",\"qNpEXB\":\"EXT-X-VERSIONE\",\"/svCaE\":\"Estendere l'elenco dei canali\",\"tG09kC\":\"Estendere il contenuto\",\"bPWJOj\":\"Estendere il piè di pagina\",\"SeaRa5\":\"Estendere l'intestazione\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Impossibile creare il servizio di pubblicazione (\",[\"0\"],\")\"],\"yT6MEY\":\"Impossibile creare i file del sito web della pubblicazione.\",\"FGdPhH\":\"Impossibile sondare la sorgente. Per favore controlla i <0>dettagli della sonda.\",\"DvfYM2\":[\"Impossibile aggiornare il token: \",[\"0\"]],\"J0Jclh\":\"Non è riuscito a salvare i metadati di ingest\",\"RPXHsU\":\"Non è riuscito a fermare il processo\",\"AhS7uc\":\"Impossibile memorizzare l'impostazione delle dimensioni del giocatore.\",\"PcJRf4\":[\"Impossibile memorizzare il servizio di pubblicazione (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Fallito l'aggiornamento del processo di ingest (\",[\"0\"],\")\"],\"t1E1OU\":[\"Fallito l'aggiornamento del processo di ingest snapshot (\",[\"0\"],\")\"],\"bssUbs\":\"Non è riuscito ad aggiornare il giocatore\",\"4SzVSX\":\"Non è riuscito ad aggiornare il sito dei giocatori\",\"H8gP5T\":\"Impossibile verificare la fonte. Si prega di controllare l'indirizzo.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Percorso del file\",\"o7J4JM\":\"Filtro\",\"JmZ/+d\":\"Finitura\",\"k4A6IZ\":\"Fissare le dimensioni\",\"Xgkhyj\":\"Bandiere\",\"+L0/av\":\"Per i Javascript.\",\"VBU6dD\":\"Per i fogli di stile.\",\"XDTTEp\":\"Forzare il framerate in ingresso\",\"Y5YNoi\":\"Forzare i fotogrammi dei tasti\",\"kI1qVD\":\"Formato\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Cadute del telaio\",\"lPICcX\":\"Il frame viene fatto passare (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Conversione del framerate (interpolazione dei fotogrammi)\",\"xDfHbM\":\"Modalità framerate\",\"4xNpe4\":\"Frequenza (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Generale\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"ID di Google Analytics\",\"S/8Noo\":\"Nome del tracker di Google Analytics\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Dispositivo hardware\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Intestazione\",\"+670Zw\":\"Titolo\",\"PFFhCT\":\"Altezza\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Uscita HLS\",\"oMxmoP\":\"Server HLS\",\"5/G5c1\":\"Statistica HLS per l'archiviazione In-memory\",\"wXoUQx\":\"Capovolgimento orizzontale\",\"8iPCh6\":\"Interfaccia Restreamer in hosting\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP e HTTPS\",\"YmRLab\":\"Porta HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Porta HTTPS\",\"Ptrvx5\":\"Nome leggibile dall'uomo del servizio.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Se ha cambiato le porte, è possibile che Restreamer Core sia già stato riavviato, ma ora è disponibile su una porta diversa.\",\"OQONQS\":\"Se ha attivato Let's Encrypt TLS, potrebbe essere necessario un po' di tempo per acquisire i certificati. Si assicuri che Restreamer Core sia raggiungibile tramite la porta 80 da Internet. Controlli il registro della console di Restreamer Core.\",\"yWR5EY\":\"codice iframe\",\"7ZKroD\":\"Ignora gli intervalli IP\",\"VyUuZb\":\"URL dell'immagine\",\"5n8FKh\":\"Impronta\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Oltre al player, Restreamer offre una landingpage completa, che può utilizzare per presentare il suo live stream in modo semplice e veloce.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"Archiviazione in memoria\",\"xmsVuq\":\"Incompatibile\",\"exUN1j\":\"Eredita\",\"CDdi1R\":\"Iniettare 1\",\"MJlrvd\":\"Iniettare 2\",\"MppU96\":\"Iniettare 3\",\"zBVRQb\":\"Iniettare 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Flusso di ingresso\",\"jnyWFc\":\"Dominio dell'istanza\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervallo (secondi)\",\"C4WaV1\":\"Allarme problemi\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervallo dei fotogrammi chiave (secondi)\",\"rdU729\":\"Layout\",\"Cpw3fU\":\"Certificazione Let's Encrypt\",\"LgUs17\":\"Let's Encrypt richiede uno o più nomi di dominio pubblico e una porta 80/TCP accessibile.\",\"oCHfGC\":\"Livello\",\"eyLS1J\":\"Livello di protocollo del sistema.\",\"iQmbPb\":\"Licenza\",\"mQImez\":\"Colore della vita\",\"6BDqha\":\"Limiti\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Linee\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, passaggio del mouse\",\"xCrpEt\":\"Elenco di estensioni di file da non memorizzare nella cache (ad esempio, \\\".m3u8\\\"), una per riga. Lasciare vuoto per nessuna.\",\"m2l8c3\":\"Elenco di estensioni di file da mettere in cache (ad esempio \\\".html\\\"), una per riga. Lasciare vuoto per mettere in cache tutti i tipi di file.\",\"QYw6tl\":\"Elenco di intervalli IP in notazione CIDR, ad esempio 127.0.0.1/32, che le statistiche non registreranno, un intervallo IP per riga. Lasciare vuoto per registrare tutte le sessioni.\",\"ELFO4F\":\"Dimensione della lista (segmenti)\",\"D0Nwch\":\"Trasmissione in diretta su dlive Live RTMP Service.\",\"n2VKys\":\"Live-Streaming verso il servizio RTMP di Facebook Live\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Trasmissione in diretta al servizio RTMP di Media Network.\",\"w9zSAv\":\"Trasmissione in diretta al servizio PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Trasmissione in diretta al servizio Trovo Live RTMP.\",\"JJGagy\":\"Live-Streaming su Twitch Live RTMP Service.\",\"4TnPVp\":\"Trasmissione in diretta su Vimeo Live RTMP Service\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"ID Livesource\",\"0aIqC4\":\"Livello di registro\",\"x7PDL5\":\"Registrazione\",\"z0t9bb\":\"Accesso\",\"+fL+Rj\":[\"Accesso fallito: \",[\"0\"]],\"4cd7gw\":\"Accesso fallito: Impossibile caricare i dettagli API\",\"sNqu7k\":\"Accesso/Autorizzazione JWT\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Disconnessione\",\"DYX2fZ\":\"Anello\",\"SzaPTL\":\"Normalizzazione del loudness\",\"QGvS9k\":\"Bassa latenza (buffer)\",\"GaV7al\":\"Canale principale\",\"Wsn0Uw\":\"Canale principale non trovato\",\"tROIde\":\"Canale principale salvato\",\"nLVSux\":\"Canale della pagina principale (index.html).\",\"rd3Pv7\":\"Fonte principale\",\"f4txA1\":\"Manutentore:\",\"3iTz2L\":\"Rendere il canale disponibile come flusso RTMP (sperimentale).\",\"mMiku6\":\"Rendere il canale disponibile come flusso SRT (sperimentale).\",\"6dZ9NS\":\"Cornici marcate\",\"iuA3xD\":\"Playlist master (aumenta la compatibilità tra browser e client)\",\"WBpxnA\":\"Dimensione massima consentita della cache, 0 per illimitata.\",\"NzaPGT\":\"Megabyte massimi consentiti di RAM per /memfs, 0 per illimitato.\",\"aaso5s\":\"Megabyte massimi consentiti da consumare dal disco rigido. 0 per illimitato.\",\"4hp5D2\":\"Larghezza di banda massima Mbit/s\",\"L+uBOR\":\"Ritardo massimo in millisecondi.\",\"hkoCqq\":\"Dimensione massima del file (Megabyte)\",\"i96JfZ\":\"Dimensione massima del file da inserire nella cache.\",\"Q9HspI\":\"Istanza di log massima\",\"bS9ZHz\":\"Linee di registro massime\",\"6sayfE\":\"Dimensione massima (Megabyte)\",\"09BWQO\":\"Tempo massimo di inattività del telespettatore (secondi)\",\"hW0DV1\":\"Spettatori massimi\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memoria\",\"KReOHe\":\"Limite di memoria (megabyte)\",\"fViWSz\":\"Limite di utilizzo della memoria in megabyte, 0 per illimitato.\",\"emJ6M7\":\"Meta informazioni\",\"6GBt0m\":\"Metadati\",\"SCcIsq\":[\"Minimo \",[\"0\"],\", predefinito \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Stampo\",\"QA/rur\":\"Maggiori informazioni sulle licenze qui\",\"fyGu1l\":\"Maggiori informazioni sul servizio\",\"yBsv2n\":\"Maggiori informazioni sul copyright di Twitter <0>qui.\",\"ZpfAc9\":\"Maggiori informazioni sul copyright di YouTube <0>qui.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Deve essere più grande della dimensione massima del file nella cache.\",\"gC9RIS\":\"Deve essere inferiore alla dimensione massima della cache.\",\"R7SsBE\":\"Muto\",\"K0rCAk\":\"Disattivare un canale.\",\"Jv/kid\":\"Silenziamento a sinistra\",\"FsCP6P\":\"Muto a destra\",\"6YtxFj\":\"Nome\",\"0ZkQqR\":\"Nome del modello. Se il nome esiste già, verrà sovrascritto.\",\"OR475H\":\"Rete\",\"KZDcDr\":\"Fonte della rete\",\"hXzOVo\":\"Prossimo\",\"JZrXI6\":\"Prossimo: Audio\",\"kZFy+Q\":\"Prossimo: Impostazione video\",\"1UzENP\":\"No\",\"p6Fxed\":\"Nessun audio\",\"bIDO3H\":\"Nessun flusso audio disponibile\",\"nn9C5B\":\"Nessun dispositivo di input disponibile\",\"dEwhMr\":\"Non è stato rilevato alcun flusso in diretta. Si prega di controllare il software che invia il flusso.\",\"1FJdZA\":\"Nessuna fonte selezionata\",\"3TfuWb\":\"Nessuna fonte disponibile\",\"fiXA/y\":\"Nessun encoder adatto trovato.\",\"acY4BT\":\"Non è stato trovato un filtro adatto.\",\"/02FxK\":\"Nessun video\",\"AVWnC9\":\"Nessun flusso video disponibile\",\"wZ7CK3\":\"ID del nodo\",\"9J5l/O\":\"Rumore\",\"EdQY6l\":\"Nessuno\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Note\",\"/a9y2d\":\"Numero di righe di registro da conservare.\",\"ZD0urA\":\"Numero di registri da conservare per ogni processo.\",\"Aia5w3\":\"Numero di secondi in cui i limiti possono essere superati.\",\"1lZb7D\":\"Numero di colonne di piastrelle da codificare.\",\"InpHMl\":\"Numero di piastrelle da codificare.\",\"wnRD5D\":\"Numero di righe di piastrelle da codificare.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Un referente per riga, ad esempio http://www.example.com.\",\"1TNIig\":\"Aperto\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Buffer di uscita\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase per la crittografia SRT.\",\"fpQo1i\":\"La passphrase deve avere una lunghezza compresa tra 10 e 79 caratteri.\",\"3GZXaB\":\"Il passthrough (copia) deve essere disattivato solo se necessario. Ogni codifica richiede risorse CPU/GPU aggiuntive.\",\"8ZsakT\":\"Password\",\"b+AuuK\":\"Password per l'autorizzazione.\",\"oREnCY\":\"Password per il dispositivo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Persistere le statistiche dei visualizzatori\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Formato pixel\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Piano: <0>Inizio\",\"Ejic1p\":\"Piattaforme\",\"gtQk6c\":\"Riproduzione\",\"vRayGs\":\"Giocatore\",\"tWB9Gz\":\"Impostazioni del giocatore salvate\",\"GIxxiU\":\"URL del giocatore\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Playlist\",\"luDqS5\":\"Versione della playlist (M3U8). La versione 3 ha la migliore compatibilità tra browser e client.\",\"84gH7g\":\"Si prega di controllare il <0>log del processo\",\"OMpKNS\":\"Contatta l'operatore del servizio e verifica cosa succede.\",\"4lATxE\":\"Inserite il vostro indirizzo e-mail per accettare i termini di servizio di Let's Encrypt CA e per essere avvisati in caso di problemi.\",\"bdMiXb\":\"Contattate l'operatore del servizio e verificate cosa succede.\",\"wPZBpR\":\"Seleziona un file da caricare.\",\"YcGRmx\":\"Se possibile, utilizzi \\\"Passthrough (copia)\\\". La codifica richiede risorse CPU/GPU aggiuntive.\",\"06qnxB\":\"Si prega di attendere. Flusso di dati della sonda ...\",\"FTIPkL\":\"Si prega di attendere. Impostazione del flusso ...\",\"hZ6znB\":\"Porto\",\"p/78dY\":\"Posizione\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"URL dell'immagine del poster\",\"6o2Onc\":\"Preset\",\"lxxyq5\":\"Flusso primario\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Processo\",\"DL/nrw\":\"Controllo del processo\",\"fzYV2N\":\"Dettagli del processo\",\"zNVLia\":\"Rapporto sul processo\",\"PwMwvX\":\"Elaborazione e controllo\",\"vERlcd\":\"Profilo\",\"6+OdGi\":\"Protocollo\",\"hEksWI\":\"Protocolli\",\"aLZh9m\":\"Dominio pubblico/i\",\"7lbVwY\":\"Servizio di pubblicazione non trovato\",\"ia1vIb\":\"Impostazioni del sito web di pubblicazione salvate\",\"XHw75Y\":\"Pubblicazioni\",\"dsOSCf\":\"Modo di tirare\",\"lQQ/zA\":\"Tirare o ricevere i dati:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualità\",\"i9d+3B\":\"Fotocamera Raspberry Pi\",\"tbXj/A\":\"Controllo del tasso\",\"iaocTt\":\"Rapporto\",\"WnSPyE\":\"Parametri rav1e\",\"6PpdQP\":\"Leggere l'input a velocità nativa\",\"bqsSkO\":\"Modalità di ricezione\",\"gcoiFh\":\"Ricollegare\",\"lakzvL\":\"Ritardo di riconnessione (secondi)\",\"HC1Dci\":[\"Riconnettersi in \",[\"0\"],\"s\"],\"uSDaLA\":[\"La riconnessione a Restreamer Core non è riuscita negli ultimi \",[\"RETRIES\"],\" secondi.\"],\"N7ojfh\":\"La riconnessione a Restreamer Core non è riuscita.\",\"lCF0wC\":\"Aggiornamento\",\"uJ+Ve2\":\"Regione\",\"CNipTv\":\"Registrazione dell'utente\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Ricarica\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Rimuovere le voci più vecchie se la /memfs è piena\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Richiede l'attivazione\",\"XMbkus\":\"Azzeramento del logo\",\"36SXzE\":\"Poster di reset\",\"6z9W13\":\"Riavviare\",\"dKwnjv\":\"Riavvio richiesto\",\"0Er6+M\":\"Riavvio\",\"X1sT1j\":\"Riavvio di Restreamer Core ...\",\"o5q6jb\":\"Il riavvio dell'applicazione non è riuscito.\",\"x8cAsq\":\"Istruzioni per il Restreamer\",\"24fLVm\":\"Servizio Restreamer\",\"LCGjV4\":\"Recuperare i dati del flusso ...\",\"6gRgw8\":\"Riprova\",\"Qe1vaN\":\"Modello di test RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Ruotare\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"App RTMP per la pubblicazione.\",\"7ggERB\":\"Uscita RTMP\",\"V82lE+\":\"Porta RTMP\",\"itARjB\":\"Server RTMP\",\"WWZqzz\":\"Il server RTMP non è abilitato\",\"HhOPCL\":\"Indirizzo di ascolto del server RTMP.\",\"DbHOhO\":\"Token RTMP per la pubblicazione e la riproduzione. Il token è il valore del parametro di query URL 'token'.\",\"OAZeFE\":\"Porta RTMPS\",\"Wt/wFL\":\"Server RTMPS\",\"xwonDv\":\"Indirizzo di ascolto del server RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regola\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Campionamento\",\"tfDRzk\":\"Salva\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Scala\",\"6aaceW\":\"Dimensione della scala\",\"xbb037\":\"Secondi per mantenere i file nella cache.\",\"geM4Wc\":\"Secondi fino al riavvio di un processo.\",\"iF7dnC\":\"Secondi fino alla terminazione di un processo in stallo.\",\"mydmGn\":\"Secondi fino all'aggiornamento dell'istantanea/ miniatura della sorgente video.\",\"a3LDKx\":\"Sicurezza\",\"Gkr6zI\":\"Token di sicurezza\",\"/Ocrtf\":\"Colore Seekbar\",\"4lDlYf\":\"Lunghezza del segmento (secondi)\",\"XfNrg+\":\"Il segmento verrà tagliato sul fotogramma chiave successivo, una volta trascorso questo tempo. Si consiglia il valore 2.\",\"jHCoDy\":\"Segmentazione\",\"htbsw4\":\"Selezionare un dispositivo:\",\"O+ruJ3\":\"Seleziona la sorgente audio:\",\"6MTTpq\":\"Selezionare RTMP o SRT (se abilitato) per ridurre la latenza.\",\"E7haRr\":\"Selezionare la fonte ...\",\"PlZ1aw\":\"Selezionare la sorgente video:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Seleziona la tua impostazione di codifica:\",\"aT3o8A\":\"Selezionare le impostazioni del filtro (opzionale):\",\"ylXj1N\":\"Selezionato\",\"kYpw4+\":\"Canale selezionato\",\"p7/fS2\":\"Selezione\",\"SOePwi\":\"Invii metriche anonime (ci aiuta per lo sviluppo futuro)\",\"kOhBl+\":\"Invia il flusso all'indirizzo ...\",\"E1X5xY\":\"Invia il flusso a questo indirizzo:\",\"d/IMf3\":\"Invia il video al Framebuffer\",\"sGH11W\":\"Server\",\"9rG25a\":\"URL del server\",\"T3bXxK\":\"Servizio\",\"KPPdUO\":\"Nome del servizio\",\"DOrSw/\":\"Token di servizio per il monitoraggio.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sessioni\",\"xwK3ty\":\"Imposta la configurazione di rav1e usando un elenco :-separato di parametri chiave=valore.\",\"FIIk8R\":\"Imposta un limite di larghezza di banda in Mbit al secondo per il trasferimento di dati HLS in uscita. Tutti i servizi, come RTMP e i processi in uscita, sono inclusi nel calcolo. Se la larghezza di banda viene superata, gli spettatori HLS ricevono il codice di stato HTTP 509 (Limite di larghezza di banda superato). 0 è illimitato.\",\"cOG/FK\":\"Imposta un limite di visualizzazione per le sessioni HLS. Se il limite viene superato, gli spettatori HLS ricevono il codice di stato HTTP 509 (Bandwidth Limit Exceeded). 0 è illimitato.\",\"mcJFKm\":\"Impostazione per la connessione al servizio.\",\"Tz0i8g\":\"Impostazioni\",\"IiOZ6R\":\"Impostazioni (modalità esperto)\",\"t64OSP\":\"Impostazioni per il percorso /data. L'accesso è protetto da\",\"Ytdvyh\":\"Impostazioni per il percorso /memfs.\",\"1w3lYe\":\"Impostazioni salvate. Tutte le modifiche saranno applicate dopo il riavvio dell'applicazione.\",\"XUw3i9\":\"Tasto condividi\",\"oD0Oes\":\"Mostra un riferimento al progetto.\",\"+vv4q2\":\"Si iscriva (gratis)\",\"JXVFAm\":\"Silenzio\",\"VSK9FJ\":\"Silenzio Audio\",\"L8Jb2l\":\"Seno\",\"MxZN16\":\"Nome del sito\",\"Cj2Gtd\":\"Dimensione\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Timeout della presa (microsecondi)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Fonte\",\"sywlQb\":\"Fonte e codifica\",\"l9wI00\":\"Velocità\",\"vdhBFK\":\"Velocità preimpostata\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Uscita SRT\",\"YqnAto\":\"Server SRT\",\"k6hpqB\":\"Il server SRT non è abilitato\",\"SzqwHY\":\"Indirizzo di ascolto del server SRT.\",\"KwbjpB\":\"Token SRT per la pubblicazione e la riproduzione. Il token è il valore del parametro streamid \\\"token\\\".\",\"Aj28wT\":\"Timeout di stallo (secondi)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistiche\",\"BrrIs8\":\"Stoccaggio\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Memorizza le statistiche del visualizzatore sul disco.\",\"hou0tP\":\"Flusso\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Chiave del flusso\",\"bqiH5R\":\"Chiave di flusso\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nome del flusso\",\"eXELiS\":\"Nomi dei flussi\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Fonte di flusso per il servizio di pubblicazione (sperimentale).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL del flusso\",\"+fVH0Y\":\"Supporto datarhei Restreamer\",\"5HSoct\":\"Supporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT e altro.\",\"D+NlUC\":\"Sistema\",\"jkuW2z\":\"Indirizzo di destinazione\",\"/K2CvV\":\"Modello\",\"2Ivkf/\":\"Modello da utilizzare per la creazione del sito web della pubblicazione. Il pulsante Elimina rimuove la selezione dal sistema.\",\"4Y5H+g\":\"Termini\",\"tRNH6x\":\"Modello di test\",\"EtlVOt\":\"Modello di test (esteso)\",\"wGPolR\":\"Colori del testo\",\"m0TUJj\":\"L'ampiezza (0.0 - 1.0) del flusso audio generato\",\"8C6xwe\":\"L'applicazione sta usando una vecchia versione delle impostazioni.\",\"VPQVR2\":\"Il binario FFmpeg disponibile non supporta nessuno dei protocolli richiesti.\",\"Gx9PPK\":\"Il bitrate del flusso audio.\",\"T2kk3f\":\"La frequenza portante\",\"JAOLK8\":[\"Non è stato possibile eliminare il canale \\\"\",[\"0\"],\"\\\".\"],\"jNaBhy\":[\"Il canale \\\"\",[\"0\"],\"\\\" è stato cancellato.\"],\"SD8pYJ\":\"La cancellazione di questo canale non può essere recuperata. Tutte le pubblicazioni di questo canale saranno rimosse.\",\"bnkV//\":\"Il profilo di ingresso non è completo. Si prega di definire una sorgente video e audio.\",\"wCYjmB\":\"Il profilo di ingresso non è completo. Definire una sorgente video e/o audio.\",\"JMaqWu\":\"Il layout del flusso audio.\",\"0dqo+p\":\"Il numero massimo di segmenti della playlist. 0 conterrà tutti i segmenti. 6 è consigliato.\",\"BDgbiW\":\"Il colore del rumore\",\"SxGu7I\":\"La persona che ha associato un'opera con questo atto ha dedicato l'opera al pubblico dominio rinunciando a tutti i suoi diritti sull'opera in tutto il mondo secondo la legge sul diritto d'autore, compresi tutti i diritti connessi e vicini, nella misura consentita dalla legge. Puoi copiare, modificare, distribuire ed eseguire l'opera, anche per scopi commerciali, il tutto senza chiedere il permesso.\",\"XISvrq\":\"Il nome di dominio pubblico raggiungibile dell'host su cui gira questo Restreamer. Separi i nomi di dominio multipli con una virgola.\",\"yt3d3G\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" non può essere eliminato\"],\"zYcO/c\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" è stato creato\"],\"AQE+oz\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" è stato cancellato\"],\"qVLWvp\":\"Il servizio di pubblicazione è stato creato\",\"njj2Wn\":\"L'uscita RTMP richiede il server RTMP.\",\"WRxiP8\":\"La frequenza di campionamento del flusso audio.\",\"/pZjRr\":\"Il file selezionato è troppo grande (<0/>). Sono consentiti solo <1/>.\",\"VBaSn9\":[\"Il tipo di file selezionato (\",[\"0\"],\") non è consentito. I tipi di file consentiti sono \",[\"1\"]],\"fM410X\":[\"Le impostazioni per \\\"\",[\"0\"],\"\\\" sono state salvate\"],\"02ii2e\":\"La fonte non fornisce alcun flusso audio.\",\"+2cAEU\":\"La sorgente non fornisce alcun flusso audio. Per favore controlla i <0>dettagli della sonda.\",\"pfqmY7\":\"La fonte non fornisce alcun flusso audio compatibile.\",\"VO9KeK\":\"La fonte non fornisce alcun flusso video compatibile. Per favore controlla i <0>requisiti.\",\"007foU\":\"La fonte non fornisce alcun flusso video. Per favore controlla i <0>dettagli della sonda.\",\"lAsMdV\":\"La fonte non fornisce alcun flusso video. Si prega di controllare il dispositivo.\",\"XlnvcR\":\"L'output SRT richiede il server SRT.\",\"w6uuIE\":\"La sorgente video non fornisce alcun flusso audio compatibile. Si raccomanda <0>Audio silenzioso. I servizi come YouTube, Facebook & Co. richiedono un canale audio.\",\"YJJ2RL\":\"La sorgente video è compatibile. Selezionare la risoluzione desiderata:\",\"wEiZHy\":\"Sono disponibili degli aggiornamenti. Qui può ottenere maggiori informazioni.\",\"4p1MgS\":\"Si è verificato un problema nella memorizzazione delle impostazioni. Le impostazioni non sono state salvate.\",\"YJhhwT\":[\"Si è verificato un errore di connessione a Restreamer Core a \",[\"0\"],\".\"],\"q42VsF\":[\"Si è verificato un errore durante il caricamento: \",[\"0\"]],\"HM96PJ\":\"C'è stato un errore nell'impostazione del flusso.\",\"LoDP+Y\":\"Ci sono stati alcuni errori nelle impostazioni. Impostazioni non salvate.\",\"l92ZKN\":\"Non c'è un metodo di accesso disponibile.\",\"cPKuc8\":\"Questo è un servizio fittizio che le spiega i concetti di servizio.\",\"Ku8nyu\":\"Non si tratta necessariamente di un errore. Tuttavia, potrebbe essere necessario un po' più di tempo perché Restreamer Core si riavvii...\",\"vCRP3w\":\"Questo per citare le norme sul copyright per il target di questo servizio.\",\"Hx7k3c\":\"Questa licenza permette ai riutilizzatori di copiare e distribuire il materiale in qualsiasi mezzo o formato solo in forma non adattata, e solo a condizione che venga data attribuzione al creatore. La licenza permette l'uso commerciale.\",\"6OeMYB\":\"Questa licenza permette ai riutilizzatori di copiare e distribuire il materiale in qualsiasi mezzo o formato solo in forma non adattata, solo per scopi non commerciali, e solo a condizione che venga data attribuzione al creatore.\",\"TUuhsB\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato solo per scopi non commerciali, e solo finché viene data attribuzione al creatore.\",\"kVtKRl\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato solo per scopi non commerciali, e solo finché viene data l'attribuzione al creatore. Se remixate, adattate o costruite sul materiale, dovete dare in licenza il materiale modificato sotto gli stessi termini.\",\"FpX5mp\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato, purché venga data l'attribuzione al creatore. La licenza permette l'uso commerciale.\",\"SDvwLd\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato, purché venga data l'attribuzione al creatore. La licenza permette l'uso commerciale. Se remixate, adattate o costruite sul materiale, dovete dare in licenza il materiale modificato sotto gli stessi termini.\",\"H144rX\":\"Questo protocollo è sconosciuto o non supportato dal binario FFmpeg disponibile.\",\"nlOxxw\":\"Questa sorgente non può essere modificata mentre è in uso. Per continuare, deve scollegare la sorgente.\",\"mbSyrG\":[\"Questa versione dell'interfaccia utente non supporta il binario FFmpeg disponibile (\",[\"0\"],\"). L'interfaccia utente richiede \",[\"1\"],\". Utilizzi un binario FFmpeg supportato.\"],\"N/tTgz\":[\"Questa versione dell'interfaccia utente non supporta il Core connesso (\",[\"0\"],\"). L'interfaccia utente richiede \",[\"1\"],\". Utilizzi una versione compatibile dell'interfaccia utente.\"],\"2Vq5tr\":\"Questa versione dell'UI è compatibile.\",\"QxX9Z5\":\"Soglia (secondi)\",\"sNmspt\":\"Colonne di piastrelle\",\"sYGp2E\":\"File di piastrelle\",\"wbOpwP\":\"Piastrelle\",\"H59P7E\":\"Tempo fino a quando una connessione inattiva del visualizzatore viene trattata come chiusa.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Per stabilizzare il sistema, aumentare la lunghezza del segmento HLS per l'intervallo di keyframe di 2-3 * (Elaborazione e controllo).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Campo superiore\",\"7mjsuh\":\"Trasmettere un Livestream a un canale Telegram.\",\"Gxlq7L\":\"Trasmette le istantanee della sorgente principale a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"SdyhUl\":\"Trasmette il canale audio della sorgente principale a un server Icecast. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"MayU3b\":\"Trasmette la sorgente principale come HTTP-Live-Streaming (HLS) a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"3K8kpL\":\"Trasmette la sorgente principale come MPEG-DASH a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"P/J230\":\"Trasmette la sorgente principale a un servizio Brightcove Live. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"u0MhFy\":\"Trasmette la sorgente principale a un servizio RTMP di CDN77. Maggiori informazioni sulla configurazione <0>qui.\",\"zkgT7c\":\"Trasmette la sorgente principale a un servizio RTMP DaCast. Maggiori informazioni sulla configurazione <0>qui.\",\"in9xJz\":\"Trasmette la sorgente principale a una risorsa Core datarhei. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"PcgwEU\":\"Trasmette la fonte principale ad una fonte di livespotting.com. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"D7jwpf\":\"Trasmette la sorgente principale a un Servizio MPEG-TS. Maggiori dettagli sulle impostazioni sono disponibili qui <0>qui.\",\"SpSgUV\":\"Trasmette la sorgente principale a un Server Red5/Pro. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"lIpqI/\":\"Trasmette la sorgente principale a un server RTMP(e|s|t|te|ts). Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"pqR6nq\":\"Trasmette la sorgente principale a un server RTSP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Q4dSnZ\":\"Trasmette la sorgente principale a un server SRT. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"fx9S4p\":\"Trasmette la sorgente principale a un server UDP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"GLXY2N\":\"Trasmette la sorgente principale a un server WOWZA. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"AsMKFi\":\"Trasmette la sorgente principale a Akamai (MSL) Media Services Live. Maggiori dettagli sulle impostazioni dell'Encoder MSL sono disponibili su <0>qui.\",\"FB364G\":\"Trasmette la sorgente principale al servizio Livepush RTMP. Ulteriori dettagli sulle impostazioni sono disponibili <0>qui.\",\"CC9yS5\":\"Trasmettere la sorgente principale al servizio RTMP di Nimo TV. Ulteriori dettagli sulle impostazioni sono disponibili <0>qui.\",\"fP8ZYg\":\"Trasmettere la sorgente principale al servizio RTMP di Picarto TV. Ulteriori dettagli sulle impostazioni sono disponibili <0>qui.\",\"D9A0LK\":\"Trasmette la sorgente principale al Servizio Restream RTMP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"YL800g\":\"Trasmettere a un Azure Media Services. Ulteriori dettagli sono disponibili <0>qui.\",\"Abgy4c\":\"Trasmettere a LinkedIn. Ulteriori dettagli sono disponibili <0>qui.\",\"dhCZoS\":\"Trasmettere il Livestream a un servizio RTMP di Dailymotion. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"tQNclD\":\"Trasmettere il Livestream a un servizio RTMP di Kick.com. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"mQ0sjr\":\"Trasmettere il Livestream a un server Owncast. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"AqYRa3\":\"Trasmettere il Livestream a un servizio Rumble RTMP. <0>Qui si possono trovare maggiori dettagli sulle impostazioni.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Trasmette il suo flusso video con la chiave richiesta, che è stata generata in Twitter Producer. Può trovare maggiori informazioni sull'impostazione di un live stream su Twitter <0>Producer.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Trasporto UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Impossibile caricare la configurazione.\",\"MWrgON\":\"Identità unica del servizio.\",\"Ef7StM\":\"Sconosciuto\",\"wiIpKZ\":\"Errore di caricamento sconosciuto\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Non selezionato\",\"j9zg7e\":\"Dettagli dell'aggiornamento (Changelog)\",\"ONWvwQ\":\"Carica\",\"OXItQT\":[\"Caricare un file audio (\",[\"0\"],\") per metterlo in loop.\"],\"75yxb7\":[\"Caricare un'immagine o un file video (\",[\"0\"],\") per mandarlo in loop.\"],\"iAkPTY\":\"Il caricamento del file non è riuscito\",\"Jmy6pK\":\"Caricamento del logo fallito\",\"xl1xFp\":\"Caricamento del poster non riuscito\",\"TjrbDj\":\"Uptime\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Utilizzi Auth0 per il suo Restreamer Core in esecuzione. Ulteriori <0>dettagli.\",\"JX4TqK\":\"Utilizzi la procedura guidata (<0/>) per un'impostazione rapida e semplice, oppure modifichi (<1/>) le sorgenti direttamente in modalità personalizzata.\",\"YYTBz0\":\"Utilizzi il suo copyright e scelga la licenza d'immagine corretta. Che sia libera per tutti o altamente limitata. Discuta brevemente di ciò che gli altri possono fare con la sua immagine.\",\"2UPEb1\":\"Usa il tuo copyright e scegli la giusta licenza per le immagini. Che sia libera per tutti o altamente limitata. Discuti brevemente su cosa gli altri possono fare con la tua immagine.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Registrazione dell'utente\",\"7sNhEz\":\"Nome utente\",\"Gv3pbp\":\"Nome utente per l'autorizzazione.\",\"RQSvXZ\":\"Nome utente del dispositivo.\",\"zze3B5\":\"V4L2_M2M è sperimentale.\",\"PvM7Yi\":\"Frequenza di fotogrammi variabile (VFR)\",\"hpBTpL\":\"velluto\",\"uIAsxu\":\"Capovolgimento verticale\",\"vSJd18\":\"Video\",\"auaWhL\":\"Dispositivo video\",\"/skRGV\":\"Impostazioni video\",\"EzOjvB\":\"Configurazione video\",\"QcQXbU\":\"Fonte video\",\"M/TIv1\":\"Visualizzatore\",\"L2hKw+\":\"viola\",\"hA6FFn\":\"Fonte virtuale\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"ID VPU\",\"wRy4hg\":\"Si consiglia OpenMAX IL per Raspberry PI (3/4) con sistema operativo a 32 bit.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Benvenuti a Restreamer v2, la soluzione per pubblicare video in modo facile e veloce. Gratuito per uso privato e commerciale. Ulteriore aiuto nei <0>docs.\",\"hJfWkA\":\"Quale preimpostazione di velocità utilizzare.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Dove memorizzare la playlist e i segmenti HLS. Si consiglia di utilizzare la memoria interna.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"bianco\",\"aFWU1n\":\"Larghezza\",\"e0wV2Y\":\"Scrivere la protezione\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Sì\",\"WPUsOF\":\"Non può interrompere la procedura guidata perché deve essere definito almeno un ingresso.\",\"qwY9F9\":\"Hai cambiato la configurazione. Affinché le modifiche abbiano effetto, devi riavviare l'applicazione. Vuoi riavviare ora?\",\"nxq2ni\":\"Devi riconnetterti manualmente\",\"RM3CEc\":\"Hai delle modifiche non salvate. Per favore, salvale prima di poter controllare di nuovo il servizio.\",\"/cg7qS\":\"Il suo flusso deve essere codificato, ma non è disponibile un codificatore adatto.\",\"BwrOm6\":\"Il tuo flusso deve essere codificato. Scegli il codificatore desiderato:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Modello di test YUV\"}")}; \ No newline at end of file diff --git a/src/locales/it/messages.po b/src/locales/it/messages.po index 931d94b..87d39a7 100644 --- a/src/locales/it/messages.po +++ b/src/locales/it/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Elenco di compatibilità" msgid "<0>Show probe details" msgstr "<0>Mostra dettagli sonda" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Passare all'interfaccia del Restreamer di destinazione." @@ -76,11 +76,16 @@ msgstr "Abort" msgid "About" msgstr "A proposito di" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Audio" @@ -302,10 +311,6 @@ msgstr "Autore" msgid "Authorization" msgstr "Autorizzazione" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Autoplay" msgid "Available" msgstr "Disponibile" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Tempo di cache (secondi)" msgid "Cache types" msgstr "Tipi di cache" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Colore" msgid "Command" msgstr "Comando" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Configurazione" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Dispositivo collegato" msgid "Connected since <0/>" msgstr "Collegato da <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Collegamento ..." @@ -616,15 +618,19 @@ msgstr "Modalità Quantizzatore costante (da -1 a 255)." msgid "Content" msgstr "Contenuto" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL del contenuto" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Limite CPU (percentuale)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Limite di utilizzo della CPU in percentuale (0-100%), 0 per illimitato." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Modalità deinterlacciata" msgid "Deinterlace parity" msgstr "Deinterlacciamento della parità" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Ritardo" @@ -851,14 +841,6 @@ msgstr "L'eliminazione di un servizio di pubblicazione non può essere annullata msgid "Delivering mode" msgstr "Modalità di consegna" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Scollegare" msgid "Disconnect & Continue" msgstr "Disconnettersi e continuare" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Giocatore" msgid "EDIT: Publication Website" msgstr "EDIT: Sito web di pubblicazione" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Email" msgid "Embed" msgstr "Incorporare" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Codifica" msgid "Encryption" msgstr "Crittografia" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Inserisca un nome per il nuovo canale." @@ -1101,12 +1099,12 @@ msgstr "Errore" msgid "Error while copying data to clipboard" msgstr "Errore durante la copia dei dati negli appunti" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Errore: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Percorso del file" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filtro" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Generale" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "ID di Google Analytics" @@ -1353,24 +1351,21 @@ msgstr "ID di Google Analytics" msgid "Google Analytics Tracker Name" msgstr "Nome del tracker di Google Analytics" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Dispositivo hardware" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Titolo" msgid "Height" msgstr "Altezza" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Statistica HLS per l'archiviazione In-memory" msgid "Horizontal Flip" msgstr "Capovolgimento orizzontale" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Interfaccia Restreamer in hosting" @@ -1438,8 +1429,8 @@ msgstr "Porta HTTPS" msgid "Human readable name on the service." msgstr "Nome leggibile dall'uomo del servizio." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Incompatibile" msgid "Inherit" msgstr "Eredita" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Iniettare 1" @@ -1527,6 +1514,14 @@ msgstr "Iniettare 3" msgid "Inject 4" msgstr "Iniettare 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Intervallo dei fotogrammi chiave (secondi)" msgid "Layout" msgstr "Layout" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Certificazione Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Live-Streaming su Twitch Live RTMP Service." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Trasmissione in diretta su Vimeo Live RTMP Service" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "ID Livesource" @@ -1726,7 +1721,7 @@ msgstr "Normalizzazione del loudness" msgid "Low latency (Buffer)" msgstr "Bassa latenza (buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Canale principale" @@ -1848,6 +1843,10 @@ msgstr "Metadati" msgid "Mininum {0}, default {1}" msgstr "Minimo {0}, predefinito {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Stampo" @@ -1870,7 +1869,7 @@ msgstr "Maggiori informazioni sul copyright di Twitter <0>qui." msgid "More about YouTube's copyright <0>here." msgstr "Maggiori informazioni sul copyright di YouTube <0>qui." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Nessun audio" msgid "No audio stream available" msgstr "Nessun flusso audio disponibile" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Nessun dispositivo di input disponibile" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Non è stato rilevato alcun flusso in diretta. Si prega di controllare il software che invia il flusso." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Nessuna fonte selezionata" @@ -1989,7 +1972,7 @@ msgstr "Nessun encoder adatto trovato." msgid "No suitable filter found." msgstr "Non è stato trovato un filtro adatto." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Nessun video" @@ -1998,10 +1981,6 @@ msgstr "Nessun video" msgid "No video stream available" msgstr "Nessun flusso video disponibile" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "ID del nodo" @@ -2052,10 +2031,6 @@ msgstr "Numero di piastrelle da codificare." msgid "Number of tiles rows to encode with." msgstr "Numero di righe di piastrelle da codificare." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Un referente per riga, ad esempio http://www.example.com." msgid "Open" msgstr "Aperto" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Buffer di uscita" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Password per il dispositivo." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Playlist" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Versione della playlist (M3U8). La versione 3 ha la migliore compatibilità tra browser e client." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Si prega di controllare il <0>log del processo" @@ -2309,16 +2284,9 @@ msgstr "Preset" msgid "Primary stream" msgstr "Flusso primario" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Processo" msgid "Process control" msgstr "Controllo del processo" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Dettagli del processo" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protocollo" msgid "Protocols" msgstr "Protocolli" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Dominio pubblico/i" @@ -2437,6 +2401,10 @@ msgstr "Modo di tirare" msgid "Pull or recieve the data:" msgstr "Tirare o ricevere i dati:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Ricollegare" msgid "Reconnect delay (seconds)" msgstr "Ritardo di riconnessione (secondi)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Regione" msgid "Register user" msgstr "Registrazione dell'utente" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Rimuovere le voci più vecchie se la /memfs è piena" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Istruzioni per il Restreamer" msgid "Restreamer Service" msgstr "Servizio Restreamer" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Recuperare i dati del flusso ..." @@ -2618,15 +2578,15 @@ msgstr "Riprova" msgid "RGB test pattern" msgstr "Modello di test RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Ruotare" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Regola" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Scala" msgid "Scale size" msgstr "Dimensione della scala" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Secondi per mantenere i file nella cache." @@ -2778,10 +2738,6 @@ msgstr "Il segmento verrà tagliato sul fotogramma chiave successivo, una volta msgid "Segmentation" msgstr "Segmentazione" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Selezionare la fonte ..." msgid "Select video source:" msgstr "Selezionare la sorgente video:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Selezioni se prelevare il flusso da una <0>sorgente di rete (come una telecamera di rete) o dal <1>server RTMP interno (ad esempio, i flussi OBS verso il Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Nome del servizio" msgid "Service token for monitoring." msgstr "Token di servizio per il monitoraggio." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Impostazioni" msgid "Settings (expert mode)" msgstr "Impostazioni (modalità esperto)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Impostazioni per il percorso /data. L'accesso è protetto da" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Dimensione" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Snapshot" @@ -3005,7 +2957,7 @@ msgstr "Velocità" msgid "Speed Preset" msgstr "Velocità preimpostata" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Piastrelle" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Tempo fino a quando una connessione inattiva del visualizzatore viene trattata come chiusa." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Per stabilizzare il sistema, aumentare la lunghezza del segmento HLS per l'intervallo di keyframe di 2-3 * (Elaborazione e controllo)." @@ -3477,18 +3413,6 @@ msgstr "Per stabilizzare il sistema, aumentare la lunghezza del segmento HLS per msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Campo superiore" @@ -3627,12 +3551,12 @@ msgstr "Tune" msgid "UDP transport" msgstr "Trasporto UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Sconosciuto" msgid "Unknown upload error" msgstr "Errore di caricamento sconosciuto" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Caricamento del poster non riuscito" msgid "Uptime" msgstr "Uptime" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Usa il tuo copyright e scegli la giusta licenza per le immagini. Che sia msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Registrazione dell'utente" @@ -3773,10 +3693,6 @@ msgstr "Nome utente per l'autorizzazione." msgid "Username for the device." msgstr "Nome utente del dispositivo." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M è sperimentale." @@ -3850,10 +3766,10 @@ msgstr "ID VPU" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Si consiglia OpenMAX IL per Raspberry PI (3/4) con sistema operativo a 32 bit." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Benvenuti a Restreamer v2, la soluzione per pubblicare video in modo fac msgid "What speed preset to use." msgstr "Quale preimpostazione di velocità utilizzare." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Dove memorizzare la playlist e i segmenti HLS. Si consiglia di utilizzare la memoria interna." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "bianco" @@ -3881,6 +3809,10 @@ msgstr "Larghezza" msgid "Write protection" msgstr "Scrivere la protezione" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Sì" @@ -3893,7 +3825,7 @@ msgstr "Non può interrompere la procedura guidata perché deve essere definito msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Hai cambiato la configurazione. Affinché le modifiche abbiano effetto, devi riavviare l'applicazione. Vuoi riavviare ora?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Devi riconnetterti manualmente" @@ -3910,14 +3842,6 @@ msgstr "Il suo flusso deve essere codificato, ma non è disponibile un codificat msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Il tuo flusso deve essere codificato. Scegli il codificatore desiderato:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/ko/messages.js b/src/locales/ko/messages.js index 9f55322..6cd6080 100644 --- a/src/locales/ko/messages.js +++ b/src/locales/ko/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>호환 목록\",\"TkRUk0\":\"<0>확인 결과 보기\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. 대상 Restreamer의 인터페이스를 엽니다.\",\"2JnpXL\":\"2. RTMP나 SRT 형식으로 새로운 채널을 만듭니다.\",\"YidyJl\":\"3. URL을 복사해 \\\"대상 주소\\\" 필드에 붙여넣습니다.\",\"X1MZZp\":\"6 (+ 키프레임 재생 보장)\",\"JVJkxU\":\"7 (+ 조각난 MP4 형식)\",\"ssjjFt\":\"취소\",\"uyJsf6\":\"정보\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"추가\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"송출 사이트에 외부 위젯과 스타일을 추가합니다. 도움말에서 예시를 찾을 수 있습니다.\",\"tsJWSj\":\"새로운 채널 추가\",\"PLTLdv\":\"송출 대상 추가하기\",\"35l+l6\":[\"추가: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"주소\",\"8M7jVn\":\"배경 이미지의 주소입니다.\",\"Vu9yiv\":\"HTTP 요청을 수신할 주소입니다.\",\"AQDW5r\":\"HTTPS 요청을 수신할 주소입니다.\",\"tPrmjP\":\"주소:\",\"owt8Ow\":\"송출 사이트의 색상과 배경을 원하는대로 설정합니다.\",\"uNXGDK\":\"심화 모니터링\",\"VNgKZz\":\"심화 설정\",\"eiGNYb\":\"심화 구성\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"이메일로 알림\",\"N40H+G\":\"모두\",\"Hw5q+W\":\"모든 프레임\",\"f2zxGk\":\"모든 중요한 시스템 설정입니다.\",\"lle3bd\":\"모든 접속 허용\",\"bgFbIB\":\"스트림의 시청자 수를 셉니다.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"음량\",\"ngteek\":\"환경 변수로 이 값을 설정합니다.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API 엔드포인트를 찾을 수 없습니다. 설정이 저장되지 않습니다.\",\"LMUw1U\":\"앱\",\"IrC12v\":\"애플리케이션\",\"xnCC/2\":\"정말 설정 마법사를 취소하시겠습니까?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"소리\",\"n3RW8K\":\"소리 장치\",\"sYyYfE\":\"소리 장치\",\"2he4Ra\":\"장치의 소리\",\"MvY15a\":\"소리 설정\",\"NoLJ6g\":\"소리 구성\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"이 인터페이스의 출처가 안전하지 않아 Auth0를 사용할 수 없습니다.\",\"aKsflb\":\"Auth0 테넌트\",\"VbeIOx\":\"저작자\",\"NJgJy9\":\"사용자 인증\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"자동\",\"6yEk/V\":\"모든 미디어 데이터를 자동으로 청소합니다.\",\"jT50Rz\":\"자동재생\",\"csDS2L\":\"가능\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"뒤로\",\"1KfyNL\":\"배경 색상\",\"23c2Uw\":\"배경 이미지\",\"r0bEmM\":\"백업 서버\",\"JFjQhH\":\"백업 스트림\",\"bkJ+QE\":\"백업 URL\",\"OlXThP\":\"대역폭\",\"QYaaBO\":\"대역폭 설정\",\"KSSL9f\":\"요약 보고\",\"0wJVK+\":\"기본\",\"YR04fn\":\"비프 인수\",\"5bhON1\":\"비트율\",\"Os3B4i\":\"불허할 캐시 유형\",\"zOC7cT\":\"파란색\",\"359XuU\":\"하단 필드\",\"aC3kWW\":\"이 영상이 어떤 것인지 시청자에게 간략히 설명해주세요.\",\"SehDNd\":\"갈색\",\"Ptp9MF\":\"버튼 색상\",\"Lp4WkO\":\"높이 맞춤\",\"IeV/4P\":\"폭 맞춤\",\"KxP5AO\":\"/data 위치에 있는 파일을 위한 캐시입니다.\",\"qX8ffo\":\"캐시 시간 (초)\",\"4dRAku\":\"캐시 유형\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"버퍼 캡쳐\",\"aL2+1d\":\"클릭 캡쳐\",\"EOfLfP\":\"커서 캡쳐\",\"ieS3Wc\":[\"\\\"\",[\"0\"],\"\\\" 채널을 저장했습니다.\"],\"lfFsZ4\":\"채널\",\"WMCwmR\":\"업데이트 확인\",\"vM6kpc\":\"요구사항 확인\",\"Wzgqhl\":\"영상 스트림 선택\",\"JpTR0/\":\"소리 스트림 선택\",\"BTNyrQ\":\"입력 장치 선택...\",\"f9QIui\":\"입력 스트림 선택 ...\",\"/Y6zrN\":\"CFR과 VFR(자동) 중 선택\",\"gObOjh\":\"코덱 선택...\",\"v7lrmU\":\"테넌트 선택 ...\",\"Bntlv+\":\"크롬캐스트\",\"+/29Pz\":\"조각\",\"yz7wBu\":\"닫기\",\"r8NEPc\":\"코드 삽입\",\"BaUuhR\":\"코덱\",\"jZlrte\":\"색상\",\"sjVfrA\":\"명령\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"설정\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"비밀번호 확인\",\"iSLIjg\":\"연결\",\"NL3Gev\":\"연결된 장치\",\"ywAvGr\":\"<0/> 부터 연결됨\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"연결 중...\",\"y6+BXa\":\"Restreamer Core에 연결 중 ...\",\"Td5lm6\":\"복합적인 문제로 Restreamer Core에 연결하지 못했습니다.\",\"awE5Py\":\"고정 프레임율 (CFR)\",\"DT0Af/\":\"상수 퀀타이저 모드(-1~255).\",\"4b3oEV\":\"내용\",\"U34RbB\":\"내용 URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"코어\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU 제한(퍼센트)\",\"uW5tVo\":\"CPU 사용량 제한(%)(0-100%), 무제한은 0입니다.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"크리에이티브 커먼즈\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"직접설정 ...\",\"kH80Lk\":\"소리 장치 직접 설정\",\"fW1XQD\":\"소리 목록 직접 설정\",\"bzREp0\":\"비트율 직접 설정 (kbit/s)\",\"w9oKek\":\"코드 직접 삽입\",\"jYaP01\":\"딜레이 직접 입력\",\"2Gw+zZ\":\"장치 직접 입력\",\"WCXGNp\":\"양식 직접 입력\",\"ZkpZ06\":\"프레임률 직접 입력\",\"1OXCgh\":\"datarhei Core의 JSON Config를 직접 설정합니다.\",\"kl56NX\":\"키프레임 간격 직접 입력\",\"prIqWa\":\"레이아웃 직접 입력\",\"HSB43e\":\"샘플률 직접 입력 (Hz)\",\"Efe3BI\":\"비율 직접 입력\",\"E/2KdS\":\"크기 직접 입력\",\"Se794B\":\"영상 장치 직접 입력\",\"aqv915\":\"영상 목록 직접 입력\",\"v8OlX8\":\"데이터를 클립보드로 복사함\",\"J/VBax\":\"비활성화 색상\",\"d2TTfK\":\"데시벨(dB)\",\"W034oz\":\"디코더\",\"ovBPCi\":\"기본\",\"gFwPaj\":[\"기본 \",[\"0\"]],\"JQnkrI\":[\"기본 \",[\"0\"],\"(\",[\"1\"],\"초)\"],\"A7rne1\":\"디인터레이스 (bwdif)\",\"yLth2B\":\"디인터레이스 대상(deint)\",\"g3JmiG\":\"디인터레이스 모드\",\"aro6lN\":\"디인터레이스 기준(parity)\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"딜레이\",\"qBC9g9\":\"딜레이 (ms)\",\"cnGeoo\":\"삭제\",\"ScK3zL\":\"송출 서비스의 삭제는 되돌릴 수 없습니다. 해당 송출은 즉시 멈춥니다.\",\"cEx3oI\":\"전송 방식\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"설명\",\"f8fH8W\":\"디자인\",\"PEHQTf\":\"장치\",\"+K0AvT\":\"연결 해제\",\"miKA/E\":\"연결 끊고 계속\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"연결 끊는 중...\",\"sPFHpI\":\"디스크\",\"qczNPP\":\"저장소 캐시\",\"PUqOjv\":\"저장소 사용량\",\"uTwT/l\":\"바로 애플리케이션을 다시 시작할까요?\",\"FgxcNT\":[\"\\\"\",[\"0\"],\"\\\"을(를) 삭제하시겠습니까?\"],\"NogZqg\":[[\"title\"],\"을(를) 삭제할까요?\"],\"0p+Mpn\":[\"\\\"\",[\"0\"],\"\\\"의 연결을 끊겠습니까?\"],\"TbjyhA\":\"문서\",\"TvY/XA\":\"문서\",\"jPtEhI\":\"복제된 프레임\",\"diaSRH\":\"각 필드\",\"u2SnNO\":\"각 프레임\",\"ePK91l\":\"수정\",\"INCFjw\":\"실시간 송출을 위한 영상과 소리 원본을 설정하세요. 설명을 더하고, 원하는 저작권 정책을 책정할 수 있습니다.\",\"+7Wr2a\":[\"수정: \",[\"title\"]],\"e3GLqI\":\"편집: 재생기\",\"dTPDyf\":\"편집: 송출 웹사이트\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"이메일\",\"KKBlUU\":\"포함\",\"PaQ3df\":\"활성화\",\"No9svk\":\"이 값에 반송 주파수를 곱한 값으로 매초 삐 소리 활성화\",\"R7s0Th\":\"백업 스트림 활성화\",\"xA5zBY\":\"무지 상세한 통계 활성화\",\"r0zP4o\":\"바로 활성화\",\"JwR989\":\"기본 스트림 활성화\",\"blkDNw\":\"RTMP 서버 활성화...\",\"FgEhO4\":\"RTMPS 전송 활성화\",\"uGvvxq\":\"스냅샷 활성화\",\"IuL64N\":\"SRT 서버 활성화...\",\"NJsnxf\":\"사용자 인증을 사용할 것을 강력히 권장합니다. 그러지 않으면 누구나 접속이 가능해집니다.\",\"xwS6bX\":\"기본 보안을 활성화할 것을 강력히 권장합니다. 그러지 않으면 누구나 /memfs 에 데이터를 쓸 수 있게 됩니다.\",\"0zaXWu\":\"인코더\",\"o0XA5y\":\"인코딩\",\"q1srUM\":\"암호화\",\"qS2y97\":\"새로운 채널의 이름을 입력하세요.\",\"f7sXvi\":\"비밀번호 입력\",\"5QCNrf\":\"네트워크상에 있는 원본의 주소를 입력하세요:\",\"WLnvCZ\":\"사용자 이름을 입력하세요\",\"ijwVVM\":\"엔트로피 부호화\",\"SlfejT\":\"오류\",\"sHoMKO\":\"데이터를 클립보드로 복사하는 중 오류 발생\",\"TpqeIh\":[\"오류: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"채널 목록 윗 공간을 넓힙니다(실시간 채팅).\",\"IBJg8n\":\"채널 설명 아랫 공간을 넓힙니다(댓글상자).\",\"XeunlQ\":\"전문가 모드\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"채널 목록 확장\",\"tG09kC\":\"내용 확장\",\"bPWJOj\":\"하단 확장\",\"SeaRa5\":\"헤더 확장\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"송출 서비스 생성 실패 (\",[\"0\"],\")\"],\"yT6MEY\":\"송출 웹사이트 파일을 만드는데 실패했습니다.\",\"FGdPhH\":\"원본을 확인하지 못했습니다. <0>확인 결과를 검토해주세요.\",\"DvfYM2\":[\"토큰 갱신 실패: \",[\"0\"]],\"J0Jclh\":\"삽입 메타데이터 저장 실패\",\"RPXHsU\":\"프로세스 중지 실패\",\"AhS7uc\":\"재생기 크기 설정을 저장하는데 실패했습니다.\",\"PcJRf4\":[\"송출 서비스 저장 실패 (\",[\"0\"],\")\"],\"2X8Mh5\":[\"삽입 프로세스 갱신 실패 (\",[\"0\"],\")\"],\"t1E1OU\":[\"삽입 스냅샷 프로세스 갱신 실패 (\",[\"0\"],\")\"],\"bssUbs\":\"재생기 갱신 실패\",\"4SzVSX\":\"재생 사이트 갱신 실패\",\"H8gP5T\":\"원본 검증에 실패했습니다. 주소를 확인해주세요.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"파일 경로\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"필터\",\"JmZ/+d\":\"완료\",\"k4A6IZ\":\"크기 고정\",\"Xgkhyj\":\"플래그\",\"+L0/av\":\"자바스크립트를 입력합니다.\",\"VBU6dD\":\"스타일시트를 입력합니다.\",\"XDTTEp\":\"입력 프레임률 고정\",\"Y5YNoi\":\"키 프레임 강제\",\"kI1qVD\":\"형식\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"프레임 드롭\",\"lPICcX\":\"프레임을 그대로 사용합니다 (Passthrogh)\",\"T8wPu0\":\"프레임버퍼\",\"Ou/g2q\":\"프레임률\",\"RFrfTY\":\"프레임 속도 변환(프레임 보간)\",\"xDfHbM\":\"프레임율 방식\",\"4xNpe4\":\"주파수 (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"일반\",\"HMx8FD\":\"얻기\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google 애널리틱스 ID\",\"S/8Noo\":\"Google 애널리틱스 추적 도구 이름\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"하드웨어 장치\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"헤더\",\"+670Zw\":\"헤드라인\",\"PFFhCT\":\"높이\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS 출력\",\"oMxmoP\":\"HLS 서버\",\"5/G5c1\":\"HLS 통계를 메모리에 저장\",\"wXoUQx\":\"좌/우 뒤집기\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Restreamer 인터페이스 제공\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP와 HTTPS\",\"YmRLab\":\"HTTP 포트\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS 포트\",\"Ptrvx5\":\"사용자에게 표시할 서비스 이름을 입력해주세요.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"포트를 변경한 경우, 이미 Restreamer 코어를 재시작 하였더라도, 다른 포트에서 사용할 수 있습니다.\",\"OQONQS\":\"Let's Encrypt의 TLS 접속을 활성하려면 인증을 진행하기까지 시간이 소요됩니다. 네트워크의 80포트로 Restreamer Core에 접근할 수 있게 하세요. Restreamer Core의 콘솔 기록을 검토해주세요.\",\"yWR5EY\":\"아이프레임 코드\",\"7ZKroD\":\"기록하지 않을 IP 범위\",\"VyUuZb\":\"이미지 URL\",\"5n8FKh\":\"각인\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"재생기에 더하여, Restreamer는 현재 라이브 스트림을 쉽고 빠르게 확인할 수 있는 페이지를 제공합니다.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"메모리\",\"EwM+sw\":\"메모리 저장소\",\"xmsVuq\":\"호환되지 않음\",\"exUN1j\":\"상속\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"삽입 1\",\"MJlrvd\":\"삽입 2\",\"MppU96\":\"삽입 3\",\"zBVRQb\":\"삽입 4\",\"Adqgqr\":\"입력 스트림\",\"jnyWFc\":\"인스턴스 도메인\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"간격 (초)\",\"C4WaV1\":\"문제 알리기\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"키프레임 간격 (초)\",\"rdU729\":\"레이아웃\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Let's Encrypt 인증\",\"LgUs17\":\"Let's Encrypt로 인증하려면 하나 이상의 공공 도메인 이름과 80포트의 TCP 접속이 가능해야 합니다.\",\"oCHfGC\":\"레벨\",\"eyLS1J\":\"시스템 프로토콜의 레벨입니다.\",\"iQmbPb\":\"라이선스\",\"mQImez\":\"활성화 색상\",\"6BDqha\":\"제한\",\"1pbzRr\":\"행 색상\",\"Ce6Hrg\":\"라인\",\"yzF66j\":\"링크\",\"NBxw5Y\":\"링크에 마우스를 올릴 때\",\"xCrpEt\":\"캐시하지 않을 파일 확장자(예: \\\".m3u8\\\")를 한 줄에 하나씩 입력하세요. 없으면 비워두세요.\",\"m2l8c3\":\"캐시할 파일 확장자 목록(예: \\\".html\\\")은 한 줄에 하나씩 입력해주세요. 모든 파일 유형을 캐시하려면 비워두세요.\",\"QYw6tl\":\"CIDR로 표기된, 통계를 기록하지 않을 IP 범위입니다(예: 127.0.0.1/32). 한 줄에 하나의 IP범위만 입력합니다. 모든 세션의 통계를 기록하려면 비워두세요.\",\"ELFO4F\":\"목록 크기 (세그먼트)\",\"D0Nwch\":\"dlive Live RTMP Service로 송출합니다.\",\"n2VKys\":\"Facebook Live RTMP 서비스로 송출\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Media Network RTMP Service로 송출합니다.\",\"w9zSAv\":\"PeerTube V3 RTMP/S Service로 송출합니다.\",\"SZ9Q++\":\"Trovo Live RTMP Service로 송출합니다.\",\"JJGagy\":\"Twitch 라이브 RTMP 서비스로 송출합니다.\",\"4TnPVp\":\"Vimeo 라이브 RTMP 서비스로 송출합니다.\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"기록 단계\",\"x7PDL5\":\"기록\",\"z0t9bb\":\"접속\",\"+fL+Rj\":[\"접속 실패: \",[\"0\"]],\"4cd7gw\":\"접속 실패: API 세부사항을 불러올 수 없습니다\",\"sNqu7k\":\"로그인/JWT 인증\",\"iG7KNr\":\"로고\",\"nOhz3x\":\"로그아웃\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"소리 크기 평균화\",\"QGvS9k\":\"낮은 지연시간 (버퍼)\",\"GaV7al\":\"주 채널\",\"Wsn0Uw\":\"기본 채널 없음\",\"tROIde\":\"기본 채널 저장됨\",\"nLVSux\":\"접속시 보여질 채널입니다(index.html).\",\"rd3Pv7\":\"기본 원본\",\"f4txA1\":\"유지/보수:\",\"3iTz2L\":\"채널을 RTMP 스트림으로 준비합니다. (시범기능)\",\"mMiku6\":\"채널을 SRT 스트림으로 준비합니다. (시범기능)\",\"6dZ9NS\":\"표시된 프레임\",\"iuA3xD\":\"마스터 플레이리스트 (브라우저/클라이언트 호환성 증대)\",\"WBpxnA\":\"최대 캐시 크기를 입력해주세요. 0은 제한을 두지 않습니다.\",\"NzaPGT\":\"/memfs에 할당된 RAM을 MB단위로 입력해주세요. 0은 제한을 두지 않습니다.\",\"aaso5s\":\"디스크에 할당할 공간을 메가바이트 단위로 입력합니다. 0은 제한을 두지 않습니다.\",\"4hp5D2\":\"최대 대역폭 (Mbits/s)\",\"L+uBOR\":\"최대 딜레이를 밀리초로 입력합니다.\",\"hkoCqq\":\"최대 파일 크기 (메가바이트)\",\"i96JfZ\":\"캐시에 저장할 최대 파일 크기입니다.\",\"Q9HspI\":\"최대 기록 역사\",\"bS9ZHz\":\"최대 기록 줄\",\"6sayfE\":\"최대 크기 (메가바이트)\",\"09BWQO\":\"시청 기록이 없는 시간 (초)\",\"hW0DV1\":\"최대 시청자\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"메모리\",\"KReOHe\":\"메모리 제한(메가바이트)\",\"fViWSz\":\"메모리 사용량 제한은 메가바이트 단위로, 무제한은 0입니다.\",\"emJ6M7\":\"메타 정보\",\"6GBt0m\":\"메타데이터\",\"SCcIsq\":[\"최소 \",[\"0\"],\", 기본 \",[\"1\"]],\"riWPSk\":\"몰드\",\"QA/rur\":\"저작권 안내 입력\",\"fyGu1l\":\"서비스 세부사항\",\"yBsv2n\":\"Twitter의 저작권 정책은 <0>여기에서 확인할 수 있습니다.\",\"ZpfAc9\":\"YouTube의 저작권 정책은 <0>여기에서 확인할 수 있습니다.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"캐시의 최대 파일 크기보다 커야 합니다.\",\"gC9RIS\":\"최대 캐시 크기보다 작아야 합니다.\",\"R7SsBE\":\"음소거\",\"K0rCAk\":\"채널 음소거.\",\"Jv/kid\":\"왼쪽 음소거\",\"FsCP6P\":\"오른쪽 음소거\",\"6YtxFj\":\"이름\",\"0ZkQqR\":\"템플릿의 이름입니다. 이미 존재할 경우 덮어씁니다.\",\"OR475H\":\"네트워크\",\"KZDcDr\":\"네트워크 원본\",\"hXzOVo\":\"다음\",\"JZrXI6\":\"다음: 소리\",\"kZFy+Q\":\"다음: 영상 구성\",\"1UzENP\":\"아니오\",\"p6Fxed\":\"소리 없음\",\"bIDO3H\":\"소리 스트림 없음\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"입력 장치가 없습니다.\",\"dEwhMr\":\"송출중인 스트림이 감지되지 않았습니다. 송출 소프트웨어를 점검해주세요.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"소리 원본 선택되지 않음\",\"3TfuWb\":\"원본이 없습니다.\",\"fiXA/y\":\"적절한 인코더가 없습니다.\",\"acY4BT\":\"적절한 필터를 찾을 수 없습니다.\",\"/02FxK\":\"비디오 없음\",\"AVWnC9\":\"영상 스트림이 없음\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"잡음\",\"EdQY6l\":\"없음\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"비고\",\"/a9y2d\":\"유지할 로그 줄 수입니다.\",\"ZD0urA\":\"프로세스 당 유지할 기록의 개수입니다.\",\"Aia5w3\":\"제한을 초과할 수 있는 시간(초)입니다.\",\"1lZb7D\":\"인코딩할 타일 열의 개수입니다.\",\"InpHMl\":\"인코딩할 타일 수입니다.\",\"wnRD5D\":\"인코딩할 타일 행의 개수입니다.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"확인\",\"+Xj01r\":\"한 줄에 하나의 리퍼러만 입력합니다. 예) http://www.example.com\",\"1TNIig\":\"열기\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"출력 버퍼\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"좌/우\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"암호문\",\"Y+p0Tt\":\"SRT 암호화를 위한 암호문\",\"fpQo1i\":\"암호문은 10에서 79자 사이여야 합니다.\",\"3GZXaB\":\"필요할때만 \\\"그대로 전달(복사)\\\" 옵션을 해제하세요. 인코딩을 하려면 더 많은 CPU/GPU 자원이 필요합니다.\",\"8ZsakT\":\"비밀번호\",\"b+AuuK\":\"사용자 인증을 위한 비밀번호입니다.\",\"oREnCY\":\"장치의 비밀번호입니다.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"시청자 통계 유지\",\"ANX1b0\":\"분홍색\",\"c8aBfM\":\"픽셀 유형\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"플랜: <0>스타터\",\"Ejic1p\":\"플랫폼\",\"gtQk6c\":\"재생\",\"vRayGs\":\"재생기\",\"tWB9Gz\":\"플레이어 설정 저장됨\",\"GIxxiU\":\"재생기 URL\",\"PUmLMn\":\"재생사이트\",\"LKPR6G\":\"재생목록\",\"luDqS5\":\"M3U8 버전입니다. 버전 3이 가장 좋은 브라우저와 클라이언트 사이의 호환성을 보장합니다.\",\"84gH7g\":\"<0>프로세스 기록을 검토해주세요.\",\"OMpKNS\":\"서비스 운영자에게 문의하시기 바랍니다.\",\"4lATxE\":\"Let's Encrypt CA의 이용약관에 동의하고 문제 발생시 알림을 받으려면 이메일 주소를 입력해주세요.\",\"bdMiXb\":\"운영자에게 무슨 일이 일어났는지 문의하세요.\",\"wPZBpR\":\"업로드할 파일을 선택해주세요.\",\"YcGRmx\":\"가능한 한 \\\"그대로 전달(복사)\\\" 옵션을 사용하세요. 인코딩을 하려면 더 많은 CPU/GPU 자원이 필요합니다.\",\"06qnxB\":\"스트림 데이터를 확인하고 있습니다. 잠시만 기다려주세요...\",\"FTIPkL\":\"스트림을 설정합니다. 잠시만 기다려주세요...\",\"hZ6znB\":\"포트\",\"p/78dY\":\"위치\",\"d62Stt\":\"포스터\",\"PNap/Y\":\"포스터 이미지 URL\",\"6o2Onc\":\"사전설정\",\"lxxyq5\":\"기본 스트림\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"확인하기\",\"1B9XX0\":\"프로세스\",\"DL/nrw\":\"프로세스 조절\",\"fzYV2N\":\"프로세스 상세\",\"zNVLia\":\"프로세스 보고서\",\"PwMwvX\":\"프로세싱과 조절\",\"vERlcd\":\"프로파일\",\"6+OdGi\":\"프로토콜\",\"hEksWI\":\"프로토콜\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"퍼블릭 도메인\",\"7lbVwY\":\"송출 서비스를 찾을 수 없음\",\"ia1vIb\":\"송출 웹사이트 설정 저장\",\"XHw75Y\":\"공개\",\"dsOSCf\":\"Pull 모드\",\"lQQ/zA\":\"데이터 수신:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"품질\",\"i9d+3B\":\"Raspberry Pi 카메라\",\"tbXj/A\":\"비율 조정\",\"iaocTt\":\"비율\",\"WnSPyE\":\"rav1e 매개변수\",\"6PpdQP\":\"원본 속도로 입력 읽어들이기\",\"bqsSkO\":\"수신 모드\",\"gcoiFh\":\"재연결\",\"lakzvL\":\"재연결 지연시간 (초)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[[\"0\"],\"초 후 재연결\"],\"uSDaLA\":[[\"RETRIES\"],\" 동안 Restreamer Core 접속에 실패하였습니다.\"],\"N7ojfh\":\"Restreamer Core 접속에 실패했습니다.\",\"lCF0wC\":\"다시 보기\",\"uJ+Ve2\":\"지역\",\"CNipTv\":\"사용자 등록\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"다시 불러오기\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"/memfs가 가득 차면 오래된 것부터 지움\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"활성화 필요\",\"XMbkus\":\"로고 초기화\",\"36SXzE\":\"포스터 초기화\",\"6z9W13\":\"재시작\",\"dKwnjv\":\"다시 시작 필요\",\"0Er6+M\":\"다시 시작\",\"X1sT1j\":\"Restreamer Core를 다시 시작합니다 ...\",\"o5q6jb\":\"애플리케이션을 다시 시작하는데 실패했습니다.\",\"x8cAsq\":\"Restreamer 사용법\",\"24fLVm\":\"Restreamer 서비스\",\"LCGjV4\":\"스트림 데이터 검색중...\",\"6gRgw8\":\"재시도\",\"Qe1vaN\":\"RGB 테스트 패턴\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"회전\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"송출을 위한 RTMP 앱입니다.\",\"7ggERB\":\"RTMP 출력\",\"V82lE+\":\"RTMP 포트\",\"itARjB\":\"RTMP 서버\",\"WWZqzz\":\"RTMP서버가 활성화되지 않음\",\"HhOPCL\":\"RTMP 수신을 위한 서버 주소입니다.\",\"DbHOhO\":\"송출과 재생을 위한 RTMP 토큰입니다. URL 쿼리 파라미터 중 'token'에 해당합니다.\",\"OAZeFE\":\"RTMPS 포트\",\"Wt/wFL\":\"RTMPS 서버\",\"xwonDv\":\"RTMPS 수신을 위한 서버 주소\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"룰\",\"HneYgw\":\"샘플링\",\"tfDRzk\":\"저장\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"축척\",\"6aaceW\":\"비율 크기\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"파일을 캐시로 유지할 시간(초)입니다.\",\"geM4Wc\":\"프로세스를 재시작하기 위해 기다릴 시간(초)입니다.\",\"iF7dnC\":\"잘못된 프로세스를 종료하기 까지 기다릴 시간(초)입니다.\",\"mydmGn\":\"영상 원본의 스냅샷/썸네일이 갱신되기 까지의 시간(초)입니다.\",\"a3LDKx\":\"보안\",\"Gkr6zI\":\"보안 토큰\",\"/Ocrtf\":\"탐색줄 색상\",\"4lDlYf\":\"조각 길이 (초)\",\"XfNrg+\":\"세그먼트는 길이로 조각납니다. 2를 권장합니다.\",\"jHCoDy\":\"조각화\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"장치 선택:\",\"O+ruJ3\":\"소리 원본 선택:\",\"6MTTpq\":\"가능하다면, RTMP나 SRT를 선택하여 지연시간을 낮출 수 있습니다.\",\"E7haRr\":\"원본 선택...\",\"PlZ1aw\":\"비디오 원본 선택:\",\"YYlcWm\":\"스트림을 <0>네트워크 소스(네트워크 카메라 등) 혹은 <1>내부 RTMP 서버(Restreamer로 전달된 OBS 스트림 등)에서 받아올지 선택합니다.\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"인코딩 설정 선택:\",\"aT3o8A\":\"필터 설정을 고르세요(선택사항)\",\"ylXj1N\":\"선택됨\",\"kYpw4+\":\"선택된 채널\",\"p7/fS2\":\"선택\",\"SOePwi\":\"익명으로 통계 전송 (개발에 도움이 됩니다)\",\"kOhBl+\":\"주소로 스트림 보내기 ...\",\"E1X5xY\":\"스트림을 전달할 주소:\",\"d/IMf3\":\"영상을 프레임버퍼로 전송\",\"sGH11W\":\"서버\",\"9rG25a\":\"서버 URL\",\"T3bXxK\":\"서비스\",\"KPPdUO\":\"서비스 이름\",\"DOrSw/\":\"확인을 위한 서비스 토큰입니다.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"세션\",\"xwK3ty\":\"키=값 매개변수의 :로 구분된 목록을 사용하여 rav1e 구성을 설정합니다.\",\"FIIk8R\":\"송출할 HLS 데이터의 전송 대역폭을 초당 메가비트로 설정합니다. RTMP를 포함한 모든 송출 프로세스가 합산됩니다. 대역폭이 가득 차면 HLS 시청자에게 HTTP 오류 509를 반환합니다(대역폭 제한 초과). 제한을 두지 않으려면 0을 입력하세요.\",\"cOG/FK\":\"HLS 세션당 시청자를 제한합니다. 한계에 달하면 HTTP 오류 509를 반환합니다(대역폭 제한 초과). 제한을 두지 않으려면 0을 입력하세요.\",\"mcJFKm\":\"서비스 접속 설정입니다.\",\"Tz0i8g\":\"설정\",\"IiOZ6R\":\"설정 (전문가 모드)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"/data 경로에 대한 설정입니다. 이 접근은 다음으로 보호됩니다:\",\"Ytdvyh\":\"/memfs 경로에 대한 설정입니다.\",\"1w3lYe\":\"설정을 저장했습니다. 변경 사항은 애플리케이션을 다시 시작할 때 반영됩니다.\",\"XUw3i9\":\"고유 버튼\",\"oD0Oes\":\"프로젝트에 대한 참조를 보여줍니다.\",\"+vv4q2\":\"가입 (무료)\",\"JXVFAm\":\"무음\",\"VSK9FJ\":\"무음 소리\",\"L8Jb2l\":\"사인파\",\"MxZN16\":\"사이트 이름\",\"Cj2Gtd\":\"크기\",\"yTZe+y\":\"스냅샷\",\"pSUgnY\":\"소셜 로그인 (OAuth2, 2FA)\",\"qe9jaI\":\"소켓 타임아웃 (마이크로초)\",\"bRN5nm\":\"소프트웨어\",\"wdxz7K\":\"원본\",\"sywlQb\":\"원본과 인코딩\",\"l9wI00\":\"속도\",\"vdhBFK\":\"속도 프리셋\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT 출력\",\"YqnAto\":\"SRT 서버\",\"k6hpqB\":\"SRT 서버가 활성화되지 않았습니다.\",\"SzqwHY\":\"SRT 수신을 위한 서버 주소\",\"KwbjpB\":\"SRT 송출과 재생을 위한 토큰입니다. streamid 파라메터의 'token' 값입니다.\",\"Aj28wT\":\"시간 경과 (초)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"통계\",\"BrrIs8\":\"저장공간\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"시청자 통계를 디스크에 저장합니다.\",\"hou0tP\":\"스트림\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"스트림 키\",\"bqiH5R\":\"스트림 키\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"스트림 이름\",\"eXELiS\":\"스트림 이름\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"송출 서비스로 전달 (시험기능)\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"스트림 URL\",\"+fVH0Y\":\"datarhei Restreamer 지지\",\"5HSoct\":\"HTTP(HPS, DASH), RTP, RTSP, RTMP, SRT 등을 지원합니다.\",\"D+NlUC\":\"시스템\",\"jkuW2z\":\"목표 주소\",\"/K2CvV\":\"템플릿\",\"2Ivkf/\":\"송출 웹사이트를 만들기 위한 템플릿입니다. 삭제 버튼을 누르면 선택된 템플릿을 삭제합니다.\",\"4Y5H+g\":\"이용조건\",\"tRNH6x\":\"테스트 패턴\",\"EtlVOt\":\"테스트 패턴 (확장)\",\"wGPolR\":\"글씨 색상\",\"m0TUJj\":\"생성된 소리 스트림의 음량(0.0 - 1.0)\",\"8C6xwe\":\"애플리케이션이 구버전의 설정을 사용중입니다.\",\"VPQVR2\":\"현재 FFmpeg 바이너리는 필요한 프로토콜을 지원하지 않습니다.\",\"Gx9PPK\":\"소리 스트림의 비트율입니다.\",\"T2kk3f\":\"반송주파수\",\"JAOLK8\":[\"\\\"\",[\"0\"],\"\\\" 채널을 삭제할 수 없음\"],\"jNaBhy\":[\"\\\"\",[\"0\"],\"\\\" 채널 삭제함\"],\"SD8pYJ\":\"채널 삭제는 되돌릴 수 없습니다. 이 채널에 연결된 모든 송출 서비스도 삭제됩니다.\",\"bnkV//\":\"프로파일 입력이 완료되지 않았습니다. 영상과 소리 원본을 정의해주세요.\",\"wCYjmB\":\"입력 프로필이 완료되지 않았습니다. 비디오 및/또는 오디오 소스를 정의해 주세요.\",\"JMaqWu\":\"소리 스트림의 레이아웃입니다.\",\"0dqo+p\":\"재색목록의 최대 세그먼트 수 입니다. 0은 모든 세그먼트를 포함합니다. 6을 권장합니다.\",\"BDgbiW\":\"잡음 종류\",\"SxGu7I\":\"저작물에 이 일반권리증서를 첨부한 자는 법이 정한 범위 내에서 저작인접권을 포함해 저작권법에 따라 전세계적으로 해당 저작물에 대해 자신이 갖는 일체의 권리를 포기함으로써 저작물을 퍼블릭 도메인으로 양도하였습니다. 저작권자의 허락을 구하지 않아도 이 저작물을 상업적인 목적을 포함 모든 목적으로 복사, 수정, 배포, 실연하실 수 있습니다.\",\"XISvrq\":\"현재 Restreamer에 접근할 수 있는 도메인 주소입니다. 여러 도메인은 쉼표로 구분해주세요.\",\"yt3d3G\":[\"송출 서비스 \\\"\",[\"0\"],\"\\\"은(는) 삭제할 수 없습니다.\"],\"zYcO/c\":[\"송출 서비스 \\\"\",[\"0\"],\"\\\"이(가) 생성되었습니다.\"],\"AQE+oz\":[\"송출 서비스 \\\"\",[\"0\"],\"\\\"을(를) 삭제함\"],\"qVLWvp\":\"송출 서비스가 생성됨\",\"njj2Wn\":\"RTMP 송출을 위해 RTMP 서버가 필요합니다.\",\"WRxiP8\":\"소리 스트림의 샘플률입니다.\",\"/pZjRr\":\"선택한 파일이 너무 큽니다(<0/>). <1/>만 허용됩니다.\",\"VBaSn9\":[\"선택한 파일 형식(\",[\"0\"],\")은 허용되지 않습니다. 허용되는 파일 형식은 \",[\"1\"],\"입니다.\"],\"fM410X\":[\"\\\"\",[\"0\"],\"\\\"에 대한 설정 저장함\"],\"02ii2e\":\"이 원본은 소리 스트림을 제공하지 않습니다.\",\"+2cAEU\":\"이 원본에는 소리가 포함되지 않았습니다. <0>확인 결과를 검토해주세요.\",\"pfqmY7\":\"이 원본은 호환되는 소리 스트림을 제공하지 않습니다.\",\"VO9KeK\":\"이 원본에는 지원되는 영상 스트림이 포함되지 않았습니다. <0>요구사항을 검토해주세요.\",\"007foU\":\"이 원본에는 영상이 포함되지 않았습니다. <0>확인 결과를 검토해주세요.\",\"lAsMdV\":\"이 원본에는 영상이 포함되지 않았습니다. 장치를 점검해주세요.\",\"XlnvcR\":\"SRT 송출을 위해 SRT 서버가 필요합니다.\",\"w6uuIE\":\"이 비디오 원본은 호환되는 소리 스트림을 제공하지 않습니다. <0>무음 소리를 추천합니다. YouTube, Facebook 등은 소리 채널을 필요로 합니다.\",\"YJJ2RL\":\"호환되는 영상 스트림입니다. 원하는 해상도를 선택해주세요:\",\"wEiZHy\":\"업데이트가 있습니다. 자세한 사항은 다음을 참고하세요.\",\"4p1MgS\":\"설정을 저장하는데 문제가 발생했습니다. 설정을 저장하지 못했습니다.\",\"YJhhwT\":[\"Restreamer Core에 접속하는데 오류가 발생했습니다. (\",[\"0\"],\")\"],\"q42VsF\":[\"업로드 하는데 오류가 발생했습니다: \",[\"0\"]],\"HM96PJ\":\"스트림을 설정하는데 오류가 발생했습니다.\",\"LoDP+Y\":\"설정에 오류가 있습니다. 설정을 저장하지 않습니다.\",\"l92ZKN\":\"로그인 할 수 있는 방법이 없습니다.\",\"cPKuc8\":\"이 서비스는 개념을 설명하는 모의 서비스입니다.\",\"Ku8nyu\":\"오류가 발생한 것은 아닙니다. 다만 Restreamer Core가 다시 시작하는데 시간이 좀 걸리겠습니다..\",\"vCRP3w\":\"이 서비스에 대한 저작권 정책을 언급하기 위함입니다.\",\"Hx7k3c\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함)이 가능합니다. 영리목적으로도 이용이 가능합니다.\",\"6OeMYB\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 비상업적인 용도로 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함)이 가능합니다.\",\"TUuhsB\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 비상업적인 용도로 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다.\",\"kVtKRl\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 비상업적인 용도로 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다. 생성된 리믹스, 변형, 2차적 저작물에는 원저작물과 동일한 라이선스를 적용해야 합니다.\",\"FpX5mp\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다. 영리목적으로도 이용이 가능합니다.\",\"SDvwLd\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다. 영리목적으로도 이용이 가능합니다. 생성된 리믹스, 변형, 2차적 저작물에는 원저작물과 동일한 라이선스를 적용해야 합니다.\",\"H144rX\":\"이 프로토콜은 확인할 수 없거나 현재 FFmpeg 바이너리에서 지원하지 않습니다.\",\"nlOxxw\":\"이 원본은 사용 중일 때엔 편집할 수 없습니다. 계속하려면 원본의 연결을 해제하세요.\",\"mbSyrG\":[\"현재 UI 버전에서는 해당 FFmpeg 바이너리(\",[\"0\"],\")를 지원하지 않습니다. \",[\"1\"],\"이(가) 필요합니다. 지원되는 FFmpeg 바이너리를 사용해주세요.\"],\"N/tTgz\":[\"현재 UI 버전에서는 연결된 Core(\",[\"0\"],\")를 지원하지 않습니다. \",[\"1\"],\"이(가) 필요합니다. 호환되는 UI 버전을 사용해주세요.\"],\"2Vq5tr\":\"현재 UI 버전은 호환됩니다.\",\"QxX9Z5\":\"임계값(초)\",\"sNmspt\":\"타일 기둥\",\"sYGp2E\":\"타일 행\",\"wbOpwP\":\"타일\",\"H59P7E\":\"활동 중이 아닌 시청자 연결을 끊기까지의 시간입니다.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"시스템을 안정화하기 위해, 키프레임 간격을 위한 HLS 조각의 길이를 2-3 늘립니다. * (프로세싱과 조절)\",\"TP9/K5\":\"토큰\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"상단 필드\",\"7mjsuh\":\"텔레그램 채널로 송출합니다.\",\"Gxlq7L\":\"기본 원본의 스냅샷을 HTTP/S 서버로 전송합니다. 더 자세한 설정법은 <0>이곳을 참고해주세요.\",\"SdyhUl\":\"기본 원본의 소리 채널을 Icecast Server로 전송합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"MayU3b\":\"기본 원본을 HTTP-Live-Streaming(HLS) 형식으로 HTTP/S Server로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"3K8kpL\":\"기본 원본을 MPEG-DASH 형식으로 HTTP/S Server로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"P/J230\":\"기본 원본을 Brightcove Live Service로 전송합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"u0MhFy\":\"주 원본을 CDN77 RTMP 서비스로 전송합니다. 자세한 구성방법은 <0>여기를 참고해주세요.\",\"zkgT7c\":\"주 원본을 DaCast RTMP 서비스로 전송합니다. 자세한 구성방법은 <0>여기를 참고해주세요.\",\"in9xJz\":\"영상을 datarhei Core Ressource로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"PcgwEU\":\"영상을 livespotting.com Ressource로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"D7jwpf\":\"주 원본을 MPEG-TS 서비스로 전송합니다. 자세한 설정법은 <0>여기를 참고해주세요.\",\"SpSgUV\":\"Red5/Pro Server로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"lIpqI/\":\"주 원본을 RTMP(e|s|t|te|ts) 서버로 전송합니다. 자세한 설정법은 <0>여기를 참고해주세요.\",\"pqR6nq\":\"영상을 RTSP서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"Q4dSnZ\":\"영상을 SRT서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"fx9S4p\":\"영상을 UDP서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"GLXY2N\":\"영상을 WOWZA 서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"AsMKFi\":\"영상을 Akamai (MSL) 미디어 서비스 라이브로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"FB364G\":\"메인 소스를 Livepush RTMP 서비스로 전송합니다. 설정에 대한 자세한 내용은 <0>여기에서 확인할 수 있습니다.\",\"CC9yS5\":\"메인 소스를 Nimo TV RTMP 서비스로 전송합니다. 설정에 대한 자세한 내용은 <0>여기에서 확인할 수 있습니다.\",\"fP8ZYg\":\"메인 소스를 Picarto TV RTMP 서비스로 전송합니다. 설정에 대한 자세한 내용은 <0>여기에서 확인할 수 있습니다.\",\"D9A0LK\":\"영상을 Restream RTMP 서비스로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"YL800g\":\"Azure 미디어 서비스로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"Abgy4c\":\"LinkedIn으로 송출합니다. 자세한 사항은 <0>이곳을 참고해주세요.\",\"dhCZoS\":\"생방송을 데일리모션 RTMP 서비스로 전송합니다. <0>여기 에서 설정에 대한 자세한 내용을 확인할 수 있습니다.\",\"tQNclD\":\"생방송을 Kick.com RTMP 서비스로 전송합니다. <0>여기 에서 설정에 대한 자세한 내용을 확인할 수 있습니다.\",\"mQ0sjr\":\"Owncast 서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"AqYRa3\":\"내 생방송을 럼블 RTMP 서비스로 전송합니다. <0>여기 에서 설정에 대한 자세한 내용을 확인할 수 있습니다.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"영상을 Twitter Producer에서 생성한 키로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"ADKef2\":\"튠\",\"8jwViA\":\"UDP 전송\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"설정을 불러오지 못했습니다.\",\"MWrgON\":\"서비스의 고유 ID입니다.\",\"Ef7StM\":\"알 수 없음\",\"wiIpKZ\":\"알 수 없는 업로드 오류\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"미선택\",\"j9zg7e\":\"업데이트 내역 (변경점)\",\"ONWvwQ\":\"업로드\",\"OXItQT\":[\"오디오 파일(\",[\"0\"],\")을 업로드하여 반복합니다.\"],\"75yxb7\":[\"반복하려면 이미지 또는 비디오 파일(\",[\"0\"],\")을 업로드하세요.\"],\"iAkPTY\":\"파일 업로드 실패\",\"Jmy6pK\":\"로고 업로드 실패\",\"xl1xFp\":\"포스터 업로드에 실패했습니다.\",\"TjrbDj\":\"가동시간\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Restreamer Core에 Auto0을 적용합니다. <0>자세한 내용\",\"JX4TqK\":\"설정 마법사(<0/>)를 통해 쉽고 빠르게 구성하거나, 사용자 모드에서 직접 구성(<1/>)할 수 있습니다.\",\"YYTBz0\":\"저작권을 명기해 올바른 이미지 라이선스를 선택하세요. 자유롭게 제공하거나 철저히 제한할 수 있습니다. 다른 사람이 당신의 이미지로 무엇을 할 수 있는지 간략히 설명하세요.\",\"2UPEb1\":\"저작권을 명기해 올바른 이미지 라이선스를 선택하세요. 자유롭게 제공하거나 철저히 제한할 수 있습니다. 다른 사람이 당신의 이미지로 무엇을 할 수 있는지 간략히 설명하세요.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"사용자 등록\",\"7sNhEz\":\"사용자 이름\",\"Gv3pbp\":\"사용자 인증을 위한 이름입니다.\",\"RQSvXZ\":\"장치의 사용자 이름입니다.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M은 시범기능입니다.\",\"PvM7Yi\":\"가변 프레임율 (VFR)\",\"hpBTpL\":\"자주색\",\"uIAsxu\":\"위/아래 뒤집기\",\"vSJd18\":\"영상\",\"auaWhL\":\"영상 장치\",\"/skRGV\":\"영상 설정\",\"EzOjvB\":\"영상 구성\",\"QcQXbU\":\"영상 원본\",\"M/TIv1\":\"뷰어\",\"L2hKw+\":\"보라색\",\"hA6FFn\":\"가상 입력\",\"/cF7Rs\":\"소리 크기\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"OpenMAX IL은 32비트 운영체제를 탑재한 Raspberry Pi(3/4)에 권장합니다.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"빠르고 쉽게 영상을 송출하는 해결책인 Restreamer v2에 오신 것을 환영합니다. 개인이나 상업적인 용도로 자유롭게 사용할 수 있습니다. 자세한 도움말은 <0>문서를 참고해주세요.\",\"hJfWkA\":\"사용할 속도 사전 설정.\",\"6Pz2IF\":\"HLS 재생목록과 조각을 저장하는 곳입니다. 메모리에 저장할 것을 권장합니다.\",\"aWHAbR\":\"하얀색\",\"aFWU1n\":\"폭\",\"e0wV2Y\":\"쓰기 보호\",\"l75CjT\":\"네\",\"WPUsOF\":\"설정 마법사를 취소할 수 없습니다. 적어도 하나의 입력을 설정해야 합니다.\",\"qwY9F9\":\"변경된 구성이 반영되려면 애플리케이션을 다시 시작해야 합니다. 지금 하시겠습니까?\",\"nxq2ni\":\"수동으로 재연결해야 합니다\",\"RM3CEc\":\"변경사항이 저장되지 않았습니다. 진행하기 전에 저장해주세요.\",\"/cg7qS\":\"스트림을 인코딩해야 하나, 적절한 인코더가 없습니다.\",\"BwrOm6\":\"이 스트림은 인코딩해야 합니다. 원하는 인코더를 선택해주세요:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV 테스트 패턴\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>호환 목록\",\"TkRUk0\":\"<0>확인 결과 보기\",\"tBy4Bb\":\"1. 대상 Restreamer의 인터페이스를 엽니다.\",\"2JnpXL\":\"2. RTMP나 SRT 형식으로 새로운 채널을 만듭니다.\",\"YidyJl\":\"3. URL을 복사해 \\\"대상 주소\\\" 필드에 붙여넣습니다.\",\"X1MZZp\":\"6 (+ 키프레임 재생 보장)\",\"JVJkxU\":\"7 (+ 조각난 MP4 형식)\",\"ssjjFt\":\"취소\",\"uyJsf6\":\"정보\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"추가\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"송출 사이트에 외부 위젯과 스타일을 추가합니다. 도움말에서 예시를 찾을 수 있습니다.\",\"tsJWSj\":\"새로운 채널 추가\",\"PLTLdv\":\"송출 대상 추가하기\",\"35l+l6\":[\"추가: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"주소\",\"8M7jVn\":\"배경 이미지의 주소입니다.\",\"Vu9yiv\":\"HTTP 요청을 수신할 주소입니다.\",\"AQDW5r\":\"HTTPS 요청을 수신할 주소입니다.\",\"tPrmjP\":\"주소:\",\"owt8Ow\":\"송출 사이트의 색상과 배경을 원하는대로 설정합니다.\",\"uNXGDK\":\"심화 모니터링\",\"VNgKZz\":\"심화 설정\",\"eiGNYb\":\"심화 구성\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"이메일로 알림\",\"N40H+G\":\"모두\",\"Hw5q+W\":\"모든 프레임\",\"f2zxGk\":\"모든 중요한 시스템 설정입니다.\",\"lle3bd\":\"모든 접속 허용\",\"bgFbIB\":\"스트림의 시청자 수를 셉니다.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"음량\",\"ngteek\":\"환경 변수로 이 값을 설정합니다.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API 엔드포인트를 찾을 수 없습니다. 설정이 저장되지 않습니다.\",\"LMUw1U\":\"앱\",\"IrC12v\":\"애플리케이션\",\"xnCC/2\":\"정말 설정 마법사를 취소하시겠습니까?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"소리\",\"n3RW8K\":\"소리 장치\",\"sYyYfE\":\"소리 장치\",\"2he4Ra\":\"장치의 소리\",\"MvY15a\":\"소리 설정\",\"NoLJ6g\":\"소리 구성\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"이 인터페이스의 출처가 안전하지 않아 Auth0를 사용할 수 없습니다.\",\"aKsflb\":\"Auth0 테넌트\",\"VbeIOx\":\"저작자\",\"NJgJy9\":\"사용자 인증\",\"R9Khdg\":\"자동\",\"6yEk/V\":\"모든 미디어 데이터를 자동으로 청소합니다.\",\"jT50Rz\":\"자동재생\",\"csDS2L\":\"가능\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"뒤로\",\"1KfyNL\":\"배경 색상\",\"23c2Uw\":\"배경 이미지\",\"r0bEmM\":\"백업 서버\",\"JFjQhH\":\"백업 스트림\",\"bkJ+QE\":\"백업 URL\",\"OlXThP\":\"대역폭\",\"QYaaBO\":\"대역폭 설정\",\"KSSL9f\":\"요약 보고\",\"0wJVK+\":\"기본\",\"YR04fn\":\"비프 인수\",\"5bhON1\":\"비트율\",\"Os3B4i\":\"불허할 캐시 유형\",\"zOC7cT\":\"파란색\",\"359XuU\":\"하단 필드\",\"aC3kWW\":\"이 영상이 어떤 것인지 시청자에게 간략히 설명해주세요.\",\"SehDNd\":\"갈색\",\"Ptp9MF\":\"버튼 색상\",\"Lp4WkO\":\"높이 맞춤\",\"IeV/4P\":\"폭 맞춤\",\"KxP5AO\":\"/data 위치에 있는 파일을 위한 캐시입니다.\",\"qX8ffo\":\"캐시 시간 (초)\",\"4dRAku\":\"캐시 유형\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"버퍼 캡쳐\",\"aL2+1d\":\"클릭 캡쳐\",\"EOfLfP\":\"커서 캡쳐\",\"ieS3Wc\":[\"\\\"\",[\"0\"],\"\\\" 채널을 저장했습니다.\"],\"lfFsZ4\":\"채널\",\"WMCwmR\":\"업데이트 확인\",\"vM6kpc\":\"요구사항 확인\",\"Wzgqhl\":\"영상 스트림 선택\",\"JpTR0/\":\"소리 스트림 선택\",\"BTNyrQ\":\"입력 장치 선택...\",\"f9QIui\":\"입력 스트림 선택 ...\",\"/Y6zrN\":\"CFR과 VFR(자동) 중 선택\",\"gObOjh\":\"코덱 선택...\",\"v7lrmU\":\"테넌트 선택 ...\",\"Bntlv+\":\"크롬캐스트\",\"+/29Pz\":\"조각\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"닫기\",\"r8NEPc\":\"코드 삽입\",\"BaUuhR\":\"코덱\",\"jZlrte\":\"색상\",\"sjVfrA\":\"명령\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"설정\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"비밀번호 확인\",\"iSLIjg\":\"연결\",\"NL3Gev\":\"연결된 장치\",\"ywAvGr\":\"<0/> 부터 연결됨\",\"lNg25t\":\"연결 중...\",\"y6+BXa\":\"Restreamer Core에 연결 중 ...\",\"Td5lm6\":\"복합적인 문제로 Restreamer Core에 연결하지 못했습니다.\",\"awE5Py\":\"고정 프레임율 (CFR)\",\"DT0Af/\":\"상수 퀀타이저 모드(-1~255).\",\"4b3oEV\":\"내용\",\"U34RbB\":\"내용 URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"코어\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU 제한(퍼센트)\",\"uW5tVo\":\"CPU 사용량 제한(%)(0-100%), 무제한은 0입니다.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"크리에이티브 커먼즈\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"직접설정 ...\",\"kH80Lk\":\"소리 장치 직접 설정\",\"fW1XQD\":\"소리 목록 직접 설정\",\"bzREp0\":\"비트율 직접 설정 (kbit/s)\",\"w9oKek\":\"코드 직접 삽입\",\"jYaP01\":\"딜레이 직접 입력\",\"2Gw+zZ\":\"장치 직접 입력\",\"WCXGNp\":\"양식 직접 입력\",\"ZkpZ06\":\"프레임률 직접 입력\",\"1OXCgh\":\"datarhei Core의 JSON Config를 직접 설정합니다.\",\"kl56NX\":\"키프레임 간격 직접 입력\",\"prIqWa\":\"레이아웃 직접 입력\",\"HSB43e\":\"샘플률 직접 입력 (Hz)\",\"Efe3BI\":\"비율 직접 입력\",\"E/2KdS\":\"크기 직접 입력\",\"Se794B\":\"영상 장치 직접 입력\",\"aqv915\":\"영상 목록 직접 입력\",\"v8OlX8\":\"데이터를 클립보드로 복사함\",\"J/VBax\":\"비활성화 색상\",\"d2TTfK\":\"데시벨(dB)\",\"W034oz\":\"디코더\",\"ovBPCi\":\"기본\",\"gFwPaj\":[\"기본 \",[\"0\"]],\"JQnkrI\":[\"기본 \",[\"0\"],\"(\",[\"1\"],\"초)\"],\"A7rne1\":\"디인터레이스 (bwdif)\",\"yLth2B\":\"디인터레이스 대상(deint)\",\"g3JmiG\":\"디인터레이스 모드\",\"aro6lN\":\"디인터레이스 기준(parity)\",\"YeWQto\":\"딜레이\",\"qBC9g9\":\"딜레이 (ms)\",\"cnGeoo\":\"삭제\",\"ScK3zL\":\"송출 서비스의 삭제는 되돌릴 수 없습니다. 해당 송출은 즉시 멈춥니다.\",\"cEx3oI\":\"전송 방식\",\"Nu4oKW\":\"설명\",\"f8fH8W\":\"디자인\",\"PEHQTf\":\"장치\",\"+K0AvT\":\"연결 해제\",\"miKA/E\":\"연결 끊고 계속\",\"5/pMTZ\":\"연결 끊는 중...\",\"sPFHpI\":\"디스크\",\"qczNPP\":\"저장소 캐시\",\"PUqOjv\":\"저장소 사용량\",\"uTwT/l\":\"바로 애플리케이션을 다시 시작할까요?\",\"FgxcNT\":[\"\\\"\",[\"0\"],\"\\\"을(를) 삭제하시겠습니까?\"],\"NogZqg\":[[\"title\"],\"을(를) 삭제할까요?\"],\"0p+Mpn\":[\"\\\"\",[\"0\"],\"\\\"의 연결을 끊겠습니까?\"],\"TbjyhA\":\"문서\",\"TvY/XA\":\"문서\",\"jPtEhI\":\"복제된 프레임\",\"diaSRH\":\"각 필드\",\"u2SnNO\":\"각 프레임\",\"ePK91l\":\"수정\",\"INCFjw\":\"실시간 송출을 위한 영상과 소리 원본을 설정하세요. 설명을 더하고, 원하는 저작권 정책을 책정할 수 있습니다.\",\"+7Wr2a\":[\"수정: \",[\"title\"]],\"e3GLqI\":\"편집: 재생기\",\"dTPDyf\":\"편집: 송출 웹사이트\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"이메일\",\"KKBlUU\":\"포함\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"활성화\",\"No9svk\":\"이 값에 반송 주파수를 곱한 값으로 매초 삐 소리 활성화\",\"R7s0Th\":\"백업 스트림 활성화\",\"xA5zBY\":\"무지 상세한 통계 활성화\",\"r0zP4o\":\"바로 활성화\",\"JwR989\":\"기본 스트림 활성화\",\"blkDNw\":\"RTMP 서버 활성화...\",\"FgEhO4\":\"RTMPS 전송 활성화\",\"uGvvxq\":\"스냅샷 활성화\",\"IuL64N\":\"SRT 서버 활성화...\",\"NJsnxf\":\"사용자 인증을 사용할 것을 강력히 권장합니다. 그러지 않으면 누구나 접속이 가능해집니다.\",\"xwS6bX\":\"기본 보안을 활성화할 것을 강력히 권장합니다. 그러지 않으면 누구나 /memfs 에 데이터를 쓸 수 있게 됩니다.\",\"0zaXWu\":\"인코더\",\"o0XA5y\":\"인코딩\",\"q1srUM\":\"암호화\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"새로운 채널의 이름을 입력하세요.\",\"f7sXvi\":\"비밀번호 입력\",\"5QCNrf\":\"네트워크상에 있는 원본의 주소를 입력하세요:\",\"WLnvCZ\":\"사용자 이름을 입력하세요\",\"ijwVVM\":\"엔트로피 부호화\",\"SlfejT\":\"오류\",\"sHoMKO\":\"데이터를 클립보드로 복사하는 중 오류 발생\",\"TpqeIh\":[\"오류: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"채널 목록 윗 공간을 넓힙니다(실시간 채팅).\",\"IBJg8n\":\"채널 설명 아랫 공간을 넓힙니다(댓글상자).\",\"XeunlQ\":\"전문가 모드\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"채널 목록 확장\",\"tG09kC\":\"내용 확장\",\"bPWJOj\":\"하단 확장\",\"SeaRa5\":\"헤더 확장\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"송출 서비스 생성 실패 (\",[\"0\"],\")\"],\"yT6MEY\":\"송출 웹사이트 파일을 만드는데 실패했습니다.\",\"FGdPhH\":\"원본을 확인하지 못했습니다. <0>확인 결과를 검토해주세요.\",\"DvfYM2\":[\"토큰 갱신 실패: \",[\"0\"]],\"J0Jclh\":\"삽입 메타데이터 저장 실패\",\"RPXHsU\":\"프로세스 중지 실패\",\"AhS7uc\":\"재생기 크기 설정을 저장하는데 실패했습니다.\",\"PcJRf4\":[\"송출 서비스 저장 실패 (\",[\"0\"],\")\"],\"2X8Mh5\":[\"삽입 프로세스 갱신 실패 (\",[\"0\"],\")\"],\"t1E1OU\":[\"삽입 스냅샷 프로세스 갱신 실패 (\",[\"0\"],\")\"],\"bssUbs\":\"재생기 갱신 실패\",\"4SzVSX\":\"재생 사이트 갱신 실패\",\"H8gP5T\":\"원본 검증에 실패했습니다. 주소를 확인해주세요.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"파일 경로\",\"o7J4JM\":\"필터\",\"JmZ/+d\":\"완료\",\"k4A6IZ\":\"크기 고정\",\"Xgkhyj\":\"플래그\",\"+L0/av\":\"자바스크립트를 입력합니다.\",\"VBU6dD\":\"스타일시트를 입력합니다.\",\"XDTTEp\":\"입력 프레임률 고정\",\"Y5YNoi\":\"키 프레임 강제\",\"kI1qVD\":\"형식\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"프레임 드롭\",\"lPICcX\":\"프레임을 그대로 사용합니다 (Passthrogh)\",\"T8wPu0\":\"프레임버퍼\",\"Ou/g2q\":\"프레임률\",\"RFrfTY\":\"프레임 속도 변환(프레임 보간)\",\"xDfHbM\":\"프레임율 방식\",\"4xNpe4\":\"주파수 (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"일반\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"얻기\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google 애널리틱스 ID\",\"S/8Noo\":\"Google 애널리틱스 추적 도구 이름\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"하드웨어 장치\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"헤더\",\"+670Zw\":\"헤드라인\",\"PFFhCT\":\"높이\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS 출력\",\"oMxmoP\":\"HLS 서버\",\"5/G5c1\":\"HLS 통계를 메모리에 저장\",\"wXoUQx\":\"좌/우 뒤집기\",\"8iPCh6\":\"Restreamer 인터페이스 제공\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP와 HTTPS\",\"YmRLab\":\"HTTP 포트\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS 포트\",\"Ptrvx5\":\"사용자에게 표시할 서비스 이름을 입력해주세요.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"포트를 변경한 경우, 이미 Restreamer 코어를 재시작 하였더라도, 다른 포트에서 사용할 수 있습니다.\",\"OQONQS\":\"Let's Encrypt의 TLS 접속을 활성하려면 인증을 진행하기까지 시간이 소요됩니다. 네트워크의 80포트로 Restreamer Core에 접근할 수 있게 하세요. Restreamer Core의 콘솔 기록을 검토해주세요.\",\"yWR5EY\":\"아이프레임 코드\",\"7ZKroD\":\"기록하지 않을 IP 범위\",\"VyUuZb\":\"이미지 URL\",\"5n8FKh\":\"각인\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"재생기에 더하여, Restreamer는 현재 라이브 스트림을 쉽고 빠르게 확인할 수 있는 페이지를 제공합니다.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"메모리\",\"EwM+sw\":\"메모리 저장소\",\"xmsVuq\":\"호환되지 않음\",\"exUN1j\":\"상속\",\"CDdi1R\":\"삽입 1\",\"MJlrvd\":\"삽입 2\",\"MppU96\":\"삽입 3\",\"zBVRQb\":\"삽입 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"입력 스트림\",\"jnyWFc\":\"인스턴스 도메인\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"간격 (초)\",\"C4WaV1\":\"문제 알리기\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"키프레임 간격 (초)\",\"rdU729\":\"레이아웃\",\"Cpw3fU\":\"Let's Encrypt 인증\",\"LgUs17\":\"Let's Encrypt로 인증하려면 하나 이상의 공공 도메인 이름과 80포트의 TCP 접속이 가능해야 합니다.\",\"oCHfGC\":\"레벨\",\"eyLS1J\":\"시스템 프로토콜의 레벨입니다.\",\"iQmbPb\":\"라이선스\",\"mQImez\":\"활성화 색상\",\"6BDqha\":\"제한\",\"1pbzRr\":\"행 색상\",\"Ce6Hrg\":\"라인\",\"yzF66j\":\"링크\",\"NBxw5Y\":\"링크에 마우스를 올릴 때\",\"xCrpEt\":\"캐시하지 않을 파일 확장자(예: \\\".m3u8\\\")를 한 줄에 하나씩 입력하세요. 없으면 비워두세요.\",\"m2l8c3\":\"캐시할 파일 확장자 목록(예: \\\".html\\\")은 한 줄에 하나씩 입력해주세요. 모든 파일 유형을 캐시하려면 비워두세요.\",\"QYw6tl\":\"CIDR로 표기된, 통계를 기록하지 않을 IP 범위입니다(예: 127.0.0.1/32). 한 줄에 하나의 IP범위만 입력합니다. 모든 세션의 통계를 기록하려면 비워두세요.\",\"ELFO4F\":\"목록 크기 (세그먼트)\",\"D0Nwch\":\"dlive Live RTMP Service로 송출합니다.\",\"n2VKys\":\"Facebook Live RTMP 서비스로 송출\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Media Network RTMP Service로 송출합니다.\",\"w9zSAv\":\"PeerTube V3 RTMP/S Service로 송출합니다.\",\"SZ9Q++\":\"Trovo Live RTMP Service로 송출합니다.\",\"JJGagy\":\"Twitch 라이브 RTMP 서비스로 송출합니다.\",\"4TnPVp\":\"Vimeo 라이브 RTMP 서비스로 송출합니다.\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"기록 단계\",\"x7PDL5\":\"기록\",\"z0t9bb\":\"접속\",\"+fL+Rj\":[\"접속 실패: \",[\"0\"]],\"4cd7gw\":\"접속 실패: API 세부사항을 불러올 수 없습니다\",\"sNqu7k\":\"로그인/JWT 인증\",\"iG7KNr\":\"로고\",\"nOhz3x\":\"로그아웃\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"소리 크기 평균화\",\"QGvS9k\":\"낮은 지연시간 (버퍼)\",\"GaV7al\":\"주 채널\",\"Wsn0Uw\":\"기본 채널 없음\",\"tROIde\":\"기본 채널 저장됨\",\"nLVSux\":\"접속시 보여질 채널입니다(index.html).\",\"rd3Pv7\":\"기본 원본\",\"f4txA1\":\"유지/보수:\",\"3iTz2L\":\"채널을 RTMP 스트림으로 준비합니다. (시범기능)\",\"mMiku6\":\"채널을 SRT 스트림으로 준비합니다. (시범기능)\",\"6dZ9NS\":\"표시된 프레임\",\"iuA3xD\":\"마스터 플레이리스트 (브라우저/클라이언트 호환성 증대)\",\"WBpxnA\":\"최대 캐시 크기를 입력해주세요. 0은 제한을 두지 않습니다.\",\"NzaPGT\":\"/memfs에 할당된 RAM을 MB단위로 입력해주세요. 0은 제한을 두지 않습니다.\",\"aaso5s\":\"디스크에 할당할 공간을 메가바이트 단위로 입력합니다. 0은 제한을 두지 않습니다.\",\"4hp5D2\":\"최대 대역폭 (Mbits/s)\",\"L+uBOR\":\"최대 딜레이를 밀리초로 입력합니다.\",\"hkoCqq\":\"최대 파일 크기 (메가바이트)\",\"i96JfZ\":\"캐시에 저장할 최대 파일 크기입니다.\",\"Q9HspI\":\"최대 기록 역사\",\"bS9ZHz\":\"최대 기록 줄\",\"6sayfE\":\"최대 크기 (메가바이트)\",\"09BWQO\":\"시청 기록이 없는 시간 (초)\",\"hW0DV1\":\"최대 시청자\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"메모리\",\"KReOHe\":\"메모리 제한(메가바이트)\",\"fViWSz\":\"메모리 사용량 제한은 메가바이트 단위로, 무제한은 0입니다.\",\"emJ6M7\":\"메타 정보\",\"6GBt0m\":\"메타데이터\",\"SCcIsq\":[\"최소 \",[\"0\"],\", 기본 \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"몰드\",\"QA/rur\":\"저작권 안내 입력\",\"fyGu1l\":\"서비스 세부사항\",\"yBsv2n\":\"Twitter의 저작권 정책은 <0>여기에서 확인할 수 있습니다.\",\"ZpfAc9\":\"YouTube의 저작권 정책은 <0>여기에서 확인할 수 있습니다.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"캐시의 최대 파일 크기보다 커야 합니다.\",\"gC9RIS\":\"최대 캐시 크기보다 작아야 합니다.\",\"R7SsBE\":\"음소거\",\"K0rCAk\":\"채널 음소거.\",\"Jv/kid\":\"왼쪽 음소거\",\"FsCP6P\":\"오른쪽 음소거\",\"6YtxFj\":\"이름\",\"0ZkQqR\":\"템플릿의 이름입니다. 이미 존재할 경우 덮어씁니다.\",\"OR475H\":\"네트워크\",\"KZDcDr\":\"네트워크 원본\",\"hXzOVo\":\"다음\",\"JZrXI6\":\"다음: 소리\",\"kZFy+Q\":\"다음: 영상 구성\",\"1UzENP\":\"아니오\",\"p6Fxed\":\"소리 없음\",\"bIDO3H\":\"소리 스트림 없음\",\"nn9C5B\":\"입력 장치가 없습니다.\",\"dEwhMr\":\"송출중인 스트림이 감지되지 않았습니다. 송출 소프트웨어를 점검해주세요.\",\"1FJdZA\":\"소리 원본 선택되지 않음\",\"3TfuWb\":\"원본이 없습니다.\",\"fiXA/y\":\"적절한 인코더가 없습니다.\",\"acY4BT\":\"적절한 필터를 찾을 수 없습니다.\",\"/02FxK\":\"비디오 없음\",\"AVWnC9\":\"영상 스트림이 없음\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"잡음\",\"EdQY6l\":\"없음\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"비고\",\"/a9y2d\":\"유지할 로그 줄 수입니다.\",\"ZD0urA\":\"프로세스 당 유지할 기록의 개수입니다.\",\"Aia5w3\":\"제한을 초과할 수 있는 시간(초)입니다.\",\"1lZb7D\":\"인코딩할 타일 열의 개수입니다.\",\"InpHMl\":\"인코딩할 타일 수입니다.\",\"wnRD5D\":\"인코딩할 타일 행의 개수입니다.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"확인\",\"+Xj01r\":\"한 줄에 하나의 리퍼러만 입력합니다. 예) http://www.example.com\",\"1TNIig\":\"열기\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"출력 버퍼\",\"vjgq8y\":\"좌/우\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"암호문\",\"Y+p0Tt\":\"SRT 암호화를 위한 암호문\",\"fpQo1i\":\"암호문은 10에서 79자 사이여야 합니다.\",\"3GZXaB\":\"필요할때만 \\\"그대로 전달(복사)\\\" 옵션을 해제하세요. 인코딩을 하려면 더 많은 CPU/GPU 자원이 필요합니다.\",\"8ZsakT\":\"비밀번호\",\"b+AuuK\":\"사용자 인증을 위한 비밀번호입니다.\",\"oREnCY\":\"장치의 비밀번호입니다.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"시청자 통계 유지\",\"ANX1b0\":\"분홍색\",\"c8aBfM\":\"픽셀 유형\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"플랜: <0>스타터\",\"Ejic1p\":\"플랫폼\",\"gtQk6c\":\"재생\",\"vRayGs\":\"재생기\",\"tWB9Gz\":\"플레이어 설정 저장됨\",\"GIxxiU\":\"재생기 URL\",\"PUmLMn\":\"재생사이트\",\"LKPR6G\":\"재생목록\",\"luDqS5\":\"M3U8 버전입니다. 버전 3이 가장 좋은 브라우저와 클라이언트 사이의 호환성을 보장합니다.\",\"84gH7g\":\"<0>프로세스 기록을 검토해주세요.\",\"OMpKNS\":\"서비스 운영자에게 문의하시기 바랍니다.\",\"4lATxE\":\"Let's Encrypt CA의 이용약관에 동의하고 문제 발생시 알림을 받으려면 이메일 주소를 입력해주세요.\",\"bdMiXb\":\"운영자에게 무슨 일이 일어났는지 문의하세요.\",\"wPZBpR\":\"업로드할 파일을 선택해주세요.\",\"YcGRmx\":\"가능한 한 \\\"그대로 전달(복사)\\\" 옵션을 사용하세요. 인코딩을 하려면 더 많은 CPU/GPU 자원이 필요합니다.\",\"06qnxB\":\"스트림 데이터를 확인하고 있습니다. 잠시만 기다려주세요...\",\"FTIPkL\":\"스트림을 설정합니다. 잠시만 기다려주세요...\",\"hZ6znB\":\"포트\",\"p/78dY\":\"위치\",\"d62Stt\":\"포스터\",\"PNap/Y\":\"포스터 이미지 URL\",\"6o2Onc\":\"사전설정\",\"lxxyq5\":\"기본 스트림\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"확인하기\",\"1B9XX0\":\"프로세스\",\"DL/nrw\":\"프로세스 조절\",\"fzYV2N\":\"프로세스 상세\",\"zNVLia\":\"프로세스 보고서\",\"PwMwvX\":\"프로세싱과 조절\",\"vERlcd\":\"프로파일\",\"6+OdGi\":\"프로토콜\",\"hEksWI\":\"프로토콜\",\"aLZh9m\":\"퍼블릭 도메인\",\"7lbVwY\":\"송출 서비스를 찾을 수 없음\",\"ia1vIb\":\"송출 웹사이트 설정 저장\",\"XHw75Y\":\"공개\",\"dsOSCf\":\"Pull 모드\",\"lQQ/zA\":\"데이터 수신:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"품질\",\"i9d+3B\":\"Raspberry Pi 카메라\",\"tbXj/A\":\"비율 조정\",\"iaocTt\":\"비율\",\"WnSPyE\":\"rav1e 매개변수\",\"6PpdQP\":\"원본 속도로 입력 읽어들이기\",\"bqsSkO\":\"수신 모드\",\"gcoiFh\":\"재연결\",\"lakzvL\":\"재연결 지연시간 (초)\",\"HC1Dci\":[[\"0\"],\"초 후 재연결\"],\"uSDaLA\":[[\"RETRIES\"],\" 동안 Restreamer Core 접속에 실패하였습니다.\"],\"N7ojfh\":\"Restreamer Core 접속에 실패했습니다.\",\"lCF0wC\":\"다시 보기\",\"uJ+Ve2\":\"지역\",\"CNipTv\":\"사용자 등록\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"다시 불러오기\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"/memfs가 가득 차면 오래된 것부터 지움\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"활성화 필요\",\"XMbkus\":\"로고 초기화\",\"36SXzE\":\"포스터 초기화\",\"6z9W13\":\"재시작\",\"dKwnjv\":\"다시 시작 필요\",\"0Er6+M\":\"다시 시작\",\"X1sT1j\":\"Restreamer Core를 다시 시작합니다 ...\",\"o5q6jb\":\"애플리케이션을 다시 시작하는데 실패했습니다.\",\"x8cAsq\":\"Restreamer 사용법\",\"24fLVm\":\"Restreamer 서비스\",\"LCGjV4\":\"스트림 데이터 검색중...\",\"6gRgw8\":\"재시도\",\"Qe1vaN\":\"RGB 테스트 패턴\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"회전\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"송출을 위한 RTMP 앱입니다.\",\"7ggERB\":\"RTMP 출력\",\"V82lE+\":\"RTMP 포트\",\"itARjB\":\"RTMP 서버\",\"WWZqzz\":\"RTMP서버가 활성화되지 않음\",\"HhOPCL\":\"RTMP 수신을 위한 서버 주소입니다.\",\"DbHOhO\":\"송출과 재생을 위한 RTMP 토큰입니다. URL 쿼리 파라미터 중 'token'에 해당합니다.\",\"OAZeFE\":\"RTMPS 포트\",\"Wt/wFL\":\"RTMPS 서버\",\"xwonDv\":\"RTMPS 수신을 위한 서버 주소\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"룰\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"샘플링\",\"tfDRzk\":\"저장\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"축척\",\"6aaceW\":\"비율 크기\",\"xbb037\":\"파일을 캐시로 유지할 시간(초)입니다.\",\"geM4Wc\":\"프로세스를 재시작하기 위해 기다릴 시간(초)입니다.\",\"iF7dnC\":\"잘못된 프로세스를 종료하기 까지 기다릴 시간(초)입니다.\",\"mydmGn\":\"영상 원본의 스냅샷/썸네일이 갱신되기 까지의 시간(초)입니다.\",\"a3LDKx\":\"보안\",\"Gkr6zI\":\"보안 토큰\",\"/Ocrtf\":\"탐색줄 색상\",\"4lDlYf\":\"조각 길이 (초)\",\"XfNrg+\":\"세그먼트는 길이로 조각납니다. 2를 권장합니다.\",\"jHCoDy\":\"조각화\",\"htbsw4\":\"장치 선택:\",\"O+ruJ3\":\"소리 원본 선택:\",\"6MTTpq\":\"가능하다면, RTMP나 SRT를 선택하여 지연시간을 낮출 수 있습니다.\",\"E7haRr\":\"원본 선택...\",\"PlZ1aw\":\"비디오 원본 선택:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"인코딩 설정 선택:\",\"aT3o8A\":\"필터 설정을 고르세요(선택사항)\",\"ylXj1N\":\"선택됨\",\"kYpw4+\":\"선택된 채널\",\"p7/fS2\":\"선택\",\"SOePwi\":\"익명으로 통계 전송 (개발에 도움이 됩니다)\",\"kOhBl+\":\"주소로 스트림 보내기 ...\",\"E1X5xY\":\"스트림을 전달할 주소:\",\"d/IMf3\":\"영상을 프레임버퍼로 전송\",\"sGH11W\":\"서버\",\"9rG25a\":\"서버 URL\",\"T3bXxK\":\"서비스\",\"KPPdUO\":\"서비스 이름\",\"DOrSw/\":\"확인을 위한 서비스 토큰입니다.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"세션\",\"xwK3ty\":\"키=값 매개변수의 :로 구분된 목록을 사용하여 rav1e 구성을 설정합니다.\",\"FIIk8R\":\"송출할 HLS 데이터의 전송 대역폭을 초당 메가비트로 설정합니다. RTMP를 포함한 모든 송출 프로세스가 합산됩니다. 대역폭이 가득 차면 HLS 시청자에게 HTTP 오류 509를 반환합니다(대역폭 제한 초과). 제한을 두지 않으려면 0을 입력하세요.\",\"cOG/FK\":\"HLS 세션당 시청자를 제한합니다. 한계에 달하면 HTTP 오류 509를 반환합니다(대역폭 제한 초과). 제한을 두지 않으려면 0을 입력하세요.\",\"mcJFKm\":\"서비스 접속 설정입니다.\",\"Tz0i8g\":\"설정\",\"IiOZ6R\":\"설정 (전문가 모드)\",\"t64OSP\":\"/data 경로에 대한 설정입니다. 이 접근은 다음으로 보호됩니다:\",\"Ytdvyh\":\"/memfs 경로에 대한 설정입니다.\",\"1w3lYe\":\"설정을 저장했습니다. 변경 사항은 애플리케이션을 다시 시작할 때 반영됩니다.\",\"XUw3i9\":\"고유 버튼\",\"oD0Oes\":\"프로젝트에 대한 참조를 보여줍니다.\",\"+vv4q2\":\"가입 (무료)\",\"JXVFAm\":\"무음\",\"VSK9FJ\":\"무음 소리\",\"L8Jb2l\":\"사인파\",\"MxZN16\":\"사이트 이름\",\"Cj2Gtd\":\"크기\",\"yTZe+y\":\"스냅샷\",\"pSUgnY\":\"소셜 로그인 (OAuth2, 2FA)\",\"qe9jaI\":\"소켓 타임아웃 (마이크로초)\",\"bRN5nm\":\"소프트웨어\",\"wdxz7K\":\"원본\",\"sywlQb\":\"원본과 인코딩\",\"l9wI00\":\"속도\",\"vdhBFK\":\"속도 프리셋\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT 출력\",\"YqnAto\":\"SRT 서버\",\"k6hpqB\":\"SRT 서버가 활성화되지 않았습니다.\",\"SzqwHY\":\"SRT 수신을 위한 서버 주소\",\"KwbjpB\":\"SRT 송출과 재생을 위한 토큰입니다. streamid 파라메터의 'token' 값입니다.\",\"Aj28wT\":\"시간 경과 (초)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"통계\",\"BrrIs8\":\"저장공간\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"시청자 통계를 디스크에 저장합니다.\",\"hou0tP\":\"스트림\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"스트림 키\",\"bqiH5R\":\"스트림 키\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"스트림 이름\",\"eXELiS\":\"스트림 이름\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"송출 서비스로 전달 (시험기능)\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"스트림 URL\",\"+fVH0Y\":\"datarhei Restreamer 지지\",\"5HSoct\":\"HTTP(HPS, DASH), RTP, RTSP, RTMP, SRT 등을 지원합니다.\",\"D+NlUC\":\"시스템\",\"jkuW2z\":\"목표 주소\",\"/K2CvV\":\"템플릿\",\"2Ivkf/\":\"송출 웹사이트를 만들기 위한 템플릿입니다. 삭제 버튼을 누르면 선택된 템플릿을 삭제합니다.\",\"4Y5H+g\":\"이용조건\",\"tRNH6x\":\"테스트 패턴\",\"EtlVOt\":\"테스트 패턴 (확장)\",\"wGPolR\":\"글씨 색상\",\"m0TUJj\":\"생성된 소리 스트림의 음량(0.0 - 1.0)\",\"8C6xwe\":\"애플리케이션이 구버전의 설정을 사용중입니다.\",\"VPQVR2\":\"현재 FFmpeg 바이너리는 필요한 프로토콜을 지원하지 않습니다.\",\"Gx9PPK\":\"소리 스트림의 비트율입니다.\",\"T2kk3f\":\"반송주파수\",\"JAOLK8\":[\"\\\"\",[\"0\"],\"\\\" 채널을 삭제할 수 없음\"],\"jNaBhy\":[\"\\\"\",[\"0\"],\"\\\" 채널 삭제함\"],\"SD8pYJ\":\"채널 삭제는 되돌릴 수 없습니다. 이 채널에 연결된 모든 송출 서비스도 삭제됩니다.\",\"bnkV//\":\"프로파일 입력이 완료되지 않았습니다. 영상과 소리 원본을 정의해주세요.\",\"wCYjmB\":\"입력 프로필이 완료되지 않았습니다. 비디오 및/또는 오디오 소스를 정의해 주세요.\",\"JMaqWu\":\"소리 스트림의 레이아웃입니다.\",\"0dqo+p\":\"재색목록의 최대 세그먼트 수 입니다. 0은 모든 세그먼트를 포함합니다. 6을 권장합니다.\",\"BDgbiW\":\"잡음 종류\",\"SxGu7I\":\"저작물에 이 일반권리증서를 첨부한 자는 법이 정한 범위 내에서 저작인접권을 포함해 저작권법에 따라 전세계적으로 해당 저작물에 대해 자신이 갖는 일체의 권리를 포기함으로써 저작물을 퍼블릭 도메인으로 양도하였습니다. 저작권자의 허락을 구하지 않아도 이 저작물을 상업적인 목적을 포함 모든 목적으로 복사, 수정, 배포, 실연하실 수 있습니다.\",\"XISvrq\":\"현재 Restreamer에 접근할 수 있는 도메인 주소입니다. 여러 도메인은 쉼표로 구분해주세요.\",\"yt3d3G\":[\"송출 서비스 \\\"\",[\"0\"],\"\\\"은(는) 삭제할 수 없습니다.\"],\"zYcO/c\":[\"송출 서비스 \\\"\",[\"0\"],\"\\\"이(가) 생성되었습니다.\"],\"AQE+oz\":[\"송출 서비스 \\\"\",[\"0\"],\"\\\"을(를) 삭제함\"],\"qVLWvp\":\"송출 서비스가 생성됨\",\"njj2Wn\":\"RTMP 송출을 위해 RTMP 서버가 필요합니다.\",\"WRxiP8\":\"소리 스트림의 샘플률입니다.\",\"/pZjRr\":\"선택한 파일이 너무 큽니다(<0/>). <1/>만 허용됩니다.\",\"VBaSn9\":[\"선택한 파일 형식(\",[\"0\"],\")은 허용되지 않습니다. 허용되는 파일 형식은 \",[\"1\"],\"입니다.\"],\"fM410X\":[\"\\\"\",[\"0\"],\"\\\"에 대한 설정 저장함\"],\"02ii2e\":\"이 원본은 소리 스트림을 제공하지 않습니다.\",\"+2cAEU\":\"이 원본에는 소리가 포함되지 않았습니다. <0>확인 결과를 검토해주세요.\",\"pfqmY7\":\"이 원본은 호환되는 소리 스트림을 제공하지 않습니다.\",\"VO9KeK\":\"이 원본에는 지원되는 영상 스트림이 포함되지 않았습니다. <0>요구사항을 검토해주세요.\",\"007foU\":\"이 원본에는 영상이 포함되지 않았습니다. <0>확인 결과를 검토해주세요.\",\"lAsMdV\":\"이 원본에는 영상이 포함되지 않았습니다. 장치를 점검해주세요.\",\"XlnvcR\":\"SRT 송출을 위해 SRT 서버가 필요합니다.\",\"w6uuIE\":\"이 비디오 원본은 호환되는 소리 스트림을 제공하지 않습니다. <0>무음 소리를 추천합니다. YouTube, Facebook 등은 소리 채널을 필요로 합니다.\",\"YJJ2RL\":\"호환되는 영상 스트림입니다. 원하는 해상도를 선택해주세요:\",\"wEiZHy\":\"업데이트가 있습니다. 자세한 사항은 다음을 참고하세요.\",\"4p1MgS\":\"설정을 저장하는데 문제가 발생했습니다. 설정을 저장하지 못했습니다.\",\"YJhhwT\":[\"Restreamer Core에 접속하는데 오류가 발생했습니다. (\",[\"0\"],\")\"],\"q42VsF\":[\"업로드 하는데 오류가 발생했습니다: \",[\"0\"]],\"HM96PJ\":\"스트림을 설정하는데 오류가 발생했습니다.\",\"LoDP+Y\":\"설정에 오류가 있습니다. 설정을 저장하지 않습니다.\",\"l92ZKN\":\"로그인 할 수 있는 방법이 없습니다.\",\"cPKuc8\":\"이 서비스는 개념을 설명하는 모의 서비스입니다.\",\"Ku8nyu\":\"오류가 발생한 것은 아닙니다. 다만 Restreamer Core가 다시 시작하는데 시간이 좀 걸리겠습니다..\",\"vCRP3w\":\"이 서비스에 대한 저작권 정책을 언급하기 위함입니다.\",\"Hx7k3c\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함)이 가능합니다. 영리목적으로도 이용이 가능합니다.\",\"6OeMYB\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 비상업적인 용도로 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함)이 가능합니다.\",\"TUuhsB\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 비상업적인 용도로 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다.\",\"kVtKRl\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 비상업적인 용도로 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다. 생성된 리믹스, 변형, 2차적 저작물에는 원저작물과 동일한 라이선스를 적용해야 합니다.\",\"FpX5mp\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다. 영리목적으로도 이용이 가능합니다.\",\"SDvwLd\":\"이 라이선스는 이용자가 저작자 및 출처만 표시한다면 복제, 배포, 전시, 공연 및 공중송신(포맷 변경도 포함), 리믹스, 변형, 2차적 저작물의 작성이 가능합니다. 영리목적으로도 이용이 가능합니다. 생성된 리믹스, 변형, 2차적 저작물에는 원저작물과 동일한 라이선스를 적용해야 합니다.\",\"H144rX\":\"이 프로토콜은 확인할 수 없거나 현재 FFmpeg 바이너리에서 지원하지 않습니다.\",\"nlOxxw\":\"이 원본은 사용 중일 때엔 편집할 수 없습니다. 계속하려면 원본의 연결을 해제하세요.\",\"mbSyrG\":[\"현재 UI 버전에서는 해당 FFmpeg 바이너리(\",[\"0\"],\")를 지원하지 않습니다. \",[\"1\"],\"이(가) 필요합니다. 지원되는 FFmpeg 바이너리를 사용해주세요.\"],\"N/tTgz\":[\"현재 UI 버전에서는 연결된 Core(\",[\"0\"],\")를 지원하지 않습니다. \",[\"1\"],\"이(가) 필요합니다. 호환되는 UI 버전을 사용해주세요.\"],\"2Vq5tr\":\"현재 UI 버전은 호환됩니다.\",\"QxX9Z5\":\"임계값(초)\",\"sNmspt\":\"타일 기둥\",\"sYGp2E\":\"타일 행\",\"wbOpwP\":\"타일\",\"H59P7E\":\"활동 중이 아닌 시청자 연결을 끊기까지의 시간입니다.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"시스템을 안정화하기 위해, 키프레임 간격을 위한 HLS 조각의 길이를 2-3 늘립니다. * (프로세싱과 조절)\",\"TP9/K5\":\"토큰\",\"q+c+Fv\":\"상단 필드\",\"7mjsuh\":\"텔레그램 채널로 송출합니다.\",\"Gxlq7L\":\"기본 원본의 스냅샷을 HTTP/S 서버로 전송합니다. 더 자세한 설정법은 <0>이곳을 참고해주세요.\",\"SdyhUl\":\"기본 원본의 소리 채널을 Icecast Server로 전송합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"MayU3b\":\"기본 원본을 HTTP-Live-Streaming(HLS) 형식으로 HTTP/S Server로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"3K8kpL\":\"기본 원본을 MPEG-DASH 형식으로 HTTP/S Server로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"P/J230\":\"기본 원본을 Brightcove Live Service로 전송합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"u0MhFy\":\"주 원본을 CDN77 RTMP 서비스로 전송합니다. 자세한 구성방법은 <0>여기를 참고해주세요.\",\"zkgT7c\":\"주 원본을 DaCast RTMP 서비스로 전송합니다. 자세한 구성방법은 <0>여기를 참고해주세요.\",\"in9xJz\":\"영상을 datarhei Core Ressource로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"PcgwEU\":\"영상을 livespotting.com Ressource로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"D7jwpf\":\"주 원본을 MPEG-TS 서비스로 전송합니다. 자세한 설정법은 <0>여기를 참고해주세요.\",\"SpSgUV\":\"Red5/Pro Server로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"lIpqI/\":\"주 원본을 RTMP(e|s|t|te|ts) 서버로 전송합니다. 자세한 설정법은 <0>여기를 참고해주세요.\",\"pqR6nq\":\"영상을 RTSP서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"Q4dSnZ\":\"영상을 SRT서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"fx9S4p\":\"영상을 UDP서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"GLXY2N\":\"영상을 WOWZA 서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"AsMKFi\":\"영상을 Akamai (MSL) 미디어 서비스 라이브로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"FB364G\":\"메인 소스를 Livepush RTMP 서비스로 전송합니다. 설정에 대한 자세한 내용은 <0>여기에서 확인할 수 있습니다.\",\"CC9yS5\":\"메인 소스를 Nimo TV RTMP 서비스로 전송합니다. 설정에 대한 자세한 내용은 <0>여기에서 확인할 수 있습니다.\",\"fP8ZYg\":\"메인 소스를 Picarto TV RTMP 서비스로 전송합니다. 설정에 대한 자세한 내용은 <0>여기에서 확인할 수 있습니다.\",\"D9A0LK\":\"영상을 Restream RTMP 서비스로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"YL800g\":\"Azure 미디어 서비스로 송출합니다. 자세한 내용은 <0>이곳을 참고해주세요.\",\"Abgy4c\":\"LinkedIn으로 송출합니다. 자세한 사항은 <0>이곳을 참고해주세요.\",\"dhCZoS\":\"생방송을 데일리모션 RTMP 서비스로 전송합니다. <0>여기 에서 설정에 대한 자세한 내용을 확인할 수 있습니다.\",\"tQNclD\":\"생방송을 Kick.com RTMP 서비스로 전송합니다. <0>여기 에서 설정에 대한 자세한 내용을 확인할 수 있습니다.\",\"mQ0sjr\":\"Owncast 서버로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"AqYRa3\":\"내 생방송을 럼블 RTMP 서비스로 전송합니다. <0>여기 에서 설정에 대한 자세한 내용을 확인할 수 있습니다.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"영상을 Twitter Producer에서 생성한 키로 송출합니다. 자세한 설정법은 <0>이곳을 참고해주세요.\",\"ADKef2\":\"튠\",\"8jwViA\":\"UDP 전송\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"설정을 불러오지 못했습니다.\",\"MWrgON\":\"서비스의 고유 ID입니다.\",\"Ef7StM\":\"알 수 없음\",\"wiIpKZ\":\"알 수 없는 업로드 오류\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"미선택\",\"j9zg7e\":\"업데이트 내역 (변경점)\",\"ONWvwQ\":\"업로드\",\"OXItQT\":[\"오디오 파일(\",[\"0\"],\")을 업로드하여 반복합니다.\"],\"75yxb7\":[\"반복하려면 이미지 또는 비디오 파일(\",[\"0\"],\")을 업로드하세요.\"],\"iAkPTY\":\"파일 업로드 실패\",\"Jmy6pK\":\"로고 업로드 실패\",\"xl1xFp\":\"포스터 업로드에 실패했습니다.\",\"TjrbDj\":\"가동시간\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Restreamer Core에 Auto0을 적용합니다. <0>자세한 내용\",\"JX4TqK\":\"설정 마법사(<0/>)를 통해 쉽고 빠르게 구성하거나, 사용자 모드에서 직접 구성(<1/>)할 수 있습니다.\",\"YYTBz0\":\"저작권을 명기해 올바른 이미지 라이선스를 선택하세요. 자유롭게 제공하거나 철저히 제한할 수 있습니다. 다른 사람이 당신의 이미지로 무엇을 할 수 있는지 간략히 설명하세요.\",\"2UPEb1\":\"저작권을 명기해 올바른 이미지 라이선스를 선택하세요. 자유롭게 제공하거나 철저히 제한할 수 있습니다. 다른 사람이 당신의 이미지로 무엇을 할 수 있는지 간략히 설명하세요.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"사용자 등록\",\"7sNhEz\":\"사용자 이름\",\"Gv3pbp\":\"사용자 인증을 위한 이름입니다.\",\"RQSvXZ\":\"장치의 사용자 이름입니다.\",\"zze3B5\":\"V4L2_M2M은 시범기능입니다.\",\"PvM7Yi\":\"가변 프레임율 (VFR)\",\"hpBTpL\":\"자주색\",\"uIAsxu\":\"위/아래 뒤집기\",\"vSJd18\":\"영상\",\"auaWhL\":\"영상 장치\",\"/skRGV\":\"영상 설정\",\"EzOjvB\":\"영상 구성\",\"QcQXbU\":\"영상 원본\",\"M/TIv1\":\"뷰어\",\"L2hKw+\":\"보라색\",\"hA6FFn\":\"가상 입력\",\"/cF7Rs\":\"소리 크기\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"OpenMAX IL은 32비트 운영체제를 탑재한 Raspberry Pi(3/4)에 권장합니다.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"빠르고 쉽게 영상을 송출하는 해결책인 Restreamer v2에 오신 것을 환영합니다. 개인이나 상업적인 용도로 자유롭게 사용할 수 있습니다. 자세한 도움말은 <0>문서를 참고해주세요.\",\"hJfWkA\":\"사용할 속도 사전 설정.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"HLS 재생목록과 조각을 저장하는 곳입니다. 메모리에 저장할 것을 권장합니다.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"하얀색\",\"aFWU1n\":\"폭\",\"e0wV2Y\":\"쓰기 보호\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"네\",\"WPUsOF\":\"설정 마법사를 취소할 수 없습니다. 적어도 하나의 입력을 설정해야 합니다.\",\"qwY9F9\":\"변경된 구성이 반영되려면 애플리케이션을 다시 시작해야 합니다. 지금 하시겠습니까?\",\"nxq2ni\":\"수동으로 재연결해야 합니다\",\"RM3CEc\":\"변경사항이 저장되지 않았습니다. 진행하기 전에 저장해주세요.\",\"/cg7qS\":\"스트림을 인코딩해야 하나, 적절한 인코더가 없습니다.\",\"BwrOm6\":\"이 스트림은 인코딩해야 합니다. 원하는 인코더를 선택해주세요:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV 테스트 패턴\"}")}; \ No newline at end of file diff --git a/src/locales/ko/messages.po b/src/locales/ko/messages.po index 2691b4b..22ea2ee 100644 --- a/src/locales/ko/messages.po +++ b/src/locales/ko/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>호환 목록" msgid "<0>Show probe details" msgstr "<0>확인 결과 보기" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. 대상 Restreamer의 인터페이스를 엽니다." @@ -76,11 +76,16 @@ msgstr "취소" msgid "About" msgstr "정보" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "소리" @@ -302,10 +311,6 @@ msgstr "저작자" msgid "Authorization" msgstr "사용자 인증" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "자동" @@ -322,10 +327,6 @@ msgstr "자동재생" msgid "Available" msgstr "가능" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "캐시 시간 (초)" msgid "Cache types" msgstr "캐시 유형" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "크롬캐스트" msgid "Chunk" msgstr "조각" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "색상" msgid "Command" msgstr "명령" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "설정" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "연결된 장치" msgid "Connected since <0/>" msgstr "<0/> 부터 연결됨" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "연결 중..." @@ -616,15 +618,19 @@ msgstr "상수 퀀타이저 모드(-1~255)." msgid "Content" msgstr "내용" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "내용 URL" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "CPU 제한(퍼센트)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "CPU 사용량 제한(%)(0-100%), 무제한은 0입니다." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "크리에이티브 커먼즈" @@ -672,10 +670,6 @@ msgstr "크리에이티브 커먼즈" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "디인터레이스 모드" msgid "Deinterlace parity" msgstr "디인터레이스 기준(parity)" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "딜레이" @@ -851,14 +841,6 @@ msgstr "송출 서비스의 삭제는 되돌릴 수 없습니다. 해당 송출 msgid "Delivering mode" msgstr "전송 방식" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "연결 해제" msgid "Disconnect & Continue" msgstr "연결 끊고 계속" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "편집: 재생기" msgid "EDIT: Publication Website" msgstr "편집: 송출 웹사이트" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "이메일" msgid "Embed" msgstr "포함" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "인코딩" msgid "Encryption" msgstr "암호화" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "새로운 채널의 이름을 입력하세요." @@ -1101,12 +1099,12 @@ msgstr "오류" msgid "Error while copying data to clipboard" msgstr "데이터를 클립보드로 복사하는 중 오류 발생" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "오류: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "파일 경로" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "필터" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "일반" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "얻기" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google 애널리틱스 ID" @@ -1353,24 +1351,21 @@ msgstr "Google 애널리틱스 ID" msgid "Google Analytics Tracker Name" msgstr "Google 애널리틱스 추적 도구 이름" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "하드웨어 장치" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "헤드라인" msgid "Height" msgstr "높이" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "HLS 통계를 메모리에 저장" msgid "Horizontal Flip" msgstr "좌/우 뒤집기" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Restreamer 인터페이스 제공" @@ -1438,8 +1429,8 @@ msgstr "HTTPS 포트" msgid "Human readable name on the service." msgstr "사용자에게 표시할 서비스 이름을 입력해주세요." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "호환되지 않음" msgid "Inherit" msgstr "상속" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "삽입 1" @@ -1527,6 +1514,14 @@ msgstr "삽입 3" msgid "Inject 4" msgstr "삽입 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "키프레임 간격 (초)" msgid "Layout" msgstr "레이아웃" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Let's Encrypt 인증" @@ -1668,6 +1659,10 @@ msgstr "Twitch 라이브 RTMP 서비스로 송출합니다." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Vimeo 라이브 RTMP 서비스로 송출합니다." +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "소리 크기 평균화" msgid "Low latency (Buffer)" msgstr "낮은 지연시간 (버퍼)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "주 채널" @@ -1848,6 +1843,10 @@ msgstr "메타데이터" msgid "Mininum {0}, default {1}" msgstr "최소 {0}, 기본 {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "몰드" @@ -1870,7 +1869,7 @@ msgstr "Twitter의 저작권 정책은 <0>여기에서 확인할 수 있습 msgid "More about YouTube's copyright <0>here." msgstr "YouTube의 저작권 정책은 <0>여기에서 확인할 수 있습니다." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "소리 없음" msgid "No audio stream available" msgstr "소리 스트림 없음" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "입력 장치가 없습니다." msgid "No live stream was detected. Please check the software that sends the stream." msgstr "송출중인 스트림이 감지되지 않았습니다. 송출 소프트웨어를 점검해주세요." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "소리 원본 선택되지 않음" @@ -1989,7 +1972,7 @@ msgstr "적절한 인코더가 없습니다." msgid "No suitable filter found." msgstr "적절한 필터를 찾을 수 없습니다." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "비디오 없음" @@ -1998,10 +1981,6 @@ msgstr "비디오 없음" msgid "No video stream available" msgstr "영상 스트림이 없음" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Node ID" @@ -2052,10 +2031,6 @@ msgstr "인코딩할 타일 수입니다." msgid "Number of tiles rows to encode with." msgstr "인코딩할 타일 행의 개수입니다." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "한 줄에 하나의 리퍼러만 입력합니다. 예) http://www.examp msgid "Open" msgstr "열기" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "출력 버퍼" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "좌/우" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "장치의 비밀번호입니다." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "재생목록" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "M3U8 버전입니다. 버전 3이 가장 좋은 브라우저와 클라이언트 사이의 호환성을 보장합니다." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "<0>프로세스 기록을 검토해주세요." @@ -2309,16 +2284,9 @@ msgstr "사전설정" msgid "Primary stream" msgstr "기본 스트림" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "프로세스" msgid "Process control" msgstr "프로세스 조절" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "프로세스 상세" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "프로토콜" msgid "Protocols" msgstr "프로토콜" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "퍼블릭 도메인" @@ -2437,6 +2401,10 @@ msgstr "Pull 모드" msgid "Pull or recieve the data:" msgstr "데이터 수신:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "재연결" msgid "Reconnect delay (seconds)" msgstr "재연결 지연시간 (초)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "지역" msgid "Register user" msgstr "사용자 등록" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "/memfs가 가득 차면 오래된 것부터 지움" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Restreamer 사용법" msgid "Restreamer Service" msgstr "Restreamer 서비스" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "스트림 데이터 검색중..." @@ -2618,15 +2578,15 @@ msgstr "재시도" msgid "RGB test pattern" msgstr "RGB 테스트 패턴" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "회전" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "룰" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "축척" msgid "Scale size" msgstr "비율 크기" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "파일을 캐시로 유지할 시간(초)입니다." @@ -2778,10 +2738,6 @@ msgstr "세그먼트는 길이로 조각납니다. 2를 권장합니다." msgid "Segmentation" msgstr "조각화" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "원본 선택..." msgid "Select video source:" msgstr "비디오 원본 선택:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "스트림을 <0>네트워크 소스(네트워크 카메라 등) 혹은 <1>내부 RTMP 서버(Restreamer로 전달된 OBS 스트림 등)에서 받아올지 선택합니다." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "서비스 이름" msgid "Service token for monitoring." msgstr "확인을 위한 서비스 토큰입니다." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "설정" msgid "Settings (expert mode)" msgstr "설정 (전문가 모드)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "/data 경로에 대한 설정입니다. 이 접근은 다음으로 보호됩니다:" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "크기" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "스냅샷" @@ -3005,7 +2957,7 @@ msgstr "속도" msgid "Speed Preset" msgstr "속도 프리셋" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "타일" msgid "Time until an inactive viewer connection is treated as closed." msgstr "활동 중이 아닌 시청자 연결을 끊기까지의 시간입니다." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "시스템을 안정화하기 위해, 키프레임 간격을 위한 HLS 조각의 길이를 2-3 늘립니다. * (프로세싱과 조절)" @@ -3477,18 +3413,6 @@ msgstr "시스템을 안정화하기 위해, 키프레임 간격을 위한 HLS msgid "Token" msgstr "토큰" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "상단 필드" @@ -3627,12 +3551,12 @@ msgstr "튠" msgid "UDP transport" msgstr "UDP 전송" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "알 수 없음" msgid "Unknown upload error" msgstr "알 수 없는 업로드 오류" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "포스터 업로드에 실패했습니다." msgid "Uptime" msgstr "가동시간" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "저작권을 명기해 올바른 이미지 라이선스를 선택하세 msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "사용자 등록" @@ -3773,10 +3693,6 @@ msgstr "사용자 인증을 위한 이름입니다." msgid "Username for the device." msgstr "장치의 사용자 이름입니다." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M은 시범기능입니다." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "OpenMAX IL은 32비트 운영체제를 탑재한 Raspberry Pi(3/4)에 권장합니다." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "빠르고 쉽게 영상을 송출하는 해결책인 Restreamer v2에 msgid "What speed preset to use." msgstr "사용할 속도 사전 설정." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "HLS 재생목록과 조각을 저장하는 곳입니다. 메모리에 저장할 것을 권장합니다." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "하얀색" @@ -3881,6 +3809,10 @@ msgstr "폭" msgid "Write protection" msgstr "쓰기 보호" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "네" @@ -3893,7 +3825,7 @@ msgstr "설정 마법사를 취소할 수 없습니다. 적어도 하나의 입 msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "변경된 구성이 반영되려면 애플리케이션을 다시 시작해야 합니다. 지금 하시겠습니까?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "수동으로 재연결해야 합니다" @@ -3910,14 +3842,6 @@ msgstr "스트림을 인코딩해야 하나, 적절한 인코더가 없습니다 msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "이 스트림은 인코딩해야 합니다. 원하는 인코더를 선택해주세요:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/pl/messages.js b/src/locales/pl/messages.js index 352fba6..ea6bcb6 100644 --- a/src/locales/pl/messages.js +++ b/src/locales/pl/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Lista kompatybilności\",\"TkRUk0\":\"<0>Pokaż szczegóły sondy\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Przejdź do interfejsu docelowego Restreamera.\",\"2JnpXL\":\"2. Utwórz nowy kanał i wybierz serwer RTMP lub SRT.\",\"YidyJl\":\"3. Skopiuj adres URL i wklej go w polu \\\"Adres docelowy\\\".\",\"X1MZZp\":\"6 (+ gwarantowany start z ramką Key)\",\"JVJkxU\":\"7 (+ fragmentaryczny format MP4)\",\"ssjjFt\":\"Anuluj\",\"uyJsf6\":\"O nas\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Dodaj\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Dodaj widżety i style zewnętrzne do witryny publikowania. Kilka przykładów znajdziesz na stronie pomocy.\",\"tsJWSj\":\"Dodaj nowy kanał\",\"PLTLdv\":\"Dodaj Publikację\",\"35l+l6\":[\"Dodaj : \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adres URL\",\"8M7jVn\":\"Adres obrazu tła.\",\"Vu9yiv\":\"Adres do nasłuchiwania żądań HTTP.\",\"AQDW5r\":\"Adres do nasłuchiwania żądań HTTPS.\",\"tPrmjP\":\"Adres:\",\"owt8Ow\":\"Dostosuj kolory i tło witryny publikowania zgodnie z potrzebami.\",\"uNXGDK\":\"Zaawansowane monitorowanie\",\"VNgKZz\":\"Zaawansowane ustawienia\",\"eiGNYb\":\"Ustawienia zaawansowane\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Powiadomienie e-mail\",\"N40H+G\":\"Wszystko\",\"Hw5q+W\":\"Wszystkie ramy\",\"f2zxGk\":\"Wszystkie ważne parametry systemu.\",\"lle3bd\":\"Zezwól wszystkim odsyłającym\",\"bgFbIB\":\"Pozwala policzyć liczbę widzów strumienia.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Rozległość dźwięku\",\"ngteek\":\"Zmienna środowiskowa ustawia tę wartość.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Nie znaleziono punktu końcowego interfejsu API. Ustawienia nie zostały zapisane.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplikacja\",\"xnCC/2\":\"Czy na pewno chcesz przerwać kreatorowi?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Dźwięk\",\"n3RW8K\":\"Urządzenie audio\",\"sYyYfE\":\"Urządzenie Dźwiękowe\",\"2he4Ra\":\"Dźwięk z urządzenia\",\"MvY15a\":\"Parametry dźwięku\",\"NoLJ6g\":\"Ustawienia dźwięku\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 jest obecnie niedostępne, ponieważ ten interfejs jest ładowany z niezabezpieczonego źródła.\",\"aKsflb\":\"Auth0 Najemca\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Uprawnienie\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Automatycznie\",\"6yEk/V\":\"Automatyczne czyszczenie wszystkich danych multimedialnych\",\"jT50Rz\":\"Automatyczne odtwarzanie (Autoplay)\",\"csDS2L\":\"Dostępne na\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Wstecz\",\"1KfyNL\":\"Kolory tła\",\"23c2Uw\":\"Obraz tła\",\"r0bEmM\":\"Serwer kopii zapasowej\",\"JFjQhH\":\"Zapasowy stream\",\"bkJ+QE\":\"Link do kopii zapasowej\",\"OlXThP\":\"Pasmo\",\"QYaaBO\":\"Kontrola przepustowości\",\"KSSL9f\":\"Baner\",\"0wJVK+\":\"Zasadniczy\",\"YR04fn\":\"Współczynnik sygnału dźwiękowego\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Typy pamięci podręcznej bloków\",\"zOC7cT\":\"niebieski\",\"359XuU\":\"Dolne pole\",\"aC3kWW\":\"Krótko opisz, co widzowie zobaczą podczas transmisji na żywo.\",\"SehDNd\":\"brązowy\",\"Ptp9MF\":\"Kolor przycisku\",\"Lp4WkO\":\"Według wysokości.\",\"IeV/4P\":\"Przez szerokość\",\"KxP5AO\":\"Buforowane pliki w /data.\",\"qX8ffo\":\"Czas buforowania (w sekundach)\",\"4dRAku\":\"Rodzaje buforu\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Bufor przechwytujący\",\"aL2+1d\":\"Przechwyt kliknięć\",\"EOfLfP\":\"Przechwyt kursoru\",\"ieS3Wc\":[\"Kanał \\\"\",[\"0\"],\"” został zapisany\"],\"lfFsZ4\":\"Kanały\",\"WMCwmR\":\"Sprawdź aktualizacje\",\"vM6kpc\":\"Sprawdź wymagania\",\"Wzgqhl\":\"Wybierz strumień wideo\",\"JpTR0/\":\"Wybierz strumień dźwiękowy\",\"BTNyrQ\":\"Wybierz urządzenie wejściowe ...\",\"f9QIui\":\"Wybierz strumień wejściowy ...\",\"/Y6zrN\":\"Wybór pomiędzy CFR i VFR (Auto)\",\"gObOjh\":\"Wybierz kodek ...\",\"v7lrmU\":\"Wybór najemcy...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Kawałek\",\"yz7wBu\":\"Zamknij\",\"r8NEPc\":\"Wstrzyknięcie kodu\",\"BaUuhR\":\"Kodek\",\"jZlrte\":\"Kolor\",\"sjVfrA\":\"Polecenie\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Config\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Potwierdź hasło\",\"iSLIjg\":\"Zaloguj się\",\"NL3Gev\":\"Urządzenie podłączone \",\"ywAvGr\":\"Zalogowany od \",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Zalogowany ...\",\"y6+BXa\":\"Łączenie z Restreamer Core ...\",\"Td5lm6\":\"Połączenie z Restreamer Core nie powiodło się, prawdopodobnie z powodu mieszanej zawartości.\",\"awE5Py\":\"Stała częstotliwość odświeżania (CFR)\",\"DT0Af/\":\"Tryb stałego kwantyzatora (od -1 do 255).\",\"4b3oEV\":\"Zawartość\",\"U34RbB\":\"URL treści\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Rdzenie\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Limit CPU (w procentach)\",\"uW5tVo\":\"Limit użycia procesora w procentach (0-100%), 0 dla nieograniczonego.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Dostosuj ...\",\"kH80Lk\":\"Własne urządzenie audio\",\"fW1XQD\":\"Własny indeks audio\",\"bzREp0\":\"Własna szybkość transmisji (kb/s)\",\"w9oKek\":\"Wstrzyknięcie własnego kodu\",\"jYaP01\":\"Własny limit czasu\",\"2Gw+zZ\":\"Własne urządzenie\",\"WCXGNp\":\"Własny format\",\"ZkpZ06\":\"Własna częstotliwość odświeżania\",\"1OXCgh\":\"Własna konfiguracja JSON dla Datarhei Core.\",\"kl56NX\":\"Własny interwał klatki kluczowej\",\"prIqWa\":\"Własny układ\",\"HSB43e\":\"Własne próbkowanie (Hz)\",\"Efe3BI\":\"Własna skala\",\"E/2KdS\":\"Własny rozmiar\",\"Se794B\":\"Własne urządzenie wideo\",\"aqv915\":\"Własny indeks wideo\",\"v8OlX8\":\"Dane skopiowane do schowka\",\"J/VBax\":\"Kolor śmierci\",\"d2TTfK\":\"Decybele (dB)\",\"W034oz\":\"Dekoder\",\"ovBPCi\":\"Domyślny\",\"gFwPaj\":[\"Domyślnie \",[\"0\"]],\"JQnkrI\":[\"Domyślnie \",[\"0\"],\" (\",[\"1\"],\" sekund)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Usuń przeplot\",\"g3JmiG\":\"Tryb Deinterlace\",\"aro6lN\":\"Deinterlace parity\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Limit czasu\",\"qBC9g9\":\"Opóźnienie (w ms)\",\"cnGeoo\":\"Usuń\",\"ScK3zL\":\"Usunięcia usługi publikowania nie można cofnąć. Publikowanie zatrzymuje się natychmiast.\",\"cEx3oI\":\"Sposób dostawy\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Opis\",\"f8fH8W\":\"Model\",\"PEHQTf\":\"Urządzenie\",\"+K0AvT\":\"Wyloguj\",\"miKA/E\":\"Odłącz i kontynuuj\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Wylogowywanie ...\",\"sPFHpI\":\"Dysk\",\"qczNPP\":\"Dysk z pamięci podręcznej\",\"PUqOjv\":\"Miejsce na dysku\",\"uTwT/l\":\"Czy na pewno chcesz teraz ponownie uruchomić aplikację?\",\"FgxcNT\":[\"Czy chcesz usunąć \\\"\",[\"0\"],\"”?\"],\"NogZqg\":[\"Czy chcesz usunąć \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Czy chcesz odłączyć \\\"\",[\"0\"],\"”?\"],\"TbjyhA\":\"Dokumentacja\",\"TvY/XA\":\"Dokumentacja\",\"jPtEhI\":\"Ramki podwaniające\",\"diaSRH\":\"Każde pole\",\"u2SnNO\":\"Każda ramka\",\"ePK91l\":\"Edytuj\",\"INCFjw\":\"Zmień źródła audio i wideo dla transmisji na żywo. Dodaj opis i ustaw licencję na żądaną zawartość.\",\"+7Wr2a\":[\"Edytuj: \",[\"title\"]],\"e3GLqI\":\"EDYTUJ: Odtwarzacz\",\"dTPDyf\":\"EDIT: Witryna publikacji\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Integruj\",\"PaQ3df\":\"Włącz\",\"No9svk\":\"Aktywuje okresowy sygnał dźwiękowy co sekundę z tą wartością pomnożoną przez częstotliwość nośną\",\"R7s0Th\":\"Aktywuj kopie streamu\",\"xA5zBY\":\"Włącz statystyki nerdów\",\"r0zP4o\":\"Włącz teraz\",\"JwR989\":\"Aktywuj podstawowy stream\",\"blkDNw\":\"Aktywuj serwer RTMP ...\",\"FgEhO4\":\"Włącz transfer RTMPS\",\"uGvvxq\":\"Włącz migawki\",\"IuL64N\":\"Włączenie serwera SRT ...\",\"NJsnxf\":\"Zdecydowanie zaleca się aktywację autoryzacji. W przeciwnym razie każdy może uzyskać dostęp do tej instancji.\",\"xwS6bX\":\"Zdecydowanie zaleca się włączenie uwierzytelniania podstawowego. W przeciwnym razie każdy mógłby zapisać dane do /memfs.\",\"0zaXWu\":\"Koder\",\"o0XA5y\":\"Kodowanie\",\"q1srUM\":\"Szyfrowanie\",\"qS2y97\":\"Wpisz nazwę nowego kanału.\",\"f7sXvi\":\"Wpisz hasło\",\"5QCNrf\":\"Wprowadź adres źródła sieci:\",\"WLnvCZ\":\"Wpisz login\",\"ijwVVM\":\"Koder entropii\",\"SlfejT\":\"Błąd\",\"sHoMKO\":\"Błąd podczas kopiowania danych do schowka\",\"TpqeIh\":[\"Błąd: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Rozwija obszar nad listą kanałów (czat na żywo).\",\"IBJg8n\":\"Rozwija obszar pod opisem kanału (pola komentarzy).\",\"XeunlQ\":\"Tryb ekspercki\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Rozwiń listę kanałów\",\"tG09kC\":\"Rozwiń zawartość\",\"bPWJOj\":\"Rozszerz stopkę\",\"SeaRa5\":\"Rozszerz nagłówek\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Nie udało się utworzyć usługi publikowania (\",[\"0\"],\")\"],\"yT6MEY\":\"Nie udało się utworzyć publikowanych plików witryny.\",\"FGdPhH\":\"Nie można zbadać źródła. Sprawdź <0>szczegóły sondy.\",\"DvfYM2\":[\"Nie udało się odświeżyć tokena: \",[\"0\"]],\"J0Jclh\":\"Nie udało się zapisać metadanych pozyskiwania\",\"RPXHsU\":\"Zakończenie procesu nie powiodło się\",\"AhS7uc\":\"Nie udało się zapisać ustawienia rozmiaru dysku.\",\"PcJRf4\":[\"Nie udało się zapisać usługi publikowania (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Nie udało się zaktualizować procesu przetwarzania (\",[\"0\"],\")\"],\"t1E1OU\":[\"Nie udało się zaktualizować procesu ingest snapshot (\",[\"0\"],\")\"],\"bssUbs\":\"Aktualizacja odtwarzacza nie powiodła się\",\"4SzVSX\":\"Nie udało się zaktualizować strony dla graczy\",\"H8gP5T\":\"Nie można zweryfikować źródła. Zweryfikuj adres.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Ścieżka pliku\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filtr\",\"JmZ/+d\":\"Wykończenie\",\"k4A6IZ\":\"Ustalenie rozmiaru\",\"Xgkhyj\":\"Flagi\",\"+L0/av\":\"Dla JavaScriptów.\",\"VBU6dD\":\"Do arkuszy stylów.\",\"XDTTEp\":\"Wymuś częstotliwość odświeżania wejściowego\",\"Y5YNoi\":\"Wymuś ramki kluczowe\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Spadki ramek\",\"lPICcX\":\"Ramka jest przepuszczana (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Częstotliwość wyświetlania klatek\",\"RFrfTY\":\"Konwersja liczby klatek na sekundę (interpolacja klatek)\",\"xDfHbM\":\"Tryb framerate\",\"4xNpe4\":\"Częstotliwość (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Główny\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Urządzenie sprzętowe\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Nagłówek\",\"+670Zw\":\"Wyróżniony\",\"PFFhCT\":\"Wysokośc\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Wyjście HLS\",\"oMxmoP\":\"Serwer HLS\",\"5/G5c1\":\"Statystyki HLS dotyczące przechowywania w pamięci\",\"wXoUQx\":\"Przerzucanie poziome\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Interfejs hostowany przez Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP i HTTPS\",\"YmRLab\":\"Port HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Port HTTPS\",\"Ptrvx5\":\"Nazwa czytelna dla człowieka w usłudze.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Jeśli zmieniłeś porty, Restreamer Core mógł już się zrestartować, ale jest teraz dostępny na innym porcie.\",\"OQONQS\":\"Jeśli masz włączoną usługę Let's Encrypt TLS, uzyskanie certyfikatów może zająć trochę czasu. Upewnij się, że Restreamer Core jest dostępny przez port 80 z Internetu. Sprawdź dziennik konsoli Restreamer Core.\",\"yWR5EY\":\"Kod iframe\",\"7ZKroD\":\"Ignoruj ​​zakresy adresów IP\",\"VyUuZb\":\"Link do obrazu\",\"5n8FKh\":\"Wydrukowanie\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Oprócz odtwarzacza, Restreamer oferuje obszerną stronę główną, na której możesz łatwo i szybko zaprezentować swoją transmisję na żywo.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"W pamięci\",\"EwM+sw\":\"Przechowywanie w pamięci\",\"xmsVuq\":\"Niezgodny\",\"exUN1j\":\"Odziedziczony od\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Wstrzyknij 1\",\"MJlrvd\":\"Wstrzyknij 2\",\"MppU96\":\"Wstrzyknij 3\",\"zBVRQb\":\"Wstrzyknij 4\",\"Adqgqr\":\"Strumień wejściowy\",\"jnyWFc\":\"Domena instancji\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interwał (sekundy)\",\"C4WaV1\":\"Zgłoszenie problemów\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Odstęp między klatkami kluczowymi (sekundy)\",\"rdU729\":\"Układ\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Certyfikat Let's Encrypt\",\"LgUs17\":\"Let's Encrypt wymaga co najmniej jednej nazwy domeny publicznej i dostępnego portu 80/TCP.\",\"oCHfGC\":\"Poziom\",\"eyLS1J\":\"Poziom protokołu systemowego.\",\"iQmbPb\":\"Patent\",\"mQImez\":\"Kolor życia\",\"6BDqha\":\"Ograniczenia\",\"1pbzRr\":\"Kolor linii\",\"Ce6Hrg\":\"Linie\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"Lista rozszerzeń plików, których nie należy buforować (np. \\\".m3u8\\\"), po jednym na linię. Pozostaw puste dla braku.\",\"m2l8c3\":\"Lista rozszerzeń plików do pamięci podręcznej (na przykład „.html”), po jednym w wierszu. Pozostaw puste, aby buforować wszystkie typy plików.\",\"QYw6tl\":\"Lista zakresów IP w notacji CIDR, na przykład 127.0.0.1/32, których statystyki nie będą rejestrowane - jeden zakres IP na linię. Pozostaw puste, aby zapisać wszystkie sesje.\",\"ELFO4F\":\"Rozmiar listy (segmenty)\",\"D0Nwch\":\"Transmisja strumieniowa na żywo w celu obsługi usługi Live RTMP.\",\"n2VKys\":\"Przesyłanie strumieniowe na żywo do usługi Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Transmisja strumieniowa na żywo do usługi Media Network RTMP.\",\"w9zSAv\":\"Transmisja na żywo do usługi PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Przesyłanie strumieniowe na żywo do usługi Trovo Live RTMP.\",\"JJGagy\":\"Transmisja na żywo w usłudze RTMP Twitch Live.\",\"4TnPVp\":\"Transmisja na żywo w usłudze Vimeos RTMP Live\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Poziom dziennika\",\"x7PDL5\":\"Zapis\",\"z0t9bb\":\"Zaloguj\",\"+fL+Rj\":[\"Połączenie nie powiodło się: \",[\"0\"]],\"4cd7gw\":\"Połączenie nie powiodło się: nie udało się wczytać szczegółów interfejsu API\",\"sNqu7k\":\"Zezwolenie na logowanie/JWT\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Wyloguj\",\"DYX2fZ\":\"Pętla\",\"SzaPTL\":\"Normalizacja głośności\",\"QGvS9k\":\"Niskie opóźnienie (bufor)\",\"GaV7al\":\"Kanał główny\",\"Wsn0Uw\":\"Nie znaleziono głównego kanału\",\"tROIde\":\"Kanał główny zapisany\",\"nLVSux\":\"Kanał strony głównej (index.html).\",\"rd3Pv7\":\"Główne Źródło\",\"f4txA1\":\"Opiekun:\",\"3iTz2L\":\"Udostępnij kanał jako strumień RTMP (eksperymentalnie).\",\"mMiku6\":\"Udostępnij kanał jako strumień SRT (eksperymentalnie).\",\"6dZ9NS\":\"Zaznaczone ramki\",\"iuA3xD\":\"Główna lista odtwarzania (zwiększa kompatybilność z przeglądarką/klientem)\",\"WBpxnA\":\"Maksymalny dozwolony rozmiar pamięci podręcznej, 0 nieograniczony.\",\"NzaPGT\":\"Maksymalna dozwolona liczba megabajtów pamięci RAM dla /memfs, 0 oznacza nieograniczoną liczbę.\",\"aaso5s\":\"Maksymalna dopuszczalna liczba megabajtów na dysku twardym. 0 dla nieograniczonego.\",\"4hp5D2\":\"Maksymalna przepustowość Mbit/s\",\"L+uBOR\":\"Maksymalne opóźnienie w milisekundach.\",\"hkoCqq\":\"Maksymalny rozmiar pliku (megabajty)\",\"i96JfZ\":\"Taille maximale du fichier à mettre dans le cache.\",\"Q9HspI\":\"Maksymalny dziennik historii\",\"bS9ZHz\":\"Maksymalna liczba wierszy dziennika\",\"6sayfE\":\"Maksymalny rozmiar (MegaBajty)\",\"09BWQO\":\"Maksymalny czas bezczynności przeglądarki (sekundy)\",\"hW0DV1\":\"Maksymalna liczba widzów\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Pamięć\",\"KReOHe\":\"Limit pamięci (megabajty)\",\"fViWSz\":\"Limit użycia pamięci w megabajtach, 0 dla nieograniczonego.\",\"emJ6M7\":\"Informacje Meta\",\"6GBt0m\":\"Metadane\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", domyślnie \",[\"1\"]],\"riWPSk\":\"Pleśń\",\"QA/rur\":\"Więcej informacji o licencjach tutaj\",\"fyGu1l\":\"Dowiedz się więcej o usłudze\",\"yBsv2n\":\"Więcej informacji na temat praw autorskich Twittera <0>tutaj.\",\"ZpfAc9\":\"Więcej informacji o prawach autorskich w YouTube <0>tutaj.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Musi być większy niż maksymalny rozmiar pliku w cache.\",\"gC9RIS\":\"Musi być mniejszy niż maksymalny rozmiar cache.\",\"R7SsBE\":\"Wycisz\",\"K0rCAk\":\"Wyciszenie kanału.\",\"Jv/kid\":\"Wyciszenie w lewo\",\"FsCP6P\":\"Wyciszenie w prawo\",\"6YtxFj\":\"Nazwa\",\"0ZkQqR\":\"Nazwa modelu. Jeśli nazwa już istnieje, zostanie nadpisana.\",\"OR475H\":\"Sieć\",\"KZDcDr\":\"Źródło sieciowe\",\"hXzOVo\":\"Następny\",\"JZrXI6\":\"Następny: Dźwięk\",\"kZFy+Q\":\"Dalej: Konfiguracja wideo\",\"1UzENP\":\"Nie\",\"p6Fxed\":\"Bez dźwięku\",\"bIDO3H\":\"Brak dostępnych strumieni audio\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Brak dostępnego urządzenia wejściowego\",\"dEwhMr\":\"Nie wykryto transmisji na żywo. Sprawdź oprogramowanie wysyłające strumień.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Nie wybrano źródła\",\"3TfuWb\":\"Brak dostępnego źródła\",\"fiXA/y\":\"Nie znaleziono odpowiedniego enkodera.\",\"acY4BT\":\"Nie znaleziono odpowiedniego filtra.\",\"/02FxK\":\"Brak wideo\",\"AVWnC9\":\"Brak dostępnych strumieni wideo\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Identyfikator węzła\",\"9J5l/O\":\"Dźwięk\",\"EdQY6l\":\"Żaden\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notatki\",\"/a9y2d\":\"Liczba wierszy dziennika do zachowania.\",\"ZD0urA\":\"Liczba dzienników do przechowywania dla każdego procesu.\",\"Aia5w3\":\"Liczba sekund, przez które limity mogą zostać przekroczone.\",\"1lZb7D\":\"Liczba kolumn kafelków do zakodowania.\",\"InpHMl\":\"Liczba kafelków kodowanych za pomocą.\",\"wnRD5D\":\"Liczba wierszy kafelków do zakodowania.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Jedna strona odsyłająca w wierszu, na przykład http://www.domena.com.\",\"1TNIig\":\"Otwórz\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Bufor wyjściowy\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase dla szyfrowania SRT.\",\"fpQo1i\":\"Passphrase musi mieć długość od 10 do 79 znaków\",\"3GZXaB\":\"Przekazywanie (kopiowanie) powinno być wyłączone tylko w razie potrzeby. Każde kodowanie wymaga dodatkowych zasobów procesora/GPU.\",\"8ZsakT\":\"Hasło\",\"b+AuuK\":\"Hasło do autoryzacji.\",\"oREnCY\":\"Hasło do urządzenia.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Trwałość statystyk oglądających\",\"ANX1b0\":\"różowy\",\"c8aBfM\":\"Proporcje pikseli\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Schemat: <0>Starter\",\"Ejic1p\":\"Platformy\",\"gtQk6c\":\"Odczyt\",\"vRayGs\":\"Player\",\"tWB9Gz\":\"Zapis ustawień odtwarzacza\",\"GIxxiU\":\"Adres URL Playera\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Lista odtwarzania\",\"luDqS5\":\"Wersja playlisty (M3U8). Wersja 3 ma najlepszą kompatybilność z przeglądarką/klientem.\",\"84gH7g\":\"Sprawdź <0>Dziennik procesów.\",\"OMpKNS\":\"Skontaktuj się z operatorem serwisu i sprawdź co się dzieje.\",\"4lATxE\":\"Wprowadź swój adres e-mail, aby wyrazić zgodę na warunki korzystania z usługi Let's Encrypt CA i otrzymywać powiadomienia w przypadku problemów.\",\"bdMiXb\":\"Proszę skontaktować się z operatorem serwisu i sprawdzić co się dzieje.\",\"wPZBpR\":\"Wybierz plik do przesłania.\",\"YcGRmx\":\"Jeśli to możliwe, użyj opcji \\\"Przekazywanie (kopiowanie)”. Kodowanie wymaga dodatkowych zasobów procesora/GPU.\",\"06qnxB\":\"Proszę czekać. Dane przepływu sondy...\",\"FTIPkL\":\"Proszę czekać. Konfiguracja strumienia...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Pozycja\",\"d62Stt\":\"Plakat\",\"PNap/Y\":\"Adres URL obrazu plakatu\",\"6o2Onc\":\"Zaprogramowane\",\"lxxyq5\":\"Główny stream\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Przebieg\",\"DL/nrw\":\"Kontrola procesu\",\"fzYV2N\":\"Szczegóły procesu\",\"zNVLia\":\"Raport z procesu\",\"PwMwvX\":\"Przetwarzanie i kontrola\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokół\",\"hEksWI\":\"Protokoły\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Domena(y) publiczna(e)\",\"7lbVwY\":\"Nie znaleziono usługi wydawniczej\",\"ia1vIb\":\"Tworzenie kopii zapasowej ustawień witryny publikacji\",\"XHw75Y\":\"Publikacje\",\"dsOSCf\":\"Tryb ciągnięcia\",\"lQQ/zA\":\"Pobierz lub odbierz dane:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Jakość\",\"i9d+3B\":\"Kamera Raspberry Pi\",\"tbXj/A\":\"Kontrola szybkości\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"rav1e Parametry\",\"6PpdQP\":\"Odtwarzaj dane wejściowe z natywną prędkością\",\"bqsSkO\":\"Tryb odbioru\",\"gcoiFh\":\"Połączyć ponownie\",\"lakzvL\":\"Limit czasu ponownego połączenia (sekundy)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Połącz ponownie za \",[\"0\"],\"s\"],\"uSDaLA\":[\"Ponowne połączenie z Restreamer Core nie powiodło się w ciągu ostatnich \",[\"RETRIES\"],\" sekund.\"],\"N7ojfh\":\"Nie udało się ponownie połączyć z Restreamer Core.\",\"lCF0wC\":\"Odśwież\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Rejestracja uzytkownika\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Odnów\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Usuń najstarsze wpisy, jeśli folder /memfs jest pełny\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Wymaga aktywacji\",\"XMbkus\":\"Resetuj logo\",\"36SXzE\":\"Reset plakatu\",\"6z9W13\":\"Uruchom ponownie\",\"dKwnjv\":\"Wymagane jest ponowne uruchomienie\",\"0Er6+M\":\"Uruchom ponownie\",\"X1sT1j\":\"Uruchom ponownie Restreamer Core ...\",\"o5q6jb\":\"Ponowne uruchomienie aplikacji nie powiodło się.\",\"x8cAsq\":\"Instrukcje Restreamera\",\"24fLVm\":\"Usługa Restreamer\",\"LCGjV4\":\"Pobieranie danych strumienia ...\",\"6gRgw8\":\"Spróbuj ponownie\",\"Qe1vaN\":\"Wzór testowy RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Obrót\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplikacja RTMP do publikacji.\",\"7ggERB\":\"Wyjście RTMP\",\"V82lE+\":\"Port RTMP\",\"itARjB\":\"Serwer RTMP\",\"WWZqzz\":\"Serwer RTMP nie jest włączony\",\"HhOPCL\":\"Adres nasłuchiwania serwera RTMP.\",\"DbHOhO\":\"Token RTMP do publikowania i odtwarzania. Token jest wartością parametru zapytania adresu URL \\\"token”.\",\"OAZeFE\":\"RTMPS Port\",\"Wt/wFL\":\"Serwer RTMPS\",\"xwonDv\":\"Adres nasłuchu serwera RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Reguła\",\"HneYgw\":\"Próbowanie\",\"tfDRzk\":\"Zapisz\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Skala\",\"6aaceW\":\"Wielkość skali\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Sekundy na przechowywanie plików w pamięci podręcznej.\",\"geM4Wc\":\"Sekundy do ponownego uruchomienia procesu.\",\"iF7dnC\":\"Sekundy do zakończenia zablokowanego procesu.\",\"mydmGn\":\"Sekundy do zaktualizowania migawki/miniaturki źródła wideo.\",\"a3LDKx\":\"Bezpieczeństwo\",\"Gkr6zI\":\"Token bezpieczeństwa\",\"/Ocrtf\":\"Kolor paska wyszukiwania (Seekbar)\",\"4lDlYf\":\"Długość segmentu (sekundy)\",\"XfNrg+\":\"Po upływie tego opóźnienia segment zostanie wycięty w następnej klatce kluczowej. Zalecana jest wartość 2.\",\"jHCoDy\":\"Segmentacja\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Wybierz urządzenie:\",\"O+ruJ3\":\"Wybierz źródło dźwięku:\",\"6MTTpq\":\"Wybierz RTMP lub SRT (jeśli jest włączony), aby zmniejszyć opóźnienia.\",\"E7haRr\":\"Wybierz źródło ...\",\"PlZ1aw\":\"Wybierz źródło wideo:\",\"YYlcWm\":\"Wybierz, czy pobierasz strumień z <0>źródła sieciowego (np. kamery sieciowej), czy z <1>wewnętrznego serwera RTMP (np. strumienie OBS do Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Wybierz ustawienia kodowania:\",\"aT3o8A\":\"Wybierz ustawienia filtra (opcjonalnie):\",\"ylXj1N\":\"Wybrany\",\"kYpw4+\":\"Wybrany kanał\",\"p7/fS2\":\"Wybór\",\"SOePwi\":\"Wysyłaj anonimowe dane (pomaga nam w przyszłym rozwoju)\",\"kOhBl+\":\"Wyślij strumień na adres ...\",\"E1X5xY\":\"Wyślij stream na ten adres:\",\"d/IMf3\":\"Wyślij wideo do Framebuffer\",\"sGH11W\":\"Serwer\",\"9rG25a\":\"URL serwera\",\"T3bXxK\":\"Usługa\",\"KPPdUO\":\"Nazwa serwisu\",\"DOrSw/\":\"Token serwisowy do monitorowania.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sesje\",\"xwK3ty\":\"Ustawia konfigurację rav1e przy użyciu listy parametrów klucz=wartość rozdzielonej :-ami.\",\"FIIk8R\":\"Ustawia limit przepustowości w Mbit na sekundę dla wychodzącego transferu danych HLS. Wszystkie usługi, takie jak RTMP i procesy wychodzące, są uwzględniane w kalkulacji. W przypadku przekroczenia przepustowości przeglądarki HLS otrzymują kod stanu HTTP 509 (Przekroczono limit przepustowości). 0 jest nieograniczone.\",\"cOG/FK\":\"Ustawia limit oglądania dla sesji HLS. W przypadku przekroczenia limitu przeglądarki HLS otrzymują kod stanu HTTP 509 (przekroczono limit przepustowości). Wartość 0 jest nieograniczona.\",\"mcJFKm\":\"Parametr połączenia serwisowego.\",\"Tz0i8g\":\"Ustawienia\",\"IiOZ6R\":\"Parametry (tryb eksperta)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Parametry ścieżki /data. Dostęp jest chroniony przez\",\"Ytdvyh\":\"Parametry ścieżki /memfs.\",\"1w3lYe\":\"Ustawienia zostały zapisane. Wszystkie zmiany zostaną zastosowane po ponownym uruchomieniu aplikacji.\",\"XUw3i9\":\"Przycisk udostępniania\",\"oD0Oes\":\"Wyświetla odniesienie do projektu.\",\"+vv4q2\":\"Zarejestruj się (bezpłatnie)\",\"JXVFAm\":\"Cisza\",\"VSK9FJ\":\"Wycisz Dźwięk\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nazwa Strony\",\"Cj2Gtd\":\"Rozmiar\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Limit czasu dla gniazd (mikrosekundy)\",\"bRN5nm\":\"Oprogramowanie\",\"wdxz7K\":\"Źródło\",\"sywlQb\":\"Źródło i kodowanie\",\"l9wI00\":\"Prędkość\",\"vdhBFK\":\"Wstępne ustawienie prędkości\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Wyjście SRT\",\"YqnAto\":\"Serwer SRT\",\"k6hpqB\":\"Serwer SRT nie jest włączony\",\"SzqwHY\":\"Adres nasłuchu serwera SRT.\",\"KwbjpB\":\"SRT token do publikowania i odtwarzania. Token jest wartością parametru streamid 'token'.\",\"Aj28wT\":\"Limit czasu (sekundy)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statystyki\",\"BrrIs8\":\"Magazynowanie\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Przechowuje statystyki oglądających na dysku.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Klucz strumienia\",\"bqiH5R\":\"Stream Key\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nazwa streamu\",\"eXELiS\":\"Nazwy stream\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Źródło strumienia dla usługi publikacji (eksperymentalne).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Adres URL streamu\",\"+fVH0Y\":\"Wsparcie datarhei Restreamer\",\"5HSoct\":\"Obsługuje HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT i inne.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Adres celu\",\"/K2CvV\":\"Wygłąd\",\"2Ivkf/\":\"Szablon do wykorzystania przy tworzeniu strony internetowej publikacji. Przycisk Usuń usuwa zaznaczenie z systemu.\",\"4Y5H+g\":\"Warunki\",\"tRNH6x\":\"Wzór testu\",\"EtlVOt\":\"Wzór testu (rozszerzony)\",\"wGPolR\":\"Kolory tekstu\",\"m0TUJj\":\"Rozległość (0,0–1,0) generowanego strumienia audio\",\"8C6xwe\":\"Aplikacja korzysta ze starej wersji ustawień.\",\"VPQVR2\":\"Dostępne binarki FFmpeg nie obsługują żadnego z wymaganych protokołów.\",\"Gx9PPK\":\"Szybkość transmisji strumienia audio.\",\"T2kk3f\":\"Częstotliwość nośna\",\"JAOLK8\":[\"Nie można usunąć kanału \\\"\",[\"0\"],\"”\"],\"jNaBhy\":[\"Kanał \\\"\",[\"0\"],\"” został usunięty\"],\"SD8pYJ\":\"Usunięcia tego kanału nie można odzyskać. Wszystkie posty w tym kanale zostaną usunięte.\",\"bnkV//\":\"Profil wpisu nie jest kompletny. Ustaw źródło wideo i audio.\",\"wCYjmB\":\"Profil wejściowy nie jest kompletny. Zdefiniuj źródło wideo i/lub audio.\",\"JMaqWu\":\"Układ strumienia audio.\",\"0dqo+p\":\"Maksymalna liczba segmentów na liście odtwarzania. 0 będzie zawierało wszystkie segmenty. 6 jest zalecane.\",\"BDgbiW\":\"Kolor szumu\",\"SxGu7I\":\"Osoba, która powiązała utwór z tym aktem, przekazała utwór do domeny publicznej, zrzekając się wszystkich praw do utworu na całym świecie zgodnie z prawem autorskim, w tym wszystkich praw pokrewnych i praw sąsiadów, w zakresie dozwolonym przez prawo. Możesz kopiować, modyfikować, rozpowszechniać i wykonywać pracę, nawet w celach komercyjnych, bez pytania o pozwolenie.\",\"XISvrq\":\"Publiczna nazwa domeny hosta, na którym działa ten Restreamer. Poszczególne nazwy domen oddziel przecinkami.\",\"yt3d3G\":[\"Nie można usunąć usługi publikowania \\\"\",[\"0\"],\"”.\"],\"zYcO/c\":[\"Usługa publikowania \\\"\",[\"0\"],\"” została utworzona.\"],\"AQE+oz\":[\"Usługa publikowania \\\"\",[\"0\"],\"” została usunięta.\"],\"qVLWvp\":\"Powstał serwis wydawniczy\",\"njj2Wn\":\"Wyjście RTMP wymaga serwera RTMP.\",\"WRxiP8\":\"Częstotliwość próbkowania strumienia audio.\",\"/pZjRr\":\"Wybrany plik jest zbyt duży (<0/>). Dozwolone są tylko <1/>.\",\"VBaSn9\":[\"Wybrany typ pliku (\",[\"0\"],\") jest niedozwolony. Dozwolone typy plików to \",[\"1\"]],\"fM410X\":[\"Ustawienia dla \\\"\",[\"0\"],\"” zostały zapisane.\"],\"02ii2e\":\"Źródło nie zapewnia strumienia audio.\",\"+2cAEU\":\"Źródło nie zapewnia strumienia audio. Sprawdź <0>szczegóły sondy.\",\"pfqmY7\":\"Źródło nie zapewnia kompatybilnego strumienia audio.\",\"VO9KeK\":\"Źródło nie zapewnia kompatybilnego strumienia wideo. Sprawdź <0>wymagania.\",\"007foU\":\"Źródło nie zapewnia strumienia wideo. Sprawdź <0>szczegóły sondy.\",\"lAsMdV\":\"Źródło nie zapewnia strumienia wideo. Sprawdź urządzenie.\",\"XlnvcR\":\"Wyjście SRT wymaga serwera SRT.\",\"w6uuIE\":\"Źródło wideo nie zapewnia kompatybilnego strumienia audio. Zalecana jest <0>wyciszenie dźwięku. Usługi takie jak YouTube, Facebook i Spółka wymagają kanału audio.\",\"YJJ2RL\":\"Źródło wideo jest kompatybilne. Wybierz żądaną rozdzielczość:\",\"wEiZHy\":\"Dostępne są aktualizacje. Tutaj uzyskasz więcej informacji.\",\"4p1MgS\":\"Podczas zapisywania ustawień wystąpił problem. Ustawienia nie zostały zapisane.\",\"YJhhwT\":[\"Wystąpił błąd podczas łączenia z Restreamer Core o \",[\"0\"],\".\"],\"q42VsF\":[\"Wystąpił błąd podczas pobierania: \",[\"0\"]],\"HM96PJ\":\"Wystąpił błąd podczas konfigurowania strumienia.\",\"LoDP+Y\":\"Wystąpiły błędy w ustawieniach. Ustawienia nie zostały zapisane.\",\"l92ZKN\":\"Nie ma dostępnej metody połączenia.\",\"cPKuc8\":\"Jest to fikcyjna usługa, która wyjaśnia Ci koncepcje usługi.\",\"Ku8nyu\":\"Niekoniecznie jest to błąd. Jednak ponowne uruchomienie Restreamer Core może potrwać nieco dłużej...\",\"vCRP3w\":\"Ma to na celu wspomnieć o zasadach dotyczących praw autorskich dla celu tej usługi.\",\"Hx7k3c\":\"Ta licencja umożliwia ponownemu użytkownikowi kopiowanie i rozpowszechnianie materiału w dowolnym medium lub formacie, wyłącznie w nieodpowiedniej formie, pod warunkiem, że twórca zostanie potwierdzony. Licencja pozwala na wykorzystanie komercyjne.\",\"6OeMYB\":\"Niniejsza licencja umożliwia ponownemu kopiowaniu i rozpowszechnianiu materiału w dowolnym medium lub formacie, wyłącznie w nieodpowiedniej formie, do celów niekomercyjnych i pod warunkiem, że twórca zostanie potwierdzony.\",\"TUuhsB\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie wyłącznie do celów niekomercyjnych, pod warunkiem uznania autora za twórcę.\",\"kVtKRl\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie wyłącznie do celów niekomercyjnych, pod warunkiem uznania autora za twórcę. Jeśli remiksujesz, adaptujesz lub rozszerzasz materiał, musisz licencjonować zmodyfikowany materiał na identycznych warunkach.\",\"FpX5mp\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie, pod warunkiem, że twórca zostanie potwierdzony. Licencja pozwala na wykorzystanie komercyjne.\",\"SDvwLd\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie, pod warunkiem, że twórca zostanie potwierdzony. Licencja pozwala na wykorzystanie komercyjne. Jeśli remiksujesz, adaptujesz lub rozszerzasz materiał, musisz licencjonować zmodyfikowany materiał na identycznych warunkach.\",\"H144rX\":\"Ten protokół jest nieznany lub nie jest obsługiwany przez dostępne binarki FFmpeg.\",\"nlOxxw\":\"Tego źródła nie można edytować podczas używania. Aby kontynuować, musisz odłączyć źródło.\",\"mbSyrG\":[\"Ta wersja interfejsu użytkownika nie obsługuje dostępnego pliku binarnego FFmpeg (\",[\"0\"],\"). Interfejs użytkownika wymaga \",[\"1\"],\". Użyj obsługiwanego pliku binarnego FFmpeg.\"],\"N/tTgz\":[\"Ta wersja interfejsu użytkownika nie obsługuje podłączonego Core (\",[\"0\"],\"). Interfejs użytkownika wymaga \",[\"1\"],\". Użyj zgodnej wersji interfejsu użytkownika.\"],\"2Vq5tr\":\"Ta wersja interfejsu użytkownika jest zgodna.\",\"QxX9Z5\":\"Próg (sekundy)\",\"sNmspt\":\"Kolumny z płytkami\",\"sYGp2E\":\"Rzędy płytek\",\"wbOpwP\":\"Płytki\",\"H59P7E\":\"Czas, po którym nieaktywne połączenie widza jest traktowane jako zamknięte.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Aby ustabilizować system, zwiększ długość segmentu HLS dla interwału klatek kluczowych o 2-3 * (Processing and Control).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Górne pole\",\"7mjsuh\":\"Przekazuj Livestream na kanał Telegram.\",\"Gxlq7L\":\"Przesyłaj migawki z podstawowego źródła do serwera HTTP/S. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"SdyhUl\":\"Przesyła kanał audio z głównego źródła do serwera Icecast. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"MayU3b\":\"Prześlij główne źródło jako HTTP-Live-Streaming (HLS) do serwera HTTP/S. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"3K8kpL\":\"Prześlij główne źródło w MPEG-DASH do serwera HTTP/S. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"P/J230\":\"Prześlij główne źródło do usługi Brightcove Live. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"u0MhFy\":\"Prześlij główne źródło do usługi CDN77 RTMP. Więcej informacji o konfiguracji <0>tutaj.\",\"zkgT7c\":\"Prześlij główne źródło do usługi DaCast RTMP. Więcej informacji o konfiguracji <0>tutaj.\",\"in9xJz\":\"Przekaż źródło podstawowe do datarhei Core Ressource. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"PcgwEU\":\"Przekaż główne źródło do Ressource livespotting.com. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"D7jwpf\":\"Prześlij główne źródło do usługi MPEG-TS. Więcej informacji na temat ustawień znajdziesz tutaj <0>tutaj.\",\"SpSgUV\":\"Prześlij główne źródło do serwera Red5/Pro. Więcej szczegółów na temat ustawień znajdziesz <0>tutaj.\",\"lIpqI/\":\"Prześlij główne źródło do serwera RTMP(e|s|t|te|ts). Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"pqR6nq\":\"Prześlij główne źródło do serwera RTSP. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"Q4dSnZ\":\"Prześlij główne źródło do serwera SRT. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"fx9S4p\":\"Prześlij źródło podstawowe do serwera UDP. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"GLXY2N\":\"Prześlij główne źródło do serwera WOWZA. Więcej szczegółów na temat ustawień znajdziesz <0>tutaj.\",\"AsMKFi\":\"Prześlij podstawowe źródło do usługi Akamai (MSL) Media Services Live. Więcej szczegółów na temat ustawień kodera MSL można znaleźć <0>tutaj.\",\"FB364G\":\"Prześlij główne źródło do usługi Livepush RTMP. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"CC9yS5\":\"Prześlij główne źródło do usługi Nimo TV RTMP. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"fP8ZYg\":\"Prześlij główne źródło do usługi Picarto TV RTMP. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"D9A0LK\":\"Prześlij główne źródło do usługi Restream RTMP. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"YL800g\":\"Przekazać do usługi Azure Media Services. Więcej szczegółów można znaleźć <0>tutaj.\",\"Abgy4c\":\"Przekazać na LinkedIn. Więcej szczegółów można znaleźć <0>tutaj.\",\"dhCZoS\":\"Prześlij swój Livestream do usługi Dailymotion RTMP. <0>Tutaj znajdziesz więcej szczegółów na temat ustawień.\",\"tQNclD\":\"Prześlij swój Livestream do usługi Kick.com RTMP. <0>Tutaj znajdziesz więcej szczegółów na temat ustawień.\",\"mQ0sjr\":\"Prześlij swój Livestream na serwer Owncast. <0>Tutaj znajdziesz więcej szczegółów dotyczących ustawień.\",\"AqYRa3\":\"Prześlij swój Livestream do usługi Rumble RTMP. <0>Tutaj znajdziesz więcej szczegółów na temat ustawień.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Przesyła strumień wideo z wymaganym kluczem, który został wygenerowany w programie Twitter Producer. Więcej informacji na temat konfigurowania transmisji na żywo można znaleźć na stronie <0>Producent Twittera.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Transport UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Nie udało się wczytać konfiguracji.\",\"MWrgON\":\"Unikalny identyfikator w usłudze.\",\"Ef7StM\":\"Nieznany\",\"wiIpKZ\":\"Nieznany błąd przesyłania\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Nie zaznaczone\",\"j9zg7e\":\"Szczegóły aktualizacji (Changelog)\",\"ONWvwQ\":\"Upload\",\"OXItQT\":[\"Prześlij plik audio (\",[\"0\"],\"), aby go zapętlić.\"],\"75yxb7\":[\"Prześlij obraz lub plik wideo (\",[\"0\"],\"), aby go zapętlić.\"],\"iAkPTY\":\"Przesyłanie pliku nie powiodło się\",\"Jmy6pK\":\"Nie udało się pobrać logo\",\"xl1xFp\":\"Przesyłanie plakatu nie powiodło się\",\"TjrbDj\":\"Czas operacyjny\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Użyj Auth0 dla działającego Restreamera Core. Więcej <0>szczegółów.\",\"JX4TqK\":\"Użyj kreatora (<0/>) do szybkiej i łatwej konfiguracji lub edytuj (<1/>) źródła bezpośrednio w trybie niestandardowym.\",\"YYTBz0\":\"Wykorzystaj swoje prawa autorskie i wybierz odpowiednią licencję na obraz. Bez względu na to, czy jest darmowy dla wszystkich, czy mocno ograniczony. Krótko omów, co inni mogą zrobić z Twoim wizerunkiem.\",\"2UPEb1\":\"Wykorzystaj swoje prawa autorskie i wybierz odpowiednią licencję na obraz. Niezależnie od tego, czy jest to licencja bezpłatna, czy bardzo ograniczona. Krótko omów, co inni mogą zrobić z Twoim wizerunkiem.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Rejestracja Użytkownika\",\"7sNhEz\":\"Login\",\"Gv3pbp\":\"Nazwa użytkownika do autoryzacji.\",\"RQSvXZ\":\"Nazwa użytkownika urządzenia.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M jest eksperymentalny.\",\"PvM7Yi\":\"Zmienna częstotliwość odświeżania (VFR)\",\"hpBTpL\":\"aksamitny\",\"uIAsxu\":\"Przerzucanie pionowe\",\"vSJd18\":\"Wideo\",\"auaWhL\":\"Urządzenie wideo\",\"/skRGV\":\"Ustawienia wideo\",\"EzOjvB\":\"Konfiguracja wideo\",\"QcQXbU\":\"Źródło wideo\",\"M/TIv1\":\"Widzów\",\"L2hKw+\":\"fioletowy\",\"hA6FFn\":\"Wirtualne źródło\",\"/cF7Rs\":\"Głośność\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Polecamy OpenMAX IL dla Raspberry PI (3/4) z 32-bitowym systemem operacyjnym.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Witamy w Restreamer v2, rozwiązanie do szybkiego i łatwego publikowania filmów. Bezpłatnie do użytku prywatnego i komercyjnego. Więcej pomocy w <0>dokumentacji.\",\"hJfWkA\":\"Jakiego ustawienia prędkości użyć.\",\"6Pz2IF\":\"Gdzie ma być przechowywana playlista HLS i segmenty. Zalecane jest In-Memory.\",\"aWHAbR\":\"biały\",\"aFWU1n\":\"Szerokośc\",\"e0wV2Y\":\"Ochrona przed zapisem\",\"l75CjT\":\"Tak\",\"WPUsOF\":\"Nie można przerwać kreatora, ponieważ należy zdefiniować co najmniej jeden wpis.\",\"qwY9F9\":\"Zmieniłeś konfigurację. Aby zmiany odniosły skutek, musisz ponownie uruchomić aplikację. Czy chcesz teraz ponownie uruchomić?\",\"nxq2ni\":\"Musisz ponownie połączyć się ręcznie\",\"RM3CEc\":\"Masz niezapisane zmiany. Utwórz ich kopię zapasową, zanim będziesz mógł ponownie kontrolować usługę.\",\"/cg7qS\":\"Twój strumień musi być zakodowany, ale nie jest dostępny odpowiedni koder.\",\"BwrOm6\":\"Twój strumień musi być zakodowany. Wybierz żądany koder:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Tabela testowa YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Lista kompatybilności\",\"TkRUk0\":\"<0>Pokaż szczegóły sondy\",\"tBy4Bb\":\"1. Przejdź do interfejsu docelowego Restreamera.\",\"2JnpXL\":\"2. Utwórz nowy kanał i wybierz serwer RTMP lub SRT.\",\"YidyJl\":\"3. Skopiuj adres URL i wklej go w polu \\\"Adres docelowy\\\".\",\"X1MZZp\":\"6 (+ gwarantowany start z ramką Key)\",\"JVJkxU\":\"7 (+ fragmentaryczny format MP4)\",\"ssjjFt\":\"Anuluj\",\"uyJsf6\":\"O nas\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Dodaj\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Dodaj widżety i style zewnętrzne do witryny publikowania. Kilka przykładów znajdziesz na stronie pomocy.\",\"tsJWSj\":\"Dodaj nowy kanał\",\"PLTLdv\":\"Dodaj Publikację\",\"35l+l6\":[\"Dodaj : \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adres URL\",\"8M7jVn\":\"Adres obrazu tła.\",\"Vu9yiv\":\"Adres do nasłuchiwania żądań HTTP.\",\"AQDW5r\":\"Adres do nasłuchiwania żądań HTTPS.\",\"tPrmjP\":\"Adres:\",\"owt8Ow\":\"Dostosuj kolory i tło witryny publikowania zgodnie z potrzebami.\",\"uNXGDK\":\"Zaawansowane monitorowanie\",\"VNgKZz\":\"Zaawansowane ustawienia\",\"eiGNYb\":\"Ustawienia zaawansowane\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Powiadomienie e-mail\",\"N40H+G\":\"Wszystko\",\"Hw5q+W\":\"Wszystkie ramy\",\"f2zxGk\":\"Wszystkie ważne parametry systemu.\",\"lle3bd\":\"Zezwól wszystkim odsyłającym\",\"bgFbIB\":\"Pozwala policzyć liczbę widzów strumienia.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Rozległość dźwięku\",\"ngteek\":\"Zmienna środowiskowa ustawia tę wartość.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Nie znaleziono punktu końcowego interfejsu API. Ustawienia nie zostały zapisane.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplikacja\",\"xnCC/2\":\"Czy na pewno chcesz przerwać kreatorowi?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Dźwięk\",\"n3RW8K\":\"Urządzenie audio\",\"sYyYfE\":\"Urządzenie Dźwiękowe\",\"2he4Ra\":\"Dźwięk z urządzenia\",\"MvY15a\":\"Parametry dźwięku\",\"NoLJ6g\":\"Ustawienia dźwięku\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 jest obecnie niedostępne, ponieważ ten interfejs jest ładowany z niezabezpieczonego źródła.\",\"aKsflb\":\"Auth0 Najemca\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Uprawnienie\",\"R9Khdg\":\"Automatycznie\",\"6yEk/V\":\"Automatyczne czyszczenie wszystkich danych multimedialnych\",\"jT50Rz\":\"Automatyczne odtwarzanie (Autoplay)\",\"csDS2L\":\"Dostępne na\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Wstecz\",\"1KfyNL\":\"Kolory tła\",\"23c2Uw\":\"Obraz tła\",\"r0bEmM\":\"Serwer kopii zapasowej\",\"JFjQhH\":\"Zapasowy stream\",\"bkJ+QE\":\"Link do kopii zapasowej\",\"OlXThP\":\"Pasmo\",\"QYaaBO\":\"Kontrola przepustowości\",\"KSSL9f\":\"Baner\",\"0wJVK+\":\"Zasadniczy\",\"YR04fn\":\"Współczynnik sygnału dźwiękowego\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Typy pamięci podręcznej bloków\",\"zOC7cT\":\"niebieski\",\"359XuU\":\"Dolne pole\",\"aC3kWW\":\"Krótko opisz, co widzowie zobaczą podczas transmisji na żywo.\",\"SehDNd\":\"brązowy\",\"Ptp9MF\":\"Kolor przycisku\",\"Lp4WkO\":\"Według wysokości.\",\"IeV/4P\":\"Przez szerokość\",\"KxP5AO\":\"Buforowane pliki w /data.\",\"qX8ffo\":\"Czas buforowania (w sekundach)\",\"4dRAku\":\"Rodzaje buforu\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Bufor przechwytujący\",\"aL2+1d\":\"Przechwyt kliknięć\",\"EOfLfP\":\"Przechwyt kursoru\",\"ieS3Wc\":[\"Kanał \\\"\",[\"0\"],\"” został zapisany\"],\"lfFsZ4\":\"Kanały\",\"WMCwmR\":\"Sprawdź aktualizacje\",\"vM6kpc\":\"Sprawdź wymagania\",\"Wzgqhl\":\"Wybierz strumień wideo\",\"JpTR0/\":\"Wybierz strumień dźwiękowy\",\"BTNyrQ\":\"Wybierz urządzenie wejściowe ...\",\"f9QIui\":\"Wybierz strumień wejściowy ...\",\"/Y6zrN\":\"Wybór pomiędzy CFR i VFR (Auto)\",\"gObOjh\":\"Wybierz kodek ...\",\"v7lrmU\":\"Wybór najemcy...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Kawałek\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Zamknij\",\"r8NEPc\":\"Wstrzyknięcie kodu\",\"BaUuhR\":\"Kodek\",\"jZlrte\":\"Kolor\",\"sjVfrA\":\"Polecenie\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Config\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Potwierdź hasło\",\"iSLIjg\":\"Zaloguj się\",\"NL3Gev\":\"Urządzenie podłączone \",\"ywAvGr\":\"Zalogowany od \",\"lNg25t\":\"Zalogowany ...\",\"y6+BXa\":\"Łączenie z Restreamer Core ...\",\"Td5lm6\":\"Połączenie z Restreamer Core nie powiodło się, prawdopodobnie z powodu mieszanej zawartości.\",\"awE5Py\":\"Stała częstotliwość odświeżania (CFR)\",\"DT0Af/\":\"Tryb stałego kwantyzatora (od -1 do 255).\",\"4b3oEV\":\"Zawartość\",\"U34RbB\":\"URL treści\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Rdzenie\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Limit CPU (w procentach)\",\"uW5tVo\":\"Limit użycia procesora w procentach (0-100%), 0 dla nieograniczonego.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Dostosuj ...\",\"kH80Lk\":\"Własne urządzenie audio\",\"fW1XQD\":\"Własny indeks audio\",\"bzREp0\":\"Własna szybkość transmisji (kb/s)\",\"w9oKek\":\"Wstrzyknięcie własnego kodu\",\"jYaP01\":\"Własny limit czasu\",\"2Gw+zZ\":\"Własne urządzenie\",\"WCXGNp\":\"Własny format\",\"ZkpZ06\":\"Własna częstotliwość odświeżania\",\"1OXCgh\":\"Własna konfiguracja JSON dla Datarhei Core.\",\"kl56NX\":\"Własny interwał klatki kluczowej\",\"prIqWa\":\"Własny układ\",\"HSB43e\":\"Własne próbkowanie (Hz)\",\"Efe3BI\":\"Własna skala\",\"E/2KdS\":\"Własny rozmiar\",\"Se794B\":\"Własne urządzenie wideo\",\"aqv915\":\"Własny indeks wideo\",\"v8OlX8\":\"Dane skopiowane do schowka\",\"J/VBax\":\"Kolor śmierci\",\"d2TTfK\":\"Decybele (dB)\",\"W034oz\":\"Dekoder\",\"ovBPCi\":\"Domyślny\",\"gFwPaj\":[\"Domyślnie \",[\"0\"]],\"JQnkrI\":[\"Domyślnie \",[\"0\"],\" (\",[\"1\"],\" sekund)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Usuń przeplot\",\"g3JmiG\":\"Tryb Deinterlace\",\"aro6lN\":\"Deinterlace parity\",\"YeWQto\":\"Limit czasu\",\"qBC9g9\":\"Opóźnienie (w ms)\",\"cnGeoo\":\"Usuń\",\"ScK3zL\":\"Usunięcia usługi publikowania nie można cofnąć. Publikowanie zatrzymuje się natychmiast.\",\"cEx3oI\":\"Sposób dostawy\",\"Nu4oKW\":\"Opis\",\"f8fH8W\":\"Model\",\"PEHQTf\":\"Urządzenie\",\"+K0AvT\":\"Wyloguj\",\"miKA/E\":\"Odłącz i kontynuuj\",\"5/pMTZ\":\"Wylogowywanie ...\",\"sPFHpI\":\"Dysk\",\"qczNPP\":\"Dysk z pamięci podręcznej\",\"PUqOjv\":\"Miejsce na dysku\",\"uTwT/l\":\"Czy na pewno chcesz teraz ponownie uruchomić aplikację?\",\"FgxcNT\":[\"Czy chcesz usunąć \\\"\",[\"0\"],\"”?\"],\"NogZqg\":[\"Czy chcesz usunąć \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Czy chcesz odłączyć \\\"\",[\"0\"],\"”?\"],\"TbjyhA\":\"Dokumentacja\",\"TvY/XA\":\"Dokumentacja\",\"jPtEhI\":\"Ramki podwaniające\",\"diaSRH\":\"Każde pole\",\"u2SnNO\":\"Każda ramka\",\"ePK91l\":\"Edytuj\",\"INCFjw\":\"Zmień źródła audio i wideo dla transmisji na żywo. Dodaj opis i ustaw licencję na żądaną zawartość.\",\"+7Wr2a\":[\"Edytuj: \",[\"title\"]],\"e3GLqI\":\"EDYTUJ: Odtwarzacz\",\"dTPDyf\":\"EDIT: Witryna publikacji\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Integruj\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Włącz\",\"No9svk\":\"Aktywuje okresowy sygnał dźwiękowy co sekundę z tą wartością pomnożoną przez częstotliwość nośną\",\"R7s0Th\":\"Aktywuj kopie streamu\",\"xA5zBY\":\"Włącz statystyki nerdów\",\"r0zP4o\":\"Włącz teraz\",\"JwR989\":\"Aktywuj podstawowy stream\",\"blkDNw\":\"Aktywuj serwer RTMP ...\",\"FgEhO4\":\"Włącz transfer RTMPS\",\"uGvvxq\":\"Włącz migawki\",\"IuL64N\":\"Włączenie serwera SRT ...\",\"NJsnxf\":\"Zdecydowanie zaleca się aktywację autoryzacji. W przeciwnym razie każdy może uzyskać dostęp do tej instancji.\",\"xwS6bX\":\"Zdecydowanie zaleca się włączenie uwierzytelniania podstawowego. W przeciwnym razie każdy mógłby zapisać dane do /memfs.\",\"0zaXWu\":\"Koder\",\"o0XA5y\":\"Kodowanie\",\"q1srUM\":\"Szyfrowanie\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Wpisz nazwę nowego kanału.\",\"f7sXvi\":\"Wpisz hasło\",\"5QCNrf\":\"Wprowadź adres źródła sieci:\",\"WLnvCZ\":\"Wpisz login\",\"ijwVVM\":\"Koder entropii\",\"SlfejT\":\"Błąd\",\"sHoMKO\":\"Błąd podczas kopiowania danych do schowka\",\"TpqeIh\":[\"Błąd: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Rozwija obszar nad listą kanałów (czat na żywo).\",\"IBJg8n\":\"Rozwija obszar pod opisem kanału (pola komentarzy).\",\"XeunlQ\":\"Tryb ekspercki\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Rozwiń listę kanałów\",\"tG09kC\":\"Rozwiń zawartość\",\"bPWJOj\":\"Rozszerz stopkę\",\"SeaRa5\":\"Rozszerz nagłówek\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Nie udało się utworzyć usługi publikowania (\",[\"0\"],\")\"],\"yT6MEY\":\"Nie udało się utworzyć publikowanych plików witryny.\",\"FGdPhH\":\"Nie można zbadać źródła. Sprawdź <0>szczegóły sondy.\",\"DvfYM2\":[\"Nie udało się odświeżyć tokena: \",[\"0\"]],\"J0Jclh\":\"Nie udało się zapisać metadanych pozyskiwania\",\"RPXHsU\":\"Zakończenie procesu nie powiodło się\",\"AhS7uc\":\"Nie udało się zapisać ustawienia rozmiaru dysku.\",\"PcJRf4\":[\"Nie udało się zapisać usługi publikowania (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Nie udało się zaktualizować procesu przetwarzania (\",[\"0\"],\")\"],\"t1E1OU\":[\"Nie udało się zaktualizować procesu ingest snapshot (\",[\"0\"],\")\"],\"bssUbs\":\"Aktualizacja odtwarzacza nie powiodła się\",\"4SzVSX\":\"Nie udało się zaktualizować strony dla graczy\",\"H8gP5T\":\"Nie można zweryfikować źródła. Zweryfikuj adres.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Ścieżka pliku\",\"o7J4JM\":\"Filtr\",\"JmZ/+d\":\"Wykończenie\",\"k4A6IZ\":\"Ustalenie rozmiaru\",\"Xgkhyj\":\"Flagi\",\"+L0/av\":\"Dla JavaScriptów.\",\"VBU6dD\":\"Do arkuszy stylów.\",\"XDTTEp\":\"Wymuś częstotliwość odświeżania wejściowego\",\"Y5YNoi\":\"Wymuś ramki kluczowe\",\"kI1qVD\":\"Format\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Spadki ramek\",\"lPICcX\":\"Ramka jest przepuszczana (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Częstotliwość wyświetlania klatek\",\"RFrfTY\":\"Konwersja liczby klatek na sekundę (interpolacja klatek)\",\"xDfHbM\":\"Tryb framerate\",\"4xNpe4\":\"Częstotliwość (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Główny\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Urządzenie sprzętowe\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Nagłówek\",\"+670Zw\":\"Wyróżniony\",\"PFFhCT\":\"Wysokośc\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Wyjście HLS\",\"oMxmoP\":\"Serwer HLS\",\"5/G5c1\":\"Statystyki HLS dotyczące przechowywania w pamięci\",\"wXoUQx\":\"Przerzucanie poziome\",\"8iPCh6\":\"Interfejs hostowany przez Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP i HTTPS\",\"YmRLab\":\"Port HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Port HTTPS\",\"Ptrvx5\":\"Nazwa czytelna dla człowieka w usłudze.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Jeśli zmieniłeś porty, Restreamer Core mógł już się zrestartować, ale jest teraz dostępny na innym porcie.\",\"OQONQS\":\"Jeśli masz włączoną usługę Let's Encrypt TLS, uzyskanie certyfikatów może zająć trochę czasu. Upewnij się, że Restreamer Core jest dostępny przez port 80 z Internetu. Sprawdź dziennik konsoli Restreamer Core.\",\"yWR5EY\":\"Kod iframe\",\"7ZKroD\":\"Ignoruj ​​zakresy adresów IP\",\"VyUuZb\":\"Link do obrazu\",\"5n8FKh\":\"Wydrukowanie\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Oprócz odtwarzacza, Restreamer oferuje obszerną stronę główną, na której możesz łatwo i szybko zaprezentować swoją transmisję na żywo.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"W pamięci\",\"EwM+sw\":\"Przechowywanie w pamięci\",\"xmsVuq\":\"Niezgodny\",\"exUN1j\":\"Odziedziczony od\",\"CDdi1R\":\"Wstrzyknij 1\",\"MJlrvd\":\"Wstrzyknij 2\",\"MppU96\":\"Wstrzyknij 3\",\"zBVRQb\":\"Wstrzyknij 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Strumień wejściowy\",\"jnyWFc\":\"Domena instancji\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interwał (sekundy)\",\"C4WaV1\":\"Zgłoszenie problemów\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Odstęp między klatkami kluczowymi (sekundy)\",\"rdU729\":\"Układ\",\"Cpw3fU\":\"Certyfikat Let's Encrypt\",\"LgUs17\":\"Let's Encrypt wymaga co najmniej jednej nazwy domeny publicznej i dostępnego portu 80/TCP.\",\"oCHfGC\":\"Poziom\",\"eyLS1J\":\"Poziom protokołu systemowego.\",\"iQmbPb\":\"Patent\",\"mQImez\":\"Kolor życia\",\"6BDqha\":\"Ograniczenia\",\"1pbzRr\":\"Kolor linii\",\"Ce6Hrg\":\"Linie\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"Lista rozszerzeń plików, których nie należy buforować (np. \\\".m3u8\\\"), po jednym na linię. Pozostaw puste dla braku.\",\"m2l8c3\":\"Lista rozszerzeń plików do pamięci podręcznej (na przykład „.html”), po jednym w wierszu. Pozostaw puste, aby buforować wszystkie typy plików.\",\"QYw6tl\":\"Lista zakresów IP w notacji CIDR, na przykład 127.0.0.1/32, których statystyki nie będą rejestrowane - jeden zakres IP na linię. Pozostaw puste, aby zapisać wszystkie sesje.\",\"ELFO4F\":\"Rozmiar listy (segmenty)\",\"D0Nwch\":\"Transmisja strumieniowa na żywo w celu obsługi usługi Live RTMP.\",\"n2VKys\":\"Przesyłanie strumieniowe na żywo do usługi Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Transmisja strumieniowa na żywo do usługi Media Network RTMP.\",\"w9zSAv\":\"Transmisja na żywo do usługi PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Przesyłanie strumieniowe na żywo do usługi Trovo Live RTMP.\",\"JJGagy\":\"Transmisja na żywo w usłudze RTMP Twitch Live.\",\"4TnPVp\":\"Transmisja na żywo w usłudze Vimeos RTMP Live\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Poziom dziennika\",\"x7PDL5\":\"Zapis\",\"z0t9bb\":\"Zaloguj\",\"+fL+Rj\":[\"Połączenie nie powiodło się: \",[\"0\"]],\"4cd7gw\":\"Połączenie nie powiodło się: nie udało się wczytać szczegółów interfejsu API\",\"sNqu7k\":\"Zezwolenie na logowanie/JWT\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Wyloguj\",\"DYX2fZ\":\"Pętla\",\"SzaPTL\":\"Normalizacja głośności\",\"QGvS9k\":\"Niskie opóźnienie (bufor)\",\"GaV7al\":\"Kanał główny\",\"Wsn0Uw\":\"Nie znaleziono głównego kanału\",\"tROIde\":\"Kanał główny zapisany\",\"nLVSux\":\"Kanał strony głównej (index.html).\",\"rd3Pv7\":\"Główne Źródło\",\"f4txA1\":\"Opiekun:\",\"3iTz2L\":\"Udostępnij kanał jako strumień RTMP (eksperymentalnie).\",\"mMiku6\":\"Udostępnij kanał jako strumień SRT (eksperymentalnie).\",\"6dZ9NS\":\"Zaznaczone ramki\",\"iuA3xD\":\"Główna lista odtwarzania (zwiększa kompatybilność z przeglądarką/klientem)\",\"WBpxnA\":\"Maksymalny dozwolony rozmiar pamięci podręcznej, 0 nieograniczony.\",\"NzaPGT\":\"Maksymalna dozwolona liczba megabajtów pamięci RAM dla /memfs, 0 oznacza nieograniczoną liczbę.\",\"aaso5s\":\"Maksymalna dopuszczalna liczba megabajtów na dysku twardym. 0 dla nieograniczonego.\",\"4hp5D2\":\"Maksymalna przepustowość Mbit/s\",\"L+uBOR\":\"Maksymalne opóźnienie w milisekundach.\",\"hkoCqq\":\"Maksymalny rozmiar pliku (megabajty)\",\"i96JfZ\":\"Taille maximale du fichier à mettre dans le cache.\",\"Q9HspI\":\"Maksymalny dziennik historii\",\"bS9ZHz\":\"Maksymalna liczba wierszy dziennika\",\"6sayfE\":\"Maksymalny rozmiar (MegaBajty)\",\"09BWQO\":\"Maksymalny czas bezczynności przeglądarki (sekundy)\",\"hW0DV1\":\"Maksymalna liczba widzów\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Pamięć\",\"KReOHe\":\"Limit pamięci (megabajty)\",\"fViWSz\":\"Limit użycia pamięci w megabajtach, 0 dla nieograniczonego.\",\"emJ6M7\":\"Informacje Meta\",\"6GBt0m\":\"Metadane\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", domyślnie \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Pleśń\",\"QA/rur\":\"Więcej informacji o licencjach tutaj\",\"fyGu1l\":\"Dowiedz się więcej o usłudze\",\"yBsv2n\":\"Więcej informacji na temat praw autorskich Twittera <0>tutaj.\",\"ZpfAc9\":\"Więcej informacji o prawach autorskich w YouTube <0>tutaj.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Musi być większy niż maksymalny rozmiar pliku w cache.\",\"gC9RIS\":\"Musi być mniejszy niż maksymalny rozmiar cache.\",\"R7SsBE\":\"Wycisz\",\"K0rCAk\":\"Wyciszenie kanału.\",\"Jv/kid\":\"Wyciszenie w lewo\",\"FsCP6P\":\"Wyciszenie w prawo\",\"6YtxFj\":\"Nazwa\",\"0ZkQqR\":\"Nazwa modelu. Jeśli nazwa już istnieje, zostanie nadpisana.\",\"OR475H\":\"Sieć\",\"KZDcDr\":\"Źródło sieciowe\",\"hXzOVo\":\"Następny\",\"JZrXI6\":\"Następny: Dźwięk\",\"kZFy+Q\":\"Dalej: Konfiguracja wideo\",\"1UzENP\":\"Nie\",\"p6Fxed\":\"Bez dźwięku\",\"bIDO3H\":\"Brak dostępnych strumieni audio\",\"nn9C5B\":\"Brak dostępnego urządzenia wejściowego\",\"dEwhMr\":\"Nie wykryto transmisji na żywo. Sprawdź oprogramowanie wysyłające strumień.\",\"1FJdZA\":\"Nie wybrano źródła\",\"3TfuWb\":\"Brak dostępnego źródła\",\"fiXA/y\":\"Nie znaleziono odpowiedniego enkodera.\",\"acY4BT\":\"Nie znaleziono odpowiedniego filtra.\",\"/02FxK\":\"Brak wideo\",\"AVWnC9\":\"Brak dostępnych strumieni wideo\",\"wZ7CK3\":\"Identyfikator węzła\",\"9J5l/O\":\"Dźwięk\",\"EdQY6l\":\"Żaden\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notatki\",\"/a9y2d\":\"Liczba wierszy dziennika do zachowania.\",\"ZD0urA\":\"Liczba dzienników do przechowywania dla każdego procesu.\",\"Aia5w3\":\"Liczba sekund, przez które limity mogą zostać przekroczone.\",\"1lZb7D\":\"Liczba kolumn kafelków do zakodowania.\",\"InpHMl\":\"Liczba kafelków kodowanych za pomocą.\",\"wnRD5D\":\"Liczba wierszy kafelków do zakodowania.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Jedna strona odsyłająca w wierszu, na przykład http://www.domena.com.\",\"1TNIig\":\"Otwórz\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Bufor wyjściowy\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Passphrase dla szyfrowania SRT.\",\"fpQo1i\":\"Passphrase musi mieć długość od 10 do 79 znaków\",\"3GZXaB\":\"Przekazywanie (kopiowanie) powinno być wyłączone tylko w razie potrzeby. Każde kodowanie wymaga dodatkowych zasobów procesora/GPU.\",\"8ZsakT\":\"Hasło\",\"b+AuuK\":\"Hasło do autoryzacji.\",\"oREnCY\":\"Hasło do urządzenia.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Trwałość statystyk oglądających\",\"ANX1b0\":\"różowy\",\"c8aBfM\":\"Proporcje pikseli\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Schemat: <0>Starter\",\"Ejic1p\":\"Platformy\",\"gtQk6c\":\"Odczyt\",\"vRayGs\":\"Player\",\"tWB9Gz\":\"Zapis ustawień odtwarzacza\",\"GIxxiU\":\"Adres URL Playera\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Lista odtwarzania\",\"luDqS5\":\"Wersja playlisty (M3U8). Wersja 3 ma najlepszą kompatybilność z przeglądarką/klientem.\",\"84gH7g\":\"Sprawdź <0>Dziennik procesów.\",\"OMpKNS\":\"Skontaktuj się z operatorem serwisu i sprawdź co się dzieje.\",\"4lATxE\":\"Wprowadź swój adres e-mail, aby wyrazić zgodę na warunki korzystania z usługi Let's Encrypt CA i otrzymywać powiadomienia w przypadku problemów.\",\"bdMiXb\":\"Proszę skontaktować się z operatorem serwisu i sprawdzić co się dzieje.\",\"wPZBpR\":\"Wybierz plik do przesłania.\",\"YcGRmx\":\"Jeśli to możliwe, użyj opcji \\\"Przekazywanie (kopiowanie)”. Kodowanie wymaga dodatkowych zasobów procesora/GPU.\",\"06qnxB\":\"Proszę czekać. Dane przepływu sondy...\",\"FTIPkL\":\"Proszę czekać. Konfiguracja strumienia...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Pozycja\",\"d62Stt\":\"Plakat\",\"PNap/Y\":\"Adres URL obrazu plakatu\",\"6o2Onc\":\"Zaprogramowane\",\"lxxyq5\":\"Główny stream\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Przebieg\",\"DL/nrw\":\"Kontrola procesu\",\"fzYV2N\":\"Szczegóły procesu\",\"zNVLia\":\"Raport z procesu\",\"PwMwvX\":\"Przetwarzanie i kontrola\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokół\",\"hEksWI\":\"Protokoły\",\"aLZh9m\":\"Domena(y) publiczna(e)\",\"7lbVwY\":\"Nie znaleziono usługi wydawniczej\",\"ia1vIb\":\"Tworzenie kopii zapasowej ustawień witryny publikacji\",\"XHw75Y\":\"Publikacje\",\"dsOSCf\":\"Tryb ciągnięcia\",\"lQQ/zA\":\"Pobierz lub odbierz dane:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Jakość\",\"i9d+3B\":\"Kamera Raspberry Pi\",\"tbXj/A\":\"Kontrola szybkości\",\"iaocTt\":\"Ratio\",\"WnSPyE\":\"rav1e Parametry\",\"6PpdQP\":\"Odtwarzaj dane wejściowe z natywną prędkością\",\"bqsSkO\":\"Tryb odbioru\",\"gcoiFh\":\"Połączyć ponownie\",\"lakzvL\":\"Limit czasu ponownego połączenia (sekundy)\",\"HC1Dci\":[\"Połącz ponownie za \",[\"0\"],\"s\"],\"uSDaLA\":[\"Ponowne połączenie z Restreamer Core nie powiodło się w ciągu ostatnich \",[\"RETRIES\"],\" sekund.\"],\"N7ojfh\":\"Nie udało się ponownie połączyć z Restreamer Core.\",\"lCF0wC\":\"Odśwież\",\"uJ+Ve2\":\"Region\",\"CNipTv\":\"Rejestracja uzytkownika\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Odnów\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Usuń najstarsze wpisy, jeśli folder /memfs jest pełny\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Wymaga aktywacji\",\"XMbkus\":\"Resetuj logo\",\"36SXzE\":\"Reset plakatu\",\"6z9W13\":\"Uruchom ponownie\",\"dKwnjv\":\"Wymagane jest ponowne uruchomienie\",\"0Er6+M\":\"Uruchom ponownie\",\"X1sT1j\":\"Uruchom ponownie Restreamer Core ...\",\"o5q6jb\":\"Ponowne uruchomienie aplikacji nie powiodło się.\",\"x8cAsq\":\"Instrukcje Restreamera\",\"24fLVm\":\"Usługa Restreamer\",\"LCGjV4\":\"Pobieranie danych strumienia ...\",\"6gRgw8\":\"Spróbuj ponownie\",\"Qe1vaN\":\"Wzór testowy RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Obrót\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplikacja RTMP do publikacji.\",\"7ggERB\":\"Wyjście RTMP\",\"V82lE+\":\"Port RTMP\",\"itARjB\":\"Serwer RTMP\",\"WWZqzz\":\"Serwer RTMP nie jest włączony\",\"HhOPCL\":\"Adres nasłuchiwania serwera RTMP.\",\"DbHOhO\":\"Token RTMP do publikowania i odtwarzania. Token jest wartością parametru zapytania adresu URL \\\"token”.\",\"OAZeFE\":\"RTMPS Port\",\"Wt/wFL\":\"Serwer RTMPS\",\"xwonDv\":\"Adres nasłuchu serwera RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Reguła\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Próbowanie\",\"tfDRzk\":\"Zapisz\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Skala\",\"6aaceW\":\"Wielkość skali\",\"xbb037\":\"Sekundy na przechowywanie plików w pamięci podręcznej.\",\"geM4Wc\":\"Sekundy do ponownego uruchomienia procesu.\",\"iF7dnC\":\"Sekundy do zakończenia zablokowanego procesu.\",\"mydmGn\":\"Sekundy do zaktualizowania migawki/miniaturki źródła wideo.\",\"a3LDKx\":\"Bezpieczeństwo\",\"Gkr6zI\":\"Token bezpieczeństwa\",\"/Ocrtf\":\"Kolor paska wyszukiwania (Seekbar)\",\"4lDlYf\":\"Długość segmentu (sekundy)\",\"XfNrg+\":\"Po upływie tego opóźnienia segment zostanie wycięty w następnej klatce kluczowej. Zalecana jest wartość 2.\",\"jHCoDy\":\"Segmentacja\",\"htbsw4\":\"Wybierz urządzenie:\",\"O+ruJ3\":\"Wybierz źródło dźwięku:\",\"6MTTpq\":\"Wybierz RTMP lub SRT (jeśli jest włączony), aby zmniejszyć opóźnienia.\",\"E7haRr\":\"Wybierz źródło ...\",\"PlZ1aw\":\"Wybierz źródło wideo:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Wybierz ustawienia kodowania:\",\"aT3o8A\":\"Wybierz ustawienia filtra (opcjonalnie):\",\"ylXj1N\":\"Wybrany\",\"kYpw4+\":\"Wybrany kanał\",\"p7/fS2\":\"Wybór\",\"SOePwi\":\"Wysyłaj anonimowe dane (pomaga nam w przyszłym rozwoju)\",\"kOhBl+\":\"Wyślij strumień na adres ...\",\"E1X5xY\":\"Wyślij stream na ten adres:\",\"d/IMf3\":\"Wyślij wideo do Framebuffer\",\"sGH11W\":\"Serwer\",\"9rG25a\":\"URL serwera\",\"T3bXxK\":\"Usługa\",\"KPPdUO\":\"Nazwa serwisu\",\"DOrSw/\":\"Token serwisowy do monitorowania.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sesje\",\"xwK3ty\":\"Ustawia konfigurację rav1e przy użyciu listy parametrów klucz=wartość rozdzielonej :-ami.\",\"FIIk8R\":\"Ustawia limit przepustowości w Mbit na sekundę dla wychodzącego transferu danych HLS. Wszystkie usługi, takie jak RTMP i procesy wychodzące, są uwzględniane w kalkulacji. W przypadku przekroczenia przepustowości przeglądarki HLS otrzymują kod stanu HTTP 509 (Przekroczono limit przepustowości). 0 jest nieograniczone.\",\"cOG/FK\":\"Ustawia limit oglądania dla sesji HLS. W przypadku przekroczenia limitu przeglądarki HLS otrzymują kod stanu HTTP 509 (przekroczono limit przepustowości). Wartość 0 jest nieograniczona.\",\"mcJFKm\":\"Parametr połączenia serwisowego.\",\"Tz0i8g\":\"Ustawienia\",\"IiOZ6R\":\"Parametry (tryb eksperta)\",\"t64OSP\":\"Parametry ścieżki /data. Dostęp jest chroniony przez\",\"Ytdvyh\":\"Parametry ścieżki /memfs.\",\"1w3lYe\":\"Ustawienia zostały zapisane. Wszystkie zmiany zostaną zastosowane po ponownym uruchomieniu aplikacji.\",\"XUw3i9\":\"Przycisk udostępniania\",\"oD0Oes\":\"Wyświetla odniesienie do projektu.\",\"+vv4q2\":\"Zarejestruj się (bezpłatnie)\",\"JXVFAm\":\"Cisza\",\"VSK9FJ\":\"Wycisz Dźwięk\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nazwa Strony\",\"Cj2Gtd\":\"Rozmiar\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Social-login (OAuth2, 2FA)\",\"qe9jaI\":\"Limit czasu dla gniazd (mikrosekundy)\",\"bRN5nm\":\"Oprogramowanie\",\"wdxz7K\":\"Źródło\",\"sywlQb\":\"Źródło i kodowanie\",\"l9wI00\":\"Prędkość\",\"vdhBFK\":\"Wstępne ustawienie prędkości\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Wyjście SRT\",\"YqnAto\":\"Serwer SRT\",\"k6hpqB\":\"Serwer SRT nie jest włączony\",\"SzqwHY\":\"Adres nasłuchu serwera SRT.\",\"KwbjpB\":\"SRT token do publikowania i odtwarzania. Token jest wartością parametru streamid 'token'.\",\"Aj28wT\":\"Limit czasu (sekundy)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statystyki\",\"BrrIs8\":\"Magazynowanie\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Przechowuje statystyki oglądających na dysku.\",\"hou0tP\":\"Stream\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Klucz strumienia\",\"bqiH5R\":\"Stream Key\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nazwa streamu\",\"eXELiS\":\"Nazwy stream\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Źródło strumienia dla usługi publikacji (eksperymentalne).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Adres URL streamu\",\"+fVH0Y\":\"Wsparcie datarhei Restreamer\",\"5HSoct\":\"Obsługuje HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT i inne.\",\"D+NlUC\":\"System\",\"jkuW2z\":\"Adres celu\",\"/K2CvV\":\"Wygłąd\",\"2Ivkf/\":\"Szablon do wykorzystania przy tworzeniu strony internetowej publikacji. Przycisk Usuń usuwa zaznaczenie z systemu.\",\"4Y5H+g\":\"Warunki\",\"tRNH6x\":\"Wzór testu\",\"EtlVOt\":\"Wzór testu (rozszerzony)\",\"wGPolR\":\"Kolory tekstu\",\"m0TUJj\":\"Rozległość (0,0–1,0) generowanego strumienia audio\",\"8C6xwe\":\"Aplikacja korzysta ze starej wersji ustawień.\",\"VPQVR2\":\"Dostępne binarki FFmpeg nie obsługują żadnego z wymaganych protokołów.\",\"Gx9PPK\":\"Szybkość transmisji strumienia audio.\",\"T2kk3f\":\"Częstotliwość nośna\",\"JAOLK8\":[\"Nie można usunąć kanału \\\"\",[\"0\"],\"”\"],\"jNaBhy\":[\"Kanał \\\"\",[\"0\"],\"” został usunięty\"],\"SD8pYJ\":\"Usunięcia tego kanału nie można odzyskać. Wszystkie posty w tym kanale zostaną usunięte.\",\"bnkV//\":\"Profil wpisu nie jest kompletny. Ustaw źródło wideo i audio.\",\"wCYjmB\":\"Profil wejściowy nie jest kompletny. Zdefiniuj źródło wideo i/lub audio.\",\"JMaqWu\":\"Układ strumienia audio.\",\"0dqo+p\":\"Maksymalna liczba segmentów na liście odtwarzania. 0 będzie zawierało wszystkie segmenty. 6 jest zalecane.\",\"BDgbiW\":\"Kolor szumu\",\"SxGu7I\":\"Osoba, która powiązała utwór z tym aktem, przekazała utwór do domeny publicznej, zrzekając się wszystkich praw do utworu na całym świecie zgodnie z prawem autorskim, w tym wszystkich praw pokrewnych i praw sąsiadów, w zakresie dozwolonym przez prawo. Możesz kopiować, modyfikować, rozpowszechniać i wykonywać pracę, nawet w celach komercyjnych, bez pytania o pozwolenie.\",\"XISvrq\":\"Publiczna nazwa domeny hosta, na którym działa ten Restreamer. Poszczególne nazwy domen oddziel przecinkami.\",\"yt3d3G\":[\"Nie można usunąć usługi publikowania \\\"\",[\"0\"],\"”.\"],\"zYcO/c\":[\"Usługa publikowania \\\"\",[\"0\"],\"” została utworzona.\"],\"AQE+oz\":[\"Usługa publikowania \\\"\",[\"0\"],\"” została usunięta.\"],\"qVLWvp\":\"Powstał serwis wydawniczy\",\"njj2Wn\":\"Wyjście RTMP wymaga serwera RTMP.\",\"WRxiP8\":\"Częstotliwość próbkowania strumienia audio.\",\"/pZjRr\":\"Wybrany plik jest zbyt duży (<0/>). Dozwolone są tylko <1/>.\",\"VBaSn9\":[\"Wybrany typ pliku (\",[\"0\"],\") jest niedozwolony. Dozwolone typy plików to \",[\"1\"]],\"fM410X\":[\"Ustawienia dla \\\"\",[\"0\"],\"” zostały zapisane.\"],\"02ii2e\":\"Źródło nie zapewnia strumienia audio.\",\"+2cAEU\":\"Źródło nie zapewnia strumienia audio. Sprawdź <0>szczegóły sondy.\",\"pfqmY7\":\"Źródło nie zapewnia kompatybilnego strumienia audio.\",\"VO9KeK\":\"Źródło nie zapewnia kompatybilnego strumienia wideo. Sprawdź <0>wymagania.\",\"007foU\":\"Źródło nie zapewnia strumienia wideo. Sprawdź <0>szczegóły sondy.\",\"lAsMdV\":\"Źródło nie zapewnia strumienia wideo. Sprawdź urządzenie.\",\"XlnvcR\":\"Wyjście SRT wymaga serwera SRT.\",\"w6uuIE\":\"Źródło wideo nie zapewnia kompatybilnego strumienia audio. Zalecana jest <0>wyciszenie dźwięku. Usługi takie jak YouTube, Facebook i Spółka wymagają kanału audio.\",\"YJJ2RL\":\"Źródło wideo jest kompatybilne. Wybierz żądaną rozdzielczość:\",\"wEiZHy\":\"Dostępne są aktualizacje. Tutaj uzyskasz więcej informacji.\",\"4p1MgS\":\"Podczas zapisywania ustawień wystąpił problem. Ustawienia nie zostały zapisane.\",\"YJhhwT\":[\"Wystąpił błąd podczas łączenia z Restreamer Core o \",[\"0\"],\".\"],\"q42VsF\":[\"Wystąpił błąd podczas pobierania: \",[\"0\"]],\"HM96PJ\":\"Wystąpił błąd podczas konfigurowania strumienia.\",\"LoDP+Y\":\"Wystąpiły błędy w ustawieniach. Ustawienia nie zostały zapisane.\",\"l92ZKN\":\"Nie ma dostępnej metody połączenia.\",\"cPKuc8\":\"Jest to fikcyjna usługa, która wyjaśnia Ci koncepcje usługi.\",\"Ku8nyu\":\"Niekoniecznie jest to błąd. Jednak ponowne uruchomienie Restreamer Core może potrwać nieco dłużej...\",\"vCRP3w\":\"Ma to na celu wspomnieć o zasadach dotyczących praw autorskich dla celu tej usługi.\",\"Hx7k3c\":\"Ta licencja umożliwia ponownemu użytkownikowi kopiowanie i rozpowszechnianie materiału w dowolnym medium lub formacie, wyłącznie w nieodpowiedniej formie, pod warunkiem, że twórca zostanie potwierdzony. Licencja pozwala na wykorzystanie komercyjne.\",\"6OeMYB\":\"Niniejsza licencja umożliwia ponownemu kopiowaniu i rozpowszechnianiu materiału w dowolnym medium lub formacie, wyłącznie w nieodpowiedniej formie, do celów niekomercyjnych i pod warunkiem, że twórca zostanie potwierdzony.\",\"TUuhsB\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie wyłącznie do celów niekomercyjnych, pod warunkiem uznania autora za twórcę.\",\"kVtKRl\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie wyłącznie do celów niekomercyjnych, pod warunkiem uznania autora za twórcę. Jeśli remiksujesz, adaptujesz lub rozszerzasz materiał, musisz licencjonować zmodyfikowany materiał na identycznych warunkach.\",\"FpX5mp\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie, pod warunkiem, że twórca zostanie potwierdzony. Licencja pozwala na wykorzystanie komercyjne.\",\"SDvwLd\":\"Ta licencja umożliwia ponownemu użytkownikowi rozpowszechnianie, remiksowanie, adaptowanie i używanie materiału w dowolnym medium lub formacie, pod warunkiem, że twórca zostanie potwierdzony. Licencja pozwala na wykorzystanie komercyjne. Jeśli remiksujesz, adaptujesz lub rozszerzasz materiał, musisz licencjonować zmodyfikowany materiał na identycznych warunkach.\",\"H144rX\":\"Ten protokół jest nieznany lub nie jest obsługiwany przez dostępne binarki FFmpeg.\",\"nlOxxw\":\"Tego źródła nie można edytować podczas używania. Aby kontynuować, musisz odłączyć źródło.\",\"mbSyrG\":[\"Ta wersja interfejsu użytkownika nie obsługuje dostępnego pliku binarnego FFmpeg (\",[\"0\"],\"). Interfejs użytkownika wymaga \",[\"1\"],\". Użyj obsługiwanego pliku binarnego FFmpeg.\"],\"N/tTgz\":[\"Ta wersja interfejsu użytkownika nie obsługuje podłączonego Core (\",[\"0\"],\"). Interfejs użytkownika wymaga \",[\"1\"],\". Użyj zgodnej wersji interfejsu użytkownika.\"],\"2Vq5tr\":\"Ta wersja interfejsu użytkownika jest zgodna.\",\"QxX9Z5\":\"Próg (sekundy)\",\"sNmspt\":\"Kolumny z płytkami\",\"sYGp2E\":\"Rzędy płytek\",\"wbOpwP\":\"Płytki\",\"H59P7E\":\"Czas, po którym nieaktywne połączenie widza jest traktowane jako zamknięte.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Aby ustabilizować system, zwiększ długość segmentu HLS dla interwału klatek kluczowych o 2-3 * (Processing and Control).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Górne pole\",\"7mjsuh\":\"Przekazuj Livestream na kanał Telegram.\",\"Gxlq7L\":\"Przesyłaj migawki z podstawowego źródła do serwera HTTP/S. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"SdyhUl\":\"Przesyła kanał audio z głównego źródła do serwera Icecast. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"MayU3b\":\"Prześlij główne źródło jako HTTP-Live-Streaming (HLS) do serwera HTTP/S. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"3K8kpL\":\"Prześlij główne źródło w MPEG-DASH do serwera HTTP/S. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"P/J230\":\"Prześlij główne źródło do usługi Brightcove Live. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"u0MhFy\":\"Prześlij główne źródło do usługi CDN77 RTMP. Więcej informacji o konfiguracji <0>tutaj.\",\"zkgT7c\":\"Prześlij główne źródło do usługi DaCast RTMP. Więcej informacji o konfiguracji <0>tutaj.\",\"in9xJz\":\"Przekaż źródło podstawowe do datarhei Core Ressource. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"PcgwEU\":\"Przekaż główne źródło do Ressource livespotting.com. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"D7jwpf\":\"Prześlij główne źródło do usługi MPEG-TS. Więcej informacji na temat ustawień znajdziesz tutaj <0>tutaj.\",\"SpSgUV\":\"Prześlij główne źródło do serwera Red5/Pro. Więcej szczegółów na temat ustawień znajdziesz <0>tutaj.\",\"lIpqI/\":\"Prześlij główne źródło do serwera RTMP(e|s|t|te|ts). Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"pqR6nq\":\"Prześlij główne źródło do serwera RTSP. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"Q4dSnZ\":\"Prześlij główne źródło do serwera SRT. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"fx9S4p\":\"Prześlij źródło podstawowe do serwera UDP. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"GLXY2N\":\"Prześlij główne źródło do serwera WOWZA. Więcej szczegółów na temat ustawień znajdziesz <0>tutaj.\",\"AsMKFi\":\"Prześlij podstawowe źródło do usługi Akamai (MSL) Media Services Live. Więcej szczegółów na temat ustawień kodera MSL można znaleźć <0>tutaj.\",\"FB364G\":\"Prześlij główne źródło do usługi Livepush RTMP. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"CC9yS5\":\"Prześlij główne źródło do usługi Nimo TV RTMP. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"fP8ZYg\":\"Prześlij główne źródło do usługi Picarto TV RTMP. Więcej szczegółów na temat ustawień można znaleźć <0>tutaj.\",\"D9A0LK\":\"Prześlij główne źródło do usługi Restream RTMP. Więcej szczegółów na temat parametrów znajdziesz <0>tutaj.\",\"YL800g\":\"Przekazać do usługi Azure Media Services. Więcej szczegółów można znaleźć <0>tutaj.\",\"Abgy4c\":\"Przekazać na LinkedIn. Więcej szczegółów można znaleźć <0>tutaj.\",\"dhCZoS\":\"Prześlij swój Livestream do usługi Dailymotion RTMP. <0>Tutaj znajdziesz więcej szczegółów na temat ustawień.\",\"tQNclD\":\"Prześlij swój Livestream do usługi Kick.com RTMP. <0>Tutaj znajdziesz więcej szczegółów na temat ustawień.\",\"mQ0sjr\":\"Prześlij swój Livestream na serwer Owncast. <0>Tutaj znajdziesz więcej szczegółów dotyczących ustawień.\",\"AqYRa3\":\"Prześlij swój Livestream do usługi Rumble RTMP. <0>Tutaj znajdziesz więcej szczegółów na temat ustawień.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Przesyła strumień wideo z wymaganym kluczem, który został wygenerowany w programie Twitter Producer. Więcej informacji na temat konfigurowania transmisji na żywo można znaleźć na stronie <0>Producent Twittera.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Transport UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Nie udało się wczytać konfiguracji.\",\"MWrgON\":\"Unikalny identyfikator w usłudze.\",\"Ef7StM\":\"Nieznany\",\"wiIpKZ\":\"Nieznany błąd przesyłania\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Nie zaznaczone\",\"j9zg7e\":\"Szczegóły aktualizacji (Changelog)\",\"ONWvwQ\":\"Upload\",\"OXItQT\":[\"Prześlij plik audio (\",[\"0\"],\"), aby go zapętlić.\"],\"75yxb7\":[\"Prześlij obraz lub plik wideo (\",[\"0\"],\"), aby go zapętlić.\"],\"iAkPTY\":\"Przesyłanie pliku nie powiodło się\",\"Jmy6pK\":\"Nie udało się pobrać logo\",\"xl1xFp\":\"Przesyłanie plakatu nie powiodło się\",\"TjrbDj\":\"Czas operacyjny\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Użyj Auth0 dla działającego Restreamera Core. Więcej <0>szczegółów.\",\"JX4TqK\":\"Użyj kreatora (<0/>) do szybkiej i łatwej konfiguracji lub edytuj (<1/>) źródła bezpośrednio w trybie niestandardowym.\",\"YYTBz0\":\"Wykorzystaj swoje prawa autorskie i wybierz odpowiednią licencję na obraz. Bez względu na to, czy jest darmowy dla wszystkich, czy mocno ograniczony. Krótko omów, co inni mogą zrobić z Twoim wizerunkiem.\",\"2UPEb1\":\"Wykorzystaj swoje prawa autorskie i wybierz odpowiednią licencję na obraz. Niezależnie od tego, czy jest to licencja bezpłatna, czy bardzo ograniczona. Krótko omów, co inni mogą zrobić z Twoim wizerunkiem.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Rejestracja Użytkownika\",\"7sNhEz\":\"Login\",\"Gv3pbp\":\"Nazwa użytkownika do autoryzacji.\",\"RQSvXZ\":\"Nazwa użytkownika urządzenia.\",\"zze3B5\":\"V4L2_M2M jest eksperymentalny.\",\"PvM7Yi\":\"Zmienna częstotliwość odświeżania (VFR)\",\"hpBTpL\":\"aksamitny\",\"uIAsxu\":\"Przerzucanie pionowe\",\"vSJd18\":\"Wideo\",\"auaWhL\":\"Urządzenie wideo\",\"/skRGV\":\"Ustawienia wideo\",\"EzOjvB\":\"Konfiguracja wideo\",\"QcQXbU\":\"Źródło wideo\",\"M/TIv1\":\"Widzów\",\"L2hKw+\":\"fioletowy\",\"hA6FFn\":\"Wirtualne źródło\",\"/cF7Rs\":\"Głośność\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Polecamy OpenMAX IL dla Raspberry PI (3/4) z 32-bitowym systemem operacyjnym.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Witamy w Restreamer v2, rozwiązanie do szybkiego i łatwego publikowania filmów. Bezpłatnie do użytku prywatnego i komercyjnego. Więcej pomocy w <0>dokumentacji.\",\"hJfWkA\":\"Jakiego ustawienia prędkości użyć.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Gdzie ma być przechowywana playlista HLS i segmenty. Zalecane jest In-Memory.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"biały\",\"aFWU1n\":\"Szerokośc\",\"e0wV2Y\":\"Ochrona przed zapisem\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Tak\",\"WPUsOF\":\"Nie można przerwać kreatora, ponieważ należy zdefiniować co najmniej jeden wpis.\",\"qwY9F9\":\"Zmieniłeś konfigurację. Aby zmiany odniosły skutek, musisz ponownie uruchomić aplikację. Czy chcesz teraz ponownie uruchomić?\",\"nxq2ni\":\"Musisz ponownie połączyć się ręcznie\",\"RM3CEc\":\"Masz niezapisane zmiany. Utwórz ich kopię zapasową, zanim będziesz mógł ponownie kontrolować usługę.\",\"/cg7qS\":\"Twój strumień musi być zakodowany, ale nie jest dostępny odpowiedni koder.\",\"BwrOm6\":\"Twój strumień musi być zakodowany. Wybierz żądany koder:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Tabela testowa YUV\"}")}; \ No newline at end of file diff --git a/src/locales/pl/messages.po b/src/locales/pl/messages.po index b693517..a881360 100644 --- a/src/locales/pl/messages.po +++ b/src/locales/pl/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Lista kompatybilności" msgid "<0>Show probe details" msgstr "<0>Pokaż szczegóły sondy" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Przejdź do interfejsu docelowego Restreamera." @@ -76,11 +76,16 @@ msgstr "Anuluj" msgid "About" msgstr "O nas" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Dźwięk" @@ -302,10 +311,6 @@ msgstr "Autor" msgid "Authorization" msgstr "Uprawnienie" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Automatycznie" @@ -322,10 +327,6 @@ msgstr "Automatyczne odtwarzanie (Autoplay)" msgid "Available" msgstr "Dostępne na" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Czas buforowania (w sekundach)" msgid "Cache types" msgstr "Rodzaje buforu" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Kawałek" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Kolor" msgid "Command" msgstr "Polecenie" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Config" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Urządzenie podłączone " msgid "Connected since <0/>" msgstr "Zalogowany od " -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Zalogowany ..." @@ -616,15 +618,19 @@ msgstr "Tryb stałego kwantyzatora (od -1 do 255)." msgid "Content" msgstr "Zawartość" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL treści" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Limit CPU (w procentach)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Limit użycia procesora w procentach (0-100%), 0 dla nieograniczonego." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Tryb Deinterlace" msgid "Deinterlace parity" msgstr "Deinterlace parity" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Limit czasu" @@ -851,14 +841,6 @@ msgstr "Usunięcia usługi publikowania nie można cofnąć. Publikowanie zatrzy msgid "Delivering mode" msgstr "Sposób dostawy" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Wyloguj" msgid "Disconnect & Continue" msgstr "Odłącz i kontynuuj" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDYTUJ: Odtwarzacz" msgid "EDIT: Publication Website" msgstr "EDIT: Witryna publikacji" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Email" msgid "Embed" msgstr "Integruj" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Kodowanie" msgid "Encryption" msgstr "Szyfrowanie" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Wpisz nazwę nowego kanału." @@ -1101,12 +1099,12 @@ msgstr "Błąd" msgid "Error while copying data to clipboard" msgstr "Błąd podczas kopiowania danych do schowka" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Błąd: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Ścieżka pliku" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filtr" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Główny" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Google Analytics Tracker Name" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Urządzenie sprzętowe" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Wyróżniony" msgid "Height" msgstr "Wysokośc" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Statystyki HLS dotyczące przechowywania w pamięci" msgid "Horizontal Flip" msgstr "Przerzucanie poziome" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Interfejs hostowany przez Restreamer" @@ -1438,8 +1429,8 @@ msgstr "Port HTTPS" msgid "Human readable name on the service." msgstr "Nazwa czytelna dla człowieka w usłudze." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Niezgodny" msgid "Inherit" msgstr "Odziedziczony od" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Wstrzyknij 1" @@ -1527,6 +1514,14 @@ msgstr "Wstrzyknij 3" msgid "Inject 4" msgstr "Wstrzyknij 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Odstęp między klatkami kluczowymi (sekundy)" msgid "Layout" msgstr "Układ" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Certyfikat Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Transmisja na żywo w usłudze RTMP Twitch Live." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Transmisja na żywo w usłudze Vimeos RTMP Live" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "Normalizacja głośności" msgid "Low latency (Buffer)" msgstr "Niskie opóźnienie (bufor)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Kanał główny" @@ -1848,6 +1843,10 @@ msgstr "Metadane" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, domyślnie {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Pleśń" @@ -1870,7 +1869,7 @@ msgstr "Więcej informacji na temat praw autorskich Twittera <0>tutaj." msgid "More about YouTube's copyright <0>here." msgstr "Więcej informacji o prawach autorskich w YouTube <0>tutaj." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Bez dźwięku" msgid "No audio stream available" msgstr "Brak dostępnych strumieni audio" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Brak dostępnego urządzenia wejściowego" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Nie wykryto transmisji na żywo. Sprawdź oprogramowanie wysyłające strumień." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Nie wybrano źródła" @@ -1989,7 +1972,7 @@ msgstr "Nie znaleziono odpowiedniego enkodera." msgid "No suitable filter found." msgstr "Nie znaleziono odpowiedniego filtra." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Brak wideo" @@ -1998,10 +1981,6 @@ msgstr "Brak wideo" msgid "No video stream available" msgstr "Brak dostępnych strumieni wideo" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Identyfikator węzła" @@ -2052,10 +2031,6 @@ msgstr "Liczba kafelków kodowanych za pomocą." msgid "Number of tiles rows to encode with." msgstr "Liczba wierszy kafelków do zakodowania." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Jedna strona odsyłająca w wierszu, na przykład http://www.domena.com. msgid "Open" msgstr "Otwórz" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Bufor wyjściowy" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Hasło do urządzenia." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Lista odtwarzania" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Wersja playlisty (M3U8). Wersja 3 ma najlepszą kompatybilność z przeglądarką/klientem." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Sprawdź <0>Dziennik procesów." @@ -2309,16 +2284,9 @@ msgstr "Zaprogramowane" msgid "Primary stream" msgstr "Główny stream" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Przebieg" msgid "Process control" msgstr "Kontrola procesu" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Szczegóły procesu" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protokół" msgid "Protocols" msgstr "Protokoły" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Domena(y) publiczna(e)" @@ -2437,6 +2401,10 @@ msgstr "Tryb ciągnięcia" msgid "Pull or recieve the data:" msgstr "Pobierz lub odbierz dane:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Połączyć ponownie" msgid "Reconnect delay (seconds)" msgstr "Limit czasu ponownego połączenia (sekundy)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Region" msgid "Register user" msgstr "Rejestracja uzytkownika" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Usuń najstarsze wpisy, jeśli folder /memfs jest pełny" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Instrukcje Restreamera" msgid "Restreamer Service" msgstr "Usługa Restreamer" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Pobieranie danych strumienia ..." @@ -2618,15 +2578,15 @@ msgstr "Spróbuj ponownie" msgid "RGB test pattern" msgstr "Wzór testowy RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Obrót" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Reguła" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Skala" msgid "Scale size" msgstr "Wielkość skali" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Sekundy na przechowywanie plików w pamięci podręcznej." @@ -2778,10 +2738,6 @@ msgstr "Po upływie tego opóźnienia segment zostanie wycięty w następnej kla msgid "Segmentation" msgstr "Segmentacja" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Wybierz źródło ..." msgid "Select video source:" msgstr "Wybierz źródło wideo:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Wybierz, czy pobierasz strumień z <0>źródła sieciowego (np. kamery sieciowej), czy z <1>wewnętrznego serwera RTMP (np. strumienie OBS do Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Nazwa serwisu" msgid "Service token for monitoring." msgstr "Token serwisowy do monitorowania." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Ustawienia" msgid "Settings (expert mode)" msgstr "Parametry (tryb eksperta)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Parametry ścieżki /data. Dostęp jest chroniony przez" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Rozmiar" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Snapshot" @@ -3005,7 +2957,7 @@ msgstr "Prędkość" msgid "Speed Preset" msgstr "Wstępne ustawienie prędkości" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Płytki" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Czas, po którym nieaktywne połączenie widza jest traktowane jako zamknięte." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Aby ustabilizować system, zwiększ długość segmentu HLS dla interwału klatek kluczowych o 2-3 * (Processing and Control)." @@ -3477,18 +3413,6 @@ msgstr "Aby ustabilizować system, zwiększ długość segmentu HLS dla interwa msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Górne pole" @@ -3627,12 +3551,12 @@ msgstr "Tune" msgid "UDP transport" msgstr "Transport UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Nieznany" msgid "Unknown upload error" msgstr "Nieznany błąd przesyłania" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Przesyłanie plakatu nie powiodło się" msgid "Uptime" msgstr "Czas operacyjny" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Wykorzystaj swoje prawa autorskie i wybierz odpowiednią licencję na ob msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Rejestracja Użytkownika" @@ -3773,10 +3693,6 @@ msgstr "Nazwa użytkownika do autoryzacji." msgid "Username for the device." msgstr "Nazwa użytkownika urządzenia." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M jest eksperymentalny." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Polecamy OpenMAX IL dla Raspberry PI (3/4) z 32-bitowym systemem operacyjnym." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Witamy w Restreamer v2, rozwiązanie do szybkiego i łatwego publikowani msgid "What speed preset to use." msgstr "Jakiego ustawienia prędkości użyć." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Gdzie ma być przechowywana playlista HLS i segmenty. Zalecane jest In-Memory." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "biały" @@ -3881,6 +3809,10 @@ msgstr "Szerokośc" msgid "Write protection" msgstr "Ochrona przed zapisem" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Tak" @@ -3893,7 +3825,7 @@ msgstr "Nie można przerwać kreatora, ponieważ należy zdefiniować co najmnie msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Zmieniłeś konfigurację. Aby zmiany odniosły skutek, musisz ponownie uruchomić aplikację. Czy chcesz teraz ponownie uruchomić?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Musisz ponownie połączyć się ręcznie" @@ -3910,14 +3842,6 @@ msgstr "Twój strumień musi być zakodowany, ale nie jest dostępny odpowiedni msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Twój strumień musi być zakodowany. Wybierz żądany koder:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/pt-br/messages.js b/src/locales/pt-br/messages.js index 96990f5..6ec88e5 100644 --- a/src/locales/pt-br/messages.js +++ b/src/locales/pt-br/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Lista de compatibilidade\",\"TkRUk0\":\"<0>Mostrar detalhes da sonda\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Mudar para a interface do Restreamer alvo.\",\"2JnpXL\":\"2. Criar um novo canal e selecionar servidor RTMP ou SRT.\",\"YidyJl\":\"3. Copie o URL e cole-o no campo \\\"Endereço de destino\\\".\",\"X1MZZp\":\"6 (+ garantia de começar com um quadro chave)\",\"JVJkxU\":\"7 (+ formato MP4 fragmentado)\",\"ssjjFt\":\"Abortar\",\"uyJsf6\":\"Sobre\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Adicione\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Adicione widgets e estilos externos ao site de publicação. Você pode encontrar alguns exemplos na página de ajuda.\",\"tsJWSj\":\"Adicionar novo canal\",\"PLTLdv\":\"Adicionar Publicação\",\"35l+l6\":[\"Adicionar: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Endereço\",\"8M7jVn\":\"Endereço para a imagem de fundo.\",\"Vu9yiv\":\"Endereço para ouvir os pedidos HTTP.\",\"AQDW5r\":\"Endereço para ouvir os pedidos de HTTPS.\",\"tPrmjP\":\"Endereço:\",\"owt8Ow\":\"Ajuste as cores e o fundo do site de publicação como você quiser.\",\"uNXGDK\":\"Monitoramento avançado\",\"VNgKZz\":\"Configurações avançadas\",\"eiGNYb\":\"Configuração avançada\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerta por e-mail\",\"N40H+G\":\"Todos\",\"Hw5q+W\":\"Todos os quadros\",\"f2zxGk\":\"Todas as configurações importantes do sistema.\",\"lle3bd\":\"Permitir a todos os encaminhadores\",\"bgFbIB\":\"Permitir contar quantos espectadores o fluxo tem.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"Uma variável de ambiente define este valor.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Ponto final API não encontrado. Configurações não salvas.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplicação\",\"xnCC/2\":\"Você tem certeza de que quer abortar o feiticeiro?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Áudio\",\"n3RW8K\":\"Dispositivo de áudio\",\"sYyYfE\":\"Dispositivo de áudio\",\"2he4Ra\":\"Áudio do dispositivo\",\"MvY15a\":\"Configurações de áudio\",\"NoLJ6g\":\"Configuração de áudio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 não está atualmente disponível porque esta interface é carregada a partir de uma origem insegura.\",\"aKsflb\":\"Auth0 Inquilino\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Autorização\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Limpeza automática de todos os dados da mídia\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Disponível em\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Voltar\",\"1KfyNL\":\"Cores de fundo\",\"23c2Uw\":\"Imagem de fundo\",\"r0bEmM\":\"Servidor de backup\",\"JFjQhH\":\"Fluxo de backup\",\"bkJ+QE\":\"URL de backup\",\"OlXThP\":\"Largura de banda\",\"QYaaBO\":\"Controle de largura de banda\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Básico\",\"YR04fn\":\"Fator Beep\",\"5bhON1\":\"Taxa de bits\",\"Os3B4i\":\"Tipos de cache em bloco\",\"zOC7cT\":\"azul\",\"359XuU\":\"Campo inferior\",\"aC3kWW\":\"Descrever brevemente o que o público verá durante a transmissão ao vivo.\",\"SehDNd\":\"marrom\",\"Ptp9MF\":\"Cor do botão\",\"Lp4WkO\":\"Por altura\",\"IeV/4P\":\"Por largura\",\"KxP5AO\":\"Cache para arquivos em /dados.\",\"qX8ffo\":\"Tempo de cache (Segundos)\",\"4dRAku\":\"Tipos de cachês\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampão de captura\",\"aL2+1d\":\"Cliques de captura\",\"EOfLfP\":\"Captura do cursor\",\"ieS3Wc\":[\"Canal \\\"\",[\"0\"],\"\\\" salvo\"],\"lfFsZ4\":\"Canais\",\"WMCwmR\":\"Verificar por atualizações\",\"vM6kpc\":\"Verifique os requisitos\",\"Wzgqhl\":\"Escolha um fluxo de vídeo\",\"JpTR0/\":\"Escolha um fluxo de áudio\",\"BTNyrQ\":\"Escolha um dispositivo de entrada ...\",\"f9QIui\":\"Escolha um fluxo de entrada ...\",\"/Y6zrN\":\"Escolha entre CFR e VFR (Auto)\",\"gObOjh\":\"Escolha o codec ...\",\"v7lrmU\":\"Escolher inquilino ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Pedaço\",\"yz7wBu\":\"Fechar\",\"r8NEPc\":\"Injeção de código\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Cor\",\"sjVfrA\":\"Comando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Config\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Confirmar senha\",\"iSLIjg\":\"Conecte\",\"NL3Gev\":\"Dispositivo conectado\",\"ywAvGr\":\"Conectado desde <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Conectando ...\",\"y6+BXa\":\"Conectando-se ao Restreamer Core ...\",\"Td5lm6\":\"A conexão com o Restreamer Core falhou provavelmente por causa do conteúdo misto.\",\"awE5Py\":\"Taxa de quadros constante (CFR)\",\"DT0Af/\":\"Modo Quantizador Constante (-1 a 255).\",\"4b3oEV\":\"Conteúdo\",\"U34RbB\":\"URL do conteúdo\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Núcleos\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Limite de CPU (porcentagem)\",\"uW5tVo\":\"Limite de uso da CPU em porcentagem (0-100%), 0 para ilimitado.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Personalizado ...\",\"kH80Lk\":\"Dispositivo de áudio personalizado\",\"fW1XQD\":\"Índice de áudio personalizado\",\"bzREp0\":\"Taxa de bits personalizada (kbit/s)\",\"w9oKek\":\"Injeção de código personalizado\",\"jYaP01\":\"Atraso personalizado\",\"2Gw+zZ\":\"Dispositivo personalizado\",\"WCXGNp\":\"Formato personalizado\",\"ZkpZ06\":\"Framerate personalizado\",\"1OXCgh\":\"Configuração JSON personalizada para datarhei Core.\",\"kl56NX\":\"Intervalo de chaveiro personalizado\",\"prIqWa\":\"Layout personalizado\",\"HSB43e\":\"Amostragem personalizada (Hz)\",\"Efe3BI\":\"Escala personalizada\",\"E/2KdS\":\"Tamanho personalizado\",\"Se794B\":\"Dispositivo de vídeo personalizado\",\"aqv915\":\"Índice de vídeo personalizado\",\"v8OlX8\":\"Dados copiados para a prancheta\",\"J/VBax\":\"Cor da morte\",\"d2TTfK\":\"Decibéis (dB)\",\"W034oz\":\"Decodificador\",\"ovBPCi\":\"Predefinição\",\"gFwPaj\":[\"Padrão \",[\"0\"]],\"JQnkrI\":[\"Default \",[\"0\"],\" (\",[\"1\"],\" segundos)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Modo de desinterlaçamento\",\"aro6lN\":\"Desinterlaçar a paridade\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Atraso\",\"qBC9g9\":\"Atraso (ms)\",\"cnGeoo\":\"Excluir\",\"ScK3zL\":\"A eliminação de um serviço de publicação não pode ser revertida. A publicação pára imediatamente.\",\"cEx3oI\":\"Modo de entrega\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Descrição\",\"f8fH8W\":\"Projeto\",\"PEHQTf\":\"Dispositivo\",\"+K0AvT\":\"Desconectar\",\"miKA/E\":\"Desconectar e continuar\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Desconectando ...\",\"sPFHpI\":\"Disco\",\"qczNPP\":\"Cache de disco\",\"PUqOjv\":\"Armazenamento em disco\",\"uTwT/l\":\"Você realmente quer reiniciar a aplicação agora?\",\"FgxcNT\":[\"Você quer excluir \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Você quer apagar \",[\"título\"],\"?\"],\"0p+Mpn\":[\"Você quer desconectar \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Docs\",\"TvY/XA\":\"Documentação\",\"jPtEhI\":\"Molduras Dup\",\"diaSRH\":\"Cada campo\",\"u2SnNO\":\"Cada armação\",\"ePK91l\":\"Editar\",\"INCFjw\":\"Edite as fontes de áudio e vídeo para a transmissão ao vivo. Adicione uma descrição e defina sua licença de conteúdo desejada.\",\"+7Wr2a\":[\"Edição: \",[\"título\"]],\"e3GLqI\":\"EDIT: Jogador\",\"dTPDyf\":\"EDIT: Site de publicação\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Embutir\",\"PaQ3df\":\"Habilitar\",\"No9svk\":\"Habilitar um bip periódico a cada segundo com este valor vezes a freqüência portadora\",\"R7s0Th\":\"Habilitar o fluxo de backup\",\"xA5zBY\":\"Habilitar estatísticas de nerds\",\"r0zP4o\":\"Habilitar agora\",\"JwR989\":\"Habilitar o fluxo primário\",\"blkDNw\":\"Habilitar servidor RTMP ...\",\"FgEhO4\":\"Habilitar a transferência de RTMPS\",\"uGvvxq\":\"Habilitar instantâneos\",\"IuL64N\":\"Habilitar servidor SRT ...\",\"NJsnxf\":\"Aconselha-se vivamente a autorização. Caso contrário, qualquer pessoa pode ter acesso a esta instância.\",\"xwS6bX\":\"Aconselha-se vivamente que se habilite a auth básica. Caso contrário, qualquer pessoa poderia escrever dados para /memfs.\",\"0zaXWu\":\"Codificador\",\"o0XA5y\":\"Codificação\",\"q1srUM\":\"Criptografia\",\"qS2y97\":\"Digite um nome para o novo canal.\",\"f7sXvi\":\"Digite a senha\",\"5QCNrf\":\"Digite o endereço de sua fonte de rede:\",\"WLnvCZ\":\"Digite o nome de usuário\",\"ijwVVM\":\"Codificador de entropia\",\"SlfejT\":\"Erro\",\"sHoMKO\":\"Erro ao copiar dados para a prancheta\",\"TpqeIh\":[\"Erro: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Expande a área acima da lista de canais (bate-papo ao vivo).\",\"IBJg8n\":\"Expande a área sob a descrição do canal (caixas de comentários).\",\"XeunlQ\":\"Modo especialista\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Ampliar a lista de canais\",\"tG09kC\":\"Ampliar o conteúdo\",\"bPWJOj\":\"Ampliar o rodapé\",\"SeaRa5\":\"Ampliar cabeçalho\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Falha na criação do serviço de publicação (\",[\"0\"],\")\"],\"yT6MEY\":\"Falha na criação dos arquivos do site de publicação.\",\"FGdPhH\":\"Falha na sondagem da fonte. Por favor, verifique os <0> detalhes da sonda.\",\"DvfYM2\":[\"Falha em atualizar a ficha: \",[\"0\"]],\"J0Jclh\":\"Falha em salvar metadados ingeridos\",\"RPXHsU\":\"Falha em interromper o processo\",\"AhS7uc\":\"Falha no ajuste do tamanho do jogador.\",\"PcJRf4\":[\"Falha no serviço de publicação de lojas (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Falha em atualizar o processo de ingestão (\",[\"0\"],\")\"],\"t1E1OU\":[\"Falha na atualização do processo de ingestão de instantâneos (\",[\"0\"],\")\"],\"bssUbs\":\"Falha na atualização do jogador\",\"4SzVSX\":\"Falha na atualização do site do jogador\",\"H8gP5T\":\"Falha na verificação da fonte. Por favor, verifique o endereço.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Caminho do arquivo\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filtro\",\"JmZ/+d\":\"Terminar\",\"k4A6IZ\":\"Tamanho fixo\",\"Xgkhyj\":\"Bandeiras\",\"+L0/av\":\"Para Javascripts.\",\"VBU6dD\":\"Para Fichas de Estilo.\",\"XDTTEp\":\"Forçar o frame de entrada\",\"Y5YNoi\":\"Forçar quadros-chave\",\"kI1qVD\":\"Formato\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Gotas de moldura\",\"lPICcX\":\"A moldura é atravessada (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Conversão de taxa de quadros (interpolação de quadros)\",\"xDfHbM\":\"Modo Framerate\",\"4xNpe4\":\"Freqüência (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Geral\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Nome do Google Analytics Tracker\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Dispositivo de ferragens\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Cabeçalho\",\"+670Zw\":\"Manchete\",\"PFFhCT\":\"Altura\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Saída HLS\",\"oMxmoP\":\"Servidor HLS\",\"5/G5c1\":\"Estatísticas HLS para o armazenamento In-memory\",\"wXoUQx\":\"Horizontal Flip\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Interface Restreamer hospedado\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP e HTTPS\",\"YmRLab\":\"Porta HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Porto HTTPS\",\"Ptrvx5\":\"Nome legível pelo ser humano no serviço.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Se você mudou os portos, pode ser que o Restreamer Core já tenha reiniciado, mas agora ele está disponível em um porto diferente.\",\"OQONQS\":\"Se você ativou Let's Encrypt TLS, pode levar algum tempo para adquirir os certificados. Certifique-se de que o Restreamer Core esteja acessível via porta 80 a partir da Internet. Por favor, verifique o log do console do Restreamer Core.\",\"yWR5EY\":\"código iframe\",\"7ZKroD\":\"Ignorar as faixas de IP\",\"VyUuZb\":\"URL da imagem\",\"5n8FKh\":\"Impresso\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Além do jogador, o Restreamer oferece uma página de desembarque completa, que você pode usar para apresentar seu stream ao vivo com facilidade e rapidez.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"Armazenamento em memória\",\"xmsVuq\":\"Incompatível\",\"exUN1j\":\"Inerte\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Injetar 1\",\"MJlrvd\":\"Injetar 2\",\"MppU96\":\"Injetar 3\",\"zBVRQb\":\"Injetar 4\",\"Adqgqr\":\"Fluxo de entrada\",\"jnyWFc\":\"Domínio da instância\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervalo (segundos)\",\"C4WaV1\":\"Alerta de emissão\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervalo do quadro-chave (segundos)\",\"rdU729\":\"Layout\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Vamos encriptar a certificação\",\"LgUs17\":\"Vamos Encriptar requer um ou mais nomes de domínio público e uma porta 80/TCP acessível.\",\"oCHfGC\":\"Nível\",\"eyLS1J\":\"Nível de protocolo do sistema.\",\"iQmbPb\":\"Licença\",\"mQImez\":\"Cor da vida\",\"6BDqha\":\"Limites\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Linhas\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"Lista de extensões de arquivo que não são para cache (por exemplo, \\\".m3u8\\\"), uma por linha. Deixar vazio para nenhuma.\",\"m2l8c3\":\"Lista de extensões de arquivo para cache (por exemplo, \\\".html\\\"), uma por linha. Deixar vazio para o cache de todos os tipos de arquivo.\",\"QYw6tl\":\"Lista de faixas de IP na notação CIDR, por exemplo, 127.0.0.0.1/32, que as estatísticas não registrarão uma faixa IP por linha. Deixe em branco para registrar todas as sessões.\",\"ELFO4F\":\"Tamanho da lista (segmentos)\",\"D0Nwch\":\"Live-Streaming para viver Live RTMP Service.\",\"n2VKys\":\"Live-Streaming para o serviço RTMP ao vivo no Facebook\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming to Media Network RTMP Service.\",\"w9zSAv\":\"Live-Streaming para PeerTube v3+ RTMP/S Service.\",\"SZ9Q++\":\"Live-Streaming para Trovo Live RTMP Service.\",\"JJGagy\":\"Live-Streaming para Twitch Live RTMP Service.\",\"4TnPVp\":\"Live-Streaming para Vimeo Live RTMP Service\",\"G4x3PY\":\"Identificação de fonte de vida\",\"0aIqC4\":\"Nível de log\",\"x7PDL5\":\"Logging\",\"z0t9bb\":\"Login\",\"+fL+Rj\":[\"O login falhou: \",[\"0\"]],\"4cd7gw\":\"O login falhou: Não foi possível carregar detalhes API\",\"sNqu7k\":\"Login/JWT autorização\",\"iG7KNr\":\"Logotipo\",\"nOhz3x\":\"Logout\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"Normalização do ruído\",\"QGvS9k\":\"Baixa latência (Buffer)\",\"GaV7al\":\"Canal principal\",\"Wsn0Uw\":\"Canal principal não encontrado\",\"tROIde\":\"Canal principal salvo\",\"nLVSux\":\"Canal da página principal (index.html).\",\"rd3Pv7\":\"Fonte principal\",\"f4txA1\":\"Mantenedor:\",\"3iTz2L\":\"Tornar o canal disponível como um fluxo RTMP (experimental).\",\"mMiku6\":\"Tornar o canal disponível como um fluxo SRT (experimental).\",\"6dZ9NS\":\"Molduras marcadas\",\"iuA3xD\":\"Lista de reprodução principal (aumenta a compatibilidade navegador/cliente)\",\"WBpxnA\":\"Tamanho máximo de cache permitido, 0 para ilimitado.\",\"NzaPGT\":\"Máximo permitido de megabytes de RAM para /memfs, 0 para ilimitado.\",\"aaso5s\":\"Consumo máximo permitido de megabytes a partir do disco rígido. 0 por ilimitado.\",\"4hp5D2\":\"Largura de banda máxima Mbit/s\",\"L+uBOR\":\"Atraso máximo em milissegundos.\",\"hkoCqq\":\"Tamanho máximo do arquivo (Megabytes)\",\"i96JfZ\":\"Tamanho máximo de arquivo para colocar em cache.\",\"Q9HspI\":\"Histórico log máximo\",\"bS9ZHz\":\"Máximo de linhas de toras\",\"6sayfE\":\"Tamanho máximo (Megabytes)\",\"09BWQO\":\"Tempo máximo de ociosidade do espectador (segundos)\",\"hW0DV1\":\"Máximo de espectadores\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memória\",\"KReOHe\":\"Limite de memória (megabytes)\",\"fViWSz\":\"Limite de uso de memória em megabytes, 0 para ilimitado.\",\"emJ6M7\":\"Meta informação\",\"6GBt0m\":\"Metadados\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", padrão \",[\"1\"]],\"riWPSk\":\"Molde\",\"QA/rur\":\"Mais sobre licenças aqui\",\"fyGu1l\":\"Mais sobre o serviço\",\"yBsv2n\":\"Mais sobre os direitos autorais do Twitter <0>aqui.\",\"ZpfAc9\":\"Mais sobre os direitos autorais do YouTube <0>aqui.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Deve ser maior que o tamanho máximo do arquivo em cache.\",\"gC9RIS\":\"Deve ser menor que o tamanho máximo do cache.\",\"R7SsBE\":\"Mudo\",\"K0rCAk\":\"Silenciar um canal.\",\"Jv/kid\":\"Mudo à esquerda\",\"FsCP6P\":\"Direito mudo\",\"6YtxFj\":\"Nome\",\"0ZkQqR\":\"Nome para o modelo. Se o nome já existir, ele será sobregravado.\",\"OR475H\":\"Rede\",\"KZDcDr\":\"Fonte da rede\",\"hXzOVo\":\"Próximo\",\"JZrXI6\":\"A seguir: Áudio\",\"kZFy+Q\":\"A seguir: Configuração do vídeo\",\"1UzENP\":\"Não\",\"p6Fxed\":\"Sem áudio\",\"bIDO3H\":\"Nenhum fluxo de áudio disponível\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Nenhum dispositivo de entrada disponível\",\"dEwhMr\":\"Nenhum fluxo vivo foi detectado. Por favor, verifique o software que envia o fluxo.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Nenhuma fonte selecionada\",\"3TfuWb\":\"Não há fontes disponíveis\",\"fiXA/y\":\"Não foi encontrado nenhum codificador adequado.\",\"acY4BT\":\"Não foi encontrado nenhum filtro adequado.\",\"/02FxK\":\"Nenhum vídeo\",\"AVWnC9\":\"Nenhum fluxo de vídeo disponível\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Identificação do nó\",\"9J5l/O\":\"Ruído\",\"EdQY6l\":\"Nenhum\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notas\",\"/a9y2d\":\"Número de linhas de registro a manter.\",\"ZD0urA\":\"Número de logs a serem mantidos para cada processo.\",\"Aia5w3\":\"Número de segundos em que os limites podem ser excedidos.\",\"1lZb7D\":\"Número de colunas de blocos para codificar.\",\"InpHMl\":\"Número de blocos codificados com.\",\"wnRD5D\":\"Número de linhas de blocos para codificar.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Uma referência por linha, por exemplo http://www.example.com\",\"1TNIig\":\"Aberto\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Buffer de saída\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Frases para criptografia SRT.\",\"fpQo1i\":\"A frase-senha deve ter entre 10 e 79 caracteres\",\"3GZXaB\":\"A passagem (cópia) só deve ser desativada se necessário. Cada codificação requer recursos adicionais de CPU/GPU.\",\"8ZsakT\":\"Senha\",\"b+AuuK\":\"Senha para autorização.\",\"oREnCY\":\"Senha para o dispositivo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Estatísticas persistentes dos telespectadores\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Formato Pixel\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plano: <0>Iniciador\",\"Ejic1p\":\"Plataformas\",\"gtQk6c\":\"Reprodução\",\"vRayGs\":\"Jogador\",\"tWB9Gz\":\"Configurações do jogador salvas\",\"GIxxiU\":\"URL do jogador\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Lista de reprodução\",\"luDqS5\":\"Versão da lista de reprodução (M3U8). A versão 3 tem a melhor compatibilidade navegador/cliente.\",\"84gH7g\":\"Por favor, verifique o <0>log de processo\",\"OMpKNS\":\"Favor contatar o operador do serviço e verificar o que acontece.\",\"4lATxE\":\"Por favor, digite seu endereço de e-mail para assinar um acordo com os termos de serviço do Let's Encrypt CA e para ser notificado em caso de problemas.\",\"bdMiXb\":\"Favor entrar em contato com o operador do serviço e verificar o que acontece.\",\"wPZBpR\":\"Por favor, selecione um arquivo para carregar.\",\"YcGRmx\":\"Favor utilizar \\\"Passthrough (cópia)\\\", se possível. A codificação requer recursos adicionais de CPU/GPU.\",\"06qnxB\":\"Por favor, aguarde. Dados do fluxo da sonda ...\",\"FTIPkL\":\"Por favor, aguarde. Preparando o fluxo ...\",\"hZ6znB\":\"Porto\",\"p/78dY\":\"Posição\",\"d62Stt\":\"Pôster\",\"PNap/Y\":\"URL da imagem do pôster\",\"6o2Onc\":\"Predefinição\",\"lxxyq5\":\"Fluxo primário\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Processo\",\"DL/nrw\":\"Controle de processo\",\"fzYV2N\":\"Detalhes do processo\",\"zNVLia\":\"Relatório de processo\",\"PwMwvX\":\"Processamento e controle\",\"vERlcd\":\"Perfil\",\"6+OdGi\":\"Protocolo\",\"hEksWI\":\"Protocolos\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Domínio público/s\",\"7lbVwY\":\"Serviço de publicação não encontrado\",\"ia1vIb\":\"Configurações do site de publicação salvas\",\"XHw75Y\":\"Publicações\",\"dsOSCf\":\"Modo Puxar\",\"lQQ/zA\":\"Puxar ou receber os dados:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualidade\",\"i9d+3B\":\"Câmera Raspberry Pi\",\"tbXj/A\":\"Controle de tarifas\",\"iaocTt\":\"Relação\",\"WnSPyE\":\"rav1e Parâmetros\",\"6PpdQP\":\"Ler a entrada em velocidade nativa\",\"bqsSkO\":\"Modo Receber\",\"gcoiFh\":\"Reconecte\",\"lakzvL\":\"Retardo de reconexão (segundos)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Reconexão em \",[\"0\"],\"s\"],\"uSDaLA\":[\"A reconexão ao Restreamer Core falhou durante os últimos \",[\"RETRIES\"],\" segundos.\"],\"N7ojfh\":\"A reconexão com o Restreamer Core falhou.\",\"lCF0wC\":\"Atualização\",\"uJ+Ve2\":\"Região\",\"CNipTv\":\"Registrar usuário\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Recarregar\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Remover as entradas mais antigas se o /memfs estiver cheio\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Requer ativação\",\"XMbkus\":\"Restabelecer o logotipo\",\"36SXzE\":\"Redefinir pôster\",\"6z9W13\":\"Reinicie\",\"dKwnjv\":\"Reinício necessário\",\"0Er6+M\":\"Reinicialização\",\"X1sT1j\":\"Reiniciando o Núcleo de Restreamer ...\",\"o5q6jb\":\"A reinicialização do pedido falhou.\",\"x8cAsq\":\"Instruções do Restreamer\",\"24fLVm\":\"Serviço de Restreamer\",\"LCGjV4\":\"Recuperando dados do fluxo ...\",\"6gRgw8\":\"Tentativa\",\"Qe1vaN\":\"Padrão de teste RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Girar\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplicação RTMP para publicação.\",\"7ggERB\":\"Saída RTMP\",\"V82lE+\":\"Porto RTMP\",\"itARjB\":\"Servidor RTMP\",\"WWZqzz\":\"O servidor RTMP não está habilitado\",\"HhOPCL\":\"Endereço de escuta do servidor RTMP.\",\"DbHOhO\":\"Ficha RTMP para publicação e reprodução. O token é o valor do parâmetro de consulta de URL 'token'\",\"OAZeFE\":\"Porto RTMPS\",\"Wt/wFL\":\"Servidor RTMPS\",\"xwonDv\":\"Endereço de escuta do servidor RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regra\",\"HneYgw\":\"Amostragem\",\"tfDRzk\":\"Salvar\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Escala\",\"6aaceW\":\"Tamanho da escala\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Segundos para manter os arquivos em cache.\",\"geM4Wc\":\"Segundos até que um processo seja reiniciado.\",\"iF7dnC\":\"Segundos até o término de um processo parado.\",\"mydmGn\":\"Segundos até que o instantâneo/imagem da fonte de vídeo seja atualizado.\",\"a3LDKx\":\"Segurança\",\"Gkr6zI\":\"Ficha de segurança\",\"/Ocrtf\":\"Cor da barra de busca\",\"4lDlYf\":\"Comprimento do segmento (segundos)\",\"XfNrg+\":\"O segmento será cortado no seguinte quadro-chave após este tempo ter passado. 2 é recomendado.\",\"jHCoDy\":\"Segmentação\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Selecione um dispositivo:\",\"O+ruJ3\":\"Selecione a fonte de áudio:\",\"6MTTpq\":\"Selecione RTMP ou SRT (se habilitado) para menos latência.\",\"E7haRr\":\"Selecione a fonte ...\",\"PlZ1aw\":\"Selecione a fonte de vídeo:\",\"YYlcWm\":\"Selecione se você puxa o fluxo de uma <0> fonte de rede (como uma câmera de rede) ou o <1> servidor RTMP interno (por exemplo, fluxos OBS para o Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Selecione sua configuração de codificação:\",\"aT3o8A\":\"Selecione suas configurações de filtro (opcional):\",\"ylXj1N\":\"Selecionado\",\"kYpw4+\":\"Canal selecionado\",\"p7/fS2\":\"Seleção\",\"SOePwi\":\"Enviar métricas anônimas (nos ajuda para o desenvolvimento futuro)\",\"kOhBl+\":\"Enviar fluxo para o endereço ...\",\"E1X5xY\":\"Enviar fluxo para este endereço:\",\"d/IMf3\":\"Enviar vídeo para Framebuffer\",\"sGH11W\":\"Servidor\",\"9rG25a\":\"URL do servidor\",\"T3bXxK\":\"Serviço\",\"KPPdUO\":\"Nome do serviço\",\"DOrSw/\":\"Ficha de serviço para monitoramento.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Sessões\",\"xwK3ty\":\"Defina a configuração do rav1e usando uma lista separada por :- de parâmetros de chave=valor.\",\"FIIk8R\":\"Define um limite de largura de banda em Mbit por segundo para a transferência de dados HLS de saída. Todos os serviços, tais como RTMP e processos de saída, são incluídos no cálculo. Se a largura de banda for excedida, os visualizadores de HLS recebem o código de status HTTP 509 (Limite de Largura de Banda Excedido). 0 é ilimitado.\",\"cOG/FK\":\"Define um limite de visualização para as sessões de HLS. Se o limite for excedido, os espectadores de HLS recebem o código de status HTTP 509 (Limite de Largura de Banda Excedido). 0 é ilimitado.\",\"mcJFKm\":\"Configuração para conexão com o serviço.\",\"Tz0i8g\":\"Configurações\",\"IiOZ6R\":\"Configurações (modo especialista)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Configurações para /dados de caminho. O acesso é protegido por\",\"Ytdvyh\":\"Configurações para /memfs caminho.\",\"1w3lYe\":\"Configurações salvas. Todas as mudanças serão aplicadas após reiniciar a aplicação.\",\"XUw3i9\":\"Botão compartilhar\",\"oD0Oes\":\"Mostra uma referência ao projeto.\",\"+vv4q2\":\"Cadastre-se (gratuito)\",\"JXVFAm\":\"Silêncio\",\"VSK9FJ\":\"Áudio do silêncio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nome do Sitename\",\"Cj2Gtd\":\"Tamanho\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Login social (OAuth2, 2FA)\",\"qe9jaI\":\"Tempo limite da tomada (microssegundos)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Fonte\",\"sywlQb\":\"Fonte e Codificação\",\"l9wI00\":\"Velocidade\",\"vdhBFK\":\"Velocidade predefinida\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Saída SRT\",\"YqnAto\":\"Servidor SRT\",\"k6hpqB\":\"O servidor SRT não está habilitado\",\"SzqwHY\":\"Endereço de escuta do servidor SRT.\",\"KwbjpB\":\"Ficha SRT para publicação e reprodução. O token é o valor do parâmetro streamid 'token'.\",\"Aj28wT\":\"Tempo esgotado (segundos)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Estatísticas\",\"BrrIs8\":\"Armazenamento\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Armazena as estatísticas do telespectador no disco.\",\"hou0tP\":\"Corrente\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Chave do fluxo\",\"bqiH5R\":\"Chave de fluxo\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nome do riacho\",\"eXELiS\":\"Nomes dos fluxos\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Fonte do fluxo para o serviço de publicação (experimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL do fluxo\",\"+fVH0Y\":\"Suporte datarhei Restreamer\",\"5HSoct\":\"Suporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT e muito mais.\",\"D+NlUC\":\"Sistema\",\"jkuW2z\":\"Endereço alvo\",\"/K2CvV\":\"Modelo\",\"2Ivkf/\":\"Modelo a ser utilizado para a criação do site de publicação. O botão apagar remove a seleção do sistema.\",\"4Y5H+g\":\"Termos\",\"tRNH6x\":\"Padrão de teste\",\"EtlVOt\":\"Padrão de teste (estendido)\",\"wGPolR\":\"Cores do texto\",\"m0TUJj\":\"A amplitude (0,0 - 1,0) do fluxo de áudio gerado\",\"8C6xwe\":\"A aplicação está usando uma versão mais antiga das configurações.\",\"VPQVR2\":\"O binário FFmpeg disponível não suporta nenhum dos protocolos necessários.\",\"Gx9PPK\":\"A taxa de bits do fluxo de áudio.\",\"T2kk3f\":\"A freqüência portadora\",\"JAOLK8\":[\"O canal \\\"\",[\"0\"],\"\\\" não pôde ser excluído\"],\"jNaBhy\":[\"O canal \\\"\",[\"0\"],\"\\\" foi excluído\"],\"SD8pYJ\":\"A eliminação deste canal não pode ser recuperada. Todas as publicações deste canal serão removidas.\",\"bnkV//\":\"O perfil de entrada não está completo. Por favor, defina uma fonte de vídeo e áudio.\",\"wCYjmB\":\"O perfil de entrada não está completo. Defina uma fonte de vídeo e/ou áudio.\",\"JMaqWu\":\"O layout do fluxo de áudio.\",\"0dqo+p\":\"O número máximo de segmentos da playlist. 0 conterá todos os segmentos. 6 é recomendado.\",\"BDgbiW\":\"A cor do ruído\",\"SxGu7I\":\"A pessoa que associou uma obra a esta escritura dedicou a obra ao domínio público, renunciando a todos os seus direitos à obra em todo o mundo sob a lei de direitos autorais, incluindo todos os direitos conexos e vizinhos, na medida do permitido por lei. Você pode copiar, modificar, distribuir e executar a obra, mesmo para fins comerciais, tudo sem pedir permissão.\",\"XISvrq\":\"O nome de domínio acessível ao público do host em que este Restreamer está funcionando. Separe vários nomes de domínio por uma vírgula.\",\"yt3d3G\":[\"O serviço de publicação \\\"\",[\"0\"],\"\\\" não pôde ser excluído\"],\"zYcO/c\":[\"Foi criado o serviço de publicação \\\"\",[\"0\"],\"\\\"\"],\"AQE+oz\":[\"O serviço de publicação \\\"\",[\"0\"],\"\\\" foi eliminado\"],\"qVLWvp\":\"O serviço de publicação foi criado\",\"njj2Wn\":\"A saída do RTMP requer o servidor RTMP.\",\"WRxiP8\":\"A taxa de amostragem do fluxo de áudio.\",\"/pZjRr\":\"O arquivo selecionado é muito grande (<0/>). Somente <1/> são permitidos.\",\"VBaSn9\":[\"O tipo de arquivo selecionado (\",[\"0\"],\") não é permitido. Os tipos de arquivo permitidos são \",[\"1\"]],\"fM410X\":[\"As configurações para \\\"\",[\"0\"],\"\\\" foram salvas\"],\"02ii2e\":\"A fonte não fornece nenhum fluxo de áudio.\",\"+2cAEU\":\"A fonte não fornece nenhum fluxo de áudio. Por favor, verifique os detalhes da <0>probe.\",\"pfqmY7\":\"A fonte não fornece nenhum fluxo de áudio compatível.\",\"VO9KeK\":\"A fonte não fornece nenhuma transmissão de vídeo compatível. Por favor, verifique as <0>requisitos.\",\"007foU\":\"A fonte não fornece nenhuma transmissão de vídeo. Por favor, verifique os detalhes da <0>probe.\",\"lAsMdV\":\"A fonte não fornece nenhuma transmissão de vídeo. Por favor, verifique o dispositivo.\",\"XlnvcR\":\"A saída SRT requer o SRT Server.\",\"w6uuIE\":\"A fonte de vídeo não fornece nenhum fluxo de áudio compatível. <0>Silêncio de áudio é recomendado. Serviços como, por exemplo, YouTube, Facebook & Co. requerem um canal de áudio.\",\"YJJ2RL\":\"A fonte de vídeo é compatível. Selecione a resolução desejada:\",\"wEiZHy\":\"Há atualizações disponíveis. Aqui você obtém mais informações.\",\"4p1MgS\":\"Havia um problema no armazenamento das configurações. As configurações não foram salvas.\",\"YJhhwT\":[\"Houve um erro de conexão com o Restreamer Core em \",[\"0\"],\".\"],\"q42VsF\":[\"Houve um erro durante o upload: \",[\"0\"]],\"HM96PJ\":\"Houve um erro ao configurar o fluxo.\",\"LoDP+Y\":\"Houve alguns erros nas configurações. As configurações não foram salvas.\",\"l92ZKN\":\"Não há nenhum método de login disponível.\",\"cPKuc8\":\"Este é um serviço fictício que explica a você os conceitos de serviço.\",\"Ku8nyu\":\"Isto não é necessariamente um erro. Entretanto, pode levar um pouco mais de tempo para que o Restreamer Core reinicie.\",\"vCRP3w\":\"Isto para mencionar os regulamentos de direitos autorais para o alvo deste serviço.\",\"Hx7k3c\":\"Esta licença permite aos reutilizadores copiar e distribuir o material em qualquer meio ou formato apenas de forma desadaptada, e apenas enquanto a atribuição for dada ao criador. A licença permite o uso comercial.\",\"6OeMYB\":\"Esta licença permite aos reutilizadores copiar e distribuir o material em qualquer meio ou formato apenas de forma não adaptada, apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador.\",\"TUuhsB\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador.\",\"kVtKRl\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador. Se você remixar, adaptar ou construir sobre o material, você deve licenciar o material modificado sob termos idênticos.\",\"FpX5mp\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato, desde que a atribuição seja dada ao criador. A licença permite o uso comercial.\",\"SDvwLd\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato, desde que a atribuição seja dada ao criador. A licença permite o uso comercial. Se você remixar, adaptar, ou construir sobre o material, você deve licenciar o material modificado sob termos idênticos.\",\"H144rX\":\"Este protocolo é desconhecido ou não suportado pelo binário FFmpeg disponível.\",\"nlOxxw\":\"Esta fonte não pode ser editada enquanto estiver em uso. Para continuar, você tem que desconectar a fonte.\",\"mbSyrG\":[\"Esta versão da IU não suporta o binário FFmpeg disponível (\",[\"0\"],\"). A interface de usuário requer \",[\"1\"],\". Por favor, use um binário FFmpeg compatível.\"],\"N/tTgz\":[\"Esta versão da IU não suporta o Núcleo conectado (\",[\"0\"],\"). A interface de usuário requer \",[\"1\"],\". Por favor, use uma versão compatível da IU.\"],\"2Vq5tr\":\"Esta versão da IU é compatível.\",\"QxX9Z5\":\"Limite (segundos)\",\"sNmspt\":\"Colunas de azulejos\",\"sYGp2E\":\"Fileiras de ladrilhos\",\"wbOpwP\":\"Ladrilhos\",\"H59P7E\":\"Tempo até que uma conexão inativa do visor seja tratada como fechada.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Para estabilizar o sistema, aumentar o comprimento do segmento HLS para o intervalo do quadro-chave em 2-3 * (Processamento e Controle).\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Campo superior\",\"7mjsuh\":\"Transmitir um Livestream para um Canal de Telegramas.\",\"Gxlq7L\":\"Transmitir instantâneos da fonte principal para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"SdyhUl\":\"Transmitir o canal de áudio da fonte principal para um servidor Icecast. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"MayU3b\":\"Transmitir a fonte principal como HTTP-Live-Streaming (HLS) para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"3K8kpL\":\"Transmitir a fonte principal como MPEG-DASH para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"P/J230\":\"Transmitir a fonte principal a um Serviço Brightcove Live. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"u0MhFy\":\"Transmitir a fonte principal para um Serviço CDN77 RTMP. Mais sobre a configuração <0>aqui.\",\"zkgT7c\":\"Transmitir a fonte principal a um Serviço DaCast RTMP. Mais sobre a configuração <0>aqui.\",\"in9xJz\":\"Transmitir a fonte principal a um datarhei Core Ressource. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"PcgwEU\":\"Transmitir a fonte principal a um livepotting.com Ressource. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"D7jwpf\":\"Transmitir a fonte principal para um serviço MPEG-TS. Mais detalhes sobre as configurações podem ser encontrados aqui <0>aqui.\",\"SpSgUV\":\"Transmitir a fonte principal para um Servidor Red5/Pro. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"lIpqI/\":\"Transmita a fonte principal para um servidor RTMP(e|s|t|te|ts). Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"pqR6nq\":\"Transmitir a fonte principal para um servidor RTSP. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Q4dSnZ\":\"Transmitir a fonte principal para um servidor SRT. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"fx9S4p\":\"Transmitir a fonte principal para um servidor UDP. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"GLXY2N\":\"Transmitir a fonte principal para um servidor WOWZA. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"AsMKFi\":\"Transmita a fonte principal para a Akamai (MSL) Media Services Live. Mais detalhes sobre as configurações do codificador MSL podem ser encontrados em <0>here.\",\"FB364G\":\"Transmitir a fonte principal para o serviço RTMP do Livepush. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"CC9yS5\":\"Transmitir a fonte principal para o serviço RTMP do Nimo TV. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"fP8ZYg\":\"Transmitir a fonte principal para o serviço RTMP do Picarto TV. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"D9A0LK\":\"Transmitir a fonte principal para o Serviço RTMP da Restream. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"YL800g\":\"Transmitir a um Serviço de Mídia Azure. Mais detalhes podem ser encontrados <0>aqui.\",\"Abgy4c\":\"Transmitir para o LinkedIn. Mais detalhes podem ser encontrados <0>aqui.\",\"dhCZoS\":\"Transmita sua transmissão ao vivo para um serviço RTMP do Dailymotion. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"tQNclD\":\"Transmita sua transmissão ao vivo para um serviço RTMP do Kick.com. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"mQ0sjr\":\"Transmita seu Livestream a um servidor Owncast. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"AqYRa3\":\"Transmita sua transmissão ao vivo para um serviço Rumble RTMP. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmite seu fluxo de vídeo com a chave necessária, que foi gerada no Twitter Producer. Você pode encontrar mais informações sobre a configuração de um fluxo ao vivo no Twitter's <0>Produtor.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Transporte UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Incapaz de carregar a configuração.\",\"MWrgON\":\"Identidade única no serviço.\",\"Ef7StM\":\"Desconhecido\",\"wiIpKZ\":\"Erro de upload desconhecido\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Não selecionado\",\"j9zg7e\":\"Detalhes de atualização (Changelog)\",\"ONWvwQ\":\"Upload\",\"OXItQT\":[\"Carregue um arquivo de áudio (\",[\"0\"],\") para fazer um loop.\"],\"75yxb7\":[\"Carregue um arquivo de imagem ou vídeo (\",[\"0\"],\") para fazer um loop.\"],\"iAkPTY\":\"O upload do arquivo falhou\",\"Jmy6pK\":\"O carregamento do logotipo falhou\",\"xl1xFp\":\"Falha ao carregar o pôster\",\"TjrbDj\":\"Horário de funcionamento\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Use o Auth0 para seu Restreamer Core em funcionamento. Mais <0>detalhes.\",\"JX4TqK\":\"Use o assistente (<0/>) para uma configuração rápida e fácil, ou edite (<1/>) as fontes diretamente no modo personalizado.\",\"YYTBz0\":\"Use seus direitos autorais e escolha a licença de imagem correta. Seja gratuita para todos ou altamente restrita. Discuta brevemente o que outros estão autorizados a fazer com sua imagem.\",\"2UPEb1\":\"Use seus direitos autorais e escolha a licença de imagem correta. Seja gratuita para todos ou altamente restrita. Discuta brevemente o que outros estão autorizados a fazer com sua imagem.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Registro de usuário\",\"7sNhEz\":\"Nome de usuário\",\"Gv3pbp\":\"Nome de usuário para autorização.\",\"RQSvXZ\":\"Nome de usuário para o dispositivo.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M é experimental.\",\"PvM7Yi\":\"Taxa de quadros variável (VFR)\",\"hpBTpL\":\"veludo\",\"uIAsxu\":\"Vertical Flip\",\"vSJd18\":\"Vídeo\",\"auaWhL\":\"Dispositivo de vídeo\",\"/skRGV\":\"Configurações de vídeo\",\"EzOjvB\":\"Configuração do vídeo\",\"QcQXbU\":\"Fonte do vídeo\",\"M/TIv1\":\"Visualizador\",\"L2hKw+\":\"violeta\",\"hA6FFn\":\"Fonte virtual\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"ID DA VPU\",\"wRy4hg\":\"Recomendamos o OpenMAX IL for Raspberry PI (3/4) com um sistema operacional de 32 bits.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Bem-vindo à Restreamer v2, a solução para a publicação rápida e fácil de vídeos. Grátis para uso privado e comercial. Mais ajuda no <0>docs.\",\"hJfWkA\":\"Qual predefinição de velocidade usar.\",\"6Pz2IF\":\"Onde armazenar a lista de reprodução e segmentos da HLS. In-Memory é recomendado.\",\"aWHAbR\":\"branco\",\"aFWU1n\":\"Largura\",\"e0wV2Y\":\"Proteção de escrita\",\"l75CjT\":\"Sim\",\"WPUsOF\":\"Você não pode abortar o assistente porque pelo menos uma entrada deve ser definida.\",\"qwY9F9\":\"Você mudou a configuração. Para que as mudanças tenham efeito, você tem que reiniciar a aplicação. Você quer reiniciar agora?\",\"nxq2ni\":\"Você tem que reconectar manualmente\",\"RM3CEc\":\"Você tem mudanças não salvas. Por favor, salve-as antes de poder controlar o serviço novamente.\",\"/cg7qS\":\"Seu fluxo precisa ser codificado, mas não há um codificador adequado disponível.\",\"BwrOm6\":\"Seu fluxo precisa ser codificado. Escolha o codificador desejado:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Padrão de teste YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Lista de compatibilidade\",\"TkRUk0\":\"<0>Mostrar detalhes da sonda\",\"tBy4Bb\":\"1. Mudar para a interface do Restreamer alvo.\",\"2JnpXL\":\"2. Criar um novo canal e selecionar servidor RTMP ou SRT.\",\"YidyJl\":\"3. Copie o URL e cole-o no campo \\\"Endereço de destino\\\".\",\"X1MZZp\":\"6 (+ garantia de começar com um quadro chave)\",\"JVJkxU\":\"7 (+ formato MP4 fragmentado)\",\"ssjjFt\":\"Abortar\",\"uyJsf6\":\"Sobre\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Adicione\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Adicione widgets e estilos externos ao site de publicação. Você pode encontrar alguns exemplos na página de ajuda.\",\"tsJWSj\":\"Adicionar novo canal\",\"PLTLdv\":\"Adicionar Publicação\",\"35l+l6\":[\"Adicionar: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Endereço\",\"8M7jVn\":\"Endereço para a imagem de fundo.\",\"Vu9yiv\":\"Endereço para ouvir os pedidos HTTP.\",\"AQDW5r\":\"Endereço para ouvir os pedidos de HTTPS.\",\"tPrmjP\":\"Endereço:\",\"owt8Ow\":\"Ajuste as cores e o fundo do site de publicação como você quiser.\",\"uNXGDK\":\"Monitoramento avançado\",\"VNgKZz\":\"Configurações avançadas\",\"eiGNYb\":\"Configuração avançada\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Alerta por e-mail\",\"N40H+G\":\"Todos\",\"Hw5q+W\":\"Todos os quadros\",\"f2zxGk\":\"Todas as configurações importantes do sistema.\",\"lle3bd\":\"Permitir a todos os encaminhadores\",\"bgFbIB\":\"Permitir contar quantos espectadores o fluxo tem.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Amplitude\",\"ngteek\":\"Uma variável de ambiente define este valor.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Ponto final API não encontrado. Configurações não salvas.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplicação\",\"xnCC/2\":\"Você tem certeza de que quer abortar o feiticeiro?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Áudio\",\"n3RW8K\":\"Dispositivo de áudio\",\"sYyYfE\":\"Dispositivo de áudio\",\"2he4Ra\":\"Áudio do dispositivo\",\"MvY15a\":\"Configurações de áudio\",\"NoLJ6g\":\"Configuração de áudio\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 não está atualmente disponível porque esta interface é carregada a partir de uma origem insegura.\",\"aKsflb\":\"Auth0 Inquilino\",\"VbeIOx\":\"Autor\",\"NJgJy9\":\"Autorização\",\"R9Khdg\":\"Auto\",\"6yEk/V\":\"Limpeza automática de todos os dados da mídia\",\"jT50Rz\":\"Autoplay\",\"csDS2L\":\"Disponível em\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Voltar\",\"1KfyNL\":\"Cores de fundo\",\"23c2Uw\":\"Imagem de fundo\",\"r0bEmM\":\"Servidor de backup\",\"JFjQhH\":\"Fluxo de backup\",\"bkJ+QE\":\"URL de backup\",\"OlXThP\":\"Largura de banda\",\"QYaaBO\":\"Controle de largura de banda\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Básico\",\"YR04fn\":\"Fator Beep\",\"5bhON1\":\"Taxa de bits\",\"Os3B4i\":\"Tipos de cache em bloco\",\"zOC7cT\":\"azul\",\"359XuU\":\"Campo inferior\",\"aC3kWW\":\"Descrever brevemente o que o público verá durante a transmissão ao vivo.\",\"SehDNd\":\"marrom\",\"Ptp9MF\":\"Cor do botão\",\"Lp4WkO\":\"Por altura\",\"IeV/4P\":\"Por largura\",\"KxP5AO\":\"Cache para arquivos em /dados.\",\"qX8ffo\":\"Tempo de cache (Segundos)\",\"4dRAku\":\"Tipos de cachês\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampão de captura\",\"aL2+1d\":\"Cliques de captura\",\"EOfLfP\":\"Captura do cursor\",\"ieS3Wc\":[\"Canal \\\"\",[\"0\"],\"\\\" salvo\"],\"lfFsZ4\":\"Canais\",\"WMCwmR\":\"Verificar por atualizações\",\"vM6kpc\":\"Verifique os requisitos\",\"Wzgqhl\":\"Escolha um fluxo de vídeo\",\"JpTR0/\":\"Escolha um fluxo de áudio\",\"BTNyrQ\":\"Escolha um dispositivo de entrada ...\",\"f9QIui\":\"Escolha um fluxo de entrada ...\",\"/Y6zrN\":\"Escolha entre CFR e VFR (Auto)\",\"gObOjh\":\"Escolha o codec ...\",\"v7lrmU\":\"Escolher inquilino ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Pedaço\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Fechar\",\"r8NEPc\":\"Injeção de código\",\"BaUuhR\":\"Codec\",\"jZlrte\":\"Cor\",\"sjVfrA\":\"Comando\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Config\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Confirmar senha\",\"iSLIjg\":\"Conecte\",\"NL3Gev\":\"Dispositivo conectado\",\"ywAvGr\":\"Conectado desde <0/>\",\"lNg25t\":\"Conectando ...\",\"y6+BXa\":\"Conectando-se ao Restreamer Core ...\",\"Td5lm6\":\"A conexão com o Restreamer Core falhou provavelmente por causa do conteúdo misto.\",\"awE5Py\":\"Taxa de quadros constante (CFR)\",\"DT0Af/\":\"Modo Quantizador Constante (-1 a 255).\",\"4b3oEV\":\"Conteúdo\",\"U34RbB\":\"URL do conteúdo\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Núcleos\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Limite de CPU (porcentagem)\",\"uW5tVo\":\"Limite de uso da CPU em porcentagem (0-100%), 0 para ilimitado.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Personalizado ...\",\"kH80Lk\":\"Dispositivo de áudio personalizado\",\"fW1XQD\":\"Índice de áudio personalizado\",\"bzREp0\":\"Taxa de bits personalizada (kbit/s)\",\"w9oKek\":\"Injeção de código personalizado\",\"jYaP01\":\"Atraso personalizado\",\"2Gw+zZ\":\"Dispositivo personalizado\",\"WCXGNp\":\"Formato personalizado\",\"ZkpZ06\":\"Framerate personalizado\",\"1OXCgh\":\"Configuração JSON personalizada para datarhei Core.\",\"kl56NX\":\"Intervalo de chaveiro personalizado\",\"prIqWa\":\"Layout personalizado\",\"HSB43e\":\"Amostragem personalizada (Hz)\",\"Efe3BI\":\"Escala personalizada\",\"E/2KdS\":\"Tamanho personalizado\",\"Se794B\":\"Dispositivo de vídeo personalizado\",\"aqv915\":\"Índice de vídeo personalizado\",\"v8OlX8\":\"Dados copiados para a prancheta\",\"J/VBax\":\"Cor da morte\",\"d2TTfK\":\"Decibéis (dB)\",\"W034oz\":\"Decodificador\",\"ovBPCi\":\"Predefinição\",\"gFwPaj\":[\"Padrão \",[\"0\"]],\"JQnkrI\":[\"Default \",[\"0\"],\" (\",[\"1\"],\" segundos)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Modo de desinterlaçamento\",\"aro6lN\":\"Desinterlaçar a paridade\",\"YeWQto\":\"Atraso\",\"qBC9g9\":\"Atraso (ms)\",\"cnGeoo\":\"Excluir\",\"ScK3zL\":\"A eliminação de um serviço de publicação não pode ser revertida. A publicação pára imediatamente.\",\"cEx3oI\":\"Modo de entrega\",\"Nu4oKW\":\"Descrição\",\"f8fH8W\":\"Projeto\",\"PEHQTf\":\"Dispositivo\",\"+K0AvT\":\"Desconectar\",\"miKA/E\":\"Desconectar e continuar\",\"5/pMTZ\":\"Desconectando ...\",\"sPFHpI\":\"Disco\",\"qczNPP\":\"Cache de disco\",\"PUqOjv\":\"Armazenamento em disco\",\"uTwT/l\":\"Você realmente quer reiniciar a aplicação agora?\",\"FgxcNT\":[\"Você quer excluir \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Você quer apagar \",[\"título\"],\"?\"],\"0p+Mpn\":[\"Você quer desconectar \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Docs\",\"TvY/XA\":\"Documentação\",\"jPtEhI\":\"Molduras Dup\",\"diaSRH\":\"Cada campo\",\"u2SnNO\":\"Cada armação\",\"ePK91l\":\"Editar\",\"INCFjw\":\"Edite as fontes de áudio e vídeo para a transmissão ao vivo. Adicione uma descrição e defina sua licença de conteúdo desejada.\",\"+7Wr2a\":[\"Edição: \",[\"título\"]],\"e3GLqI\":\"EDIT: Jogador\",\"dTPDyf\":\"EDIT: Site de publicação\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Email\",\"KKBlUU\":\"Embutir\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Habilitar\",\"No9svk\":\"Habilitar um bip periódico a cada segundo com este valor vezes a freqüência portadora\",\"R7s0Th\":\"Habilitar o fluxo de backup\",\"xA5zBY\":\"Habilitar estatísticas de nerds\",\"r0zP4o\":\"Habilitar agora\",\"JwR989\":\"Habilitar o fluxo primário\",\"blkDNw\":\"Habilitar servidor RTMP ...\",\"FgEhO4\":\"Habilitar a transferência de RTMPS\",\"uGvvxq\":\"Habilitar instantâneos\",\"IuL64N\":\"Habilitar servidor SRT ...\",\"NJsnxf\":\"Aconselha-se vivamente a autorização. Caso contrário, qualquer pessoa pode ter acesso a esta instância.\",\"xwS6bX\":\"Aconselha-se vivamente que se habilite a auth básica. Caso contrário, qualquer pessoa poderia escrever dados para /memfs.\",\"0zaXWu\":\"Codificador\",\"o0XA5y\":\"Codificação\",\"q1srUM\":\"Criptografia\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Digite um nome para o novo canal.\",\"f7sXvi\":\"Digite a senha\",\"5QCNrf\":\"Digite o endereço de sua fonte de rede:\",\"WLnvCZ\":\"Digite o nome de usuário\",\"ijwVVM\":\"Codificador de entropia\",\"SlfejT\":\"Erro\",\"sHoMKO\":\"Erro ao copiar dados para a prancheta\",\"TpqeIh\":[\"Erro: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Expande a área acima da lista de canais (bate-papo ao vivo).\",\"IBJg8n\":\"Expande a área sob a descrição do canal (caixas de comentários).\",\"XeunlQ\":\"Modo especialista\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Ampliar a lista de canais\",\"tG09kC\":\"Ampliar o conteúdo\",\"bPWJOj\":\"Ampliar o rodapé\",\"SeaRa5\":\"Ampliar cabeçalho\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Falha na criação do serviço de publicação (\",[\"0\"],\")\"],\"yT6MEY\":\"Falha na criação dos arquivos do site de publicação.\",\"FGdPhH\":\"Falha na sondagem da fonte. Por favor, verifique os <0> detalhes da sonda.\",\"DvfYM2\":[\"Falha em atualizar a ficha: \",[\"0\"]],\"J0Jclh\":\"Falha em salvar metadados ingeridos\",\"RPXHsU\":\"Falha em interromper o processo\",\"AhS7uc\":\"Falha no ajuste do tamanho do jogador.\",\"PcJRf4\":[\"Falha no serviço de publicação de lojas (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Falha em atualizar o processo de ingestão (\",[\"0\"],\")\"],\"t1E1OU\":[\"Falha na atualização do processo de ingestão de instantâneos (\",[\"0\"],\")\"],\"bssUbs\":\"Falha na atualização do jogador\",\"4SzVSX\":\"Falha na atualização do site do jogador\",\"H8gP5T\":\"Falha na verificação da fonte. Por favor, verifique o endereço.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Caminho do arquivo\",\"o7J4JM\":\"Filtro\",\"JmZ/+d\":\"Terminar\",\"k4A6IZ\":\"Tamanho fixo\",\"Xgkhyj\":\"Bandeiras\",\"+L0/av\":\"Para Javascripts.\",\"VBU6dD\":\"Para Fichas de Estilo.\",\"XDTTEp\":\"Forçar o frame de entrada\",\"Y5YNoi\":\"Forçar quadros-chave\",\"kI1qVD\":\"Formato\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Gotas de moldura\",\"lPICcX\":\"A moldura é atravessada (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Framerate\",\"RFrfTY\":\"Conversão de taxa de quadros (interpolação de quadros)\",\"xDfHbM\":\"Modo Framerate\",\"4xNpe4\":\"Freqüência (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Geral\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Nome do Google Analytics Tracker\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Dispositivo de ferragens\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Cabeçalho\",\"+670Zw\":\"Manchete\",\"PFFhCT\":\"Altura\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Saída HLS\",\"oMxmoP\":\"Servidor HLS\",\"5/G5c1\":\"Estatísticas HLS para o armazenamento In-memory\",\"wXoUQx\":\"Horizontal Flip\",\"8iPCh6\":\"Interface Restreamer hospedado\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP e HTTPS\",\"YmRLab\":\"Porta HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Porto HTTPS\",\"Ptrvx5\":\"Nome legível pelo ser humano no serviço.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Se você mudou os portos, pode ser que o Restreamer Core já tenha reiniciado, mas agora ele está disponível em um porto diferente.\",\"OQONQS\":\"Se você ativou Let's Encrypt TLS, pode levar algum tempo para adquirir os certificados. Certifique-se de que o Restreamer Core esteja acessível via porta 80 a partir da Internet. Por favor, verifique o log do console do Restreamer Core.\",\"yWR5EY\":\"código iframe\",\"7ZKroD\":\"Ignorar as faixas de IP\",\"VyUuZb\":\"URL da imagem\",\"5n8FKh\":\"Impresso\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Além do jogador, o Restreamer oferece uma página de desembarque completa, que você pode usar para apresentar seu stream ao vivo com facilidade e rapidez.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"Armazenamento em memória\",\"xmsVuq\":\"Incompatível\",\"exUN1j\":\"Inerte\",\"CDdi1R\":\"Injetar 1\",\"MJlrvd\":\"Injetar 2\",\"MppU96\":\"Injetar 3\",\"zBVRQb\":\"Injetar 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Fluxo de entrada\",\"jnyWFc\":\"Domínio da instância\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Intervalo (segundos)\",\"C4WaV1\":\"Alerta de emissão\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Intervalo do quadro-chave (segundos)\",\"rdU729\":\"Layout\",\"Cpw3fU\":\"Vamos encriptar a certificação\",\"LgUs17\":\"Vamos Encriptar requer um ou mais nomes de domínio público e uma porta 80/TCP acessível.\",\"oCHfGC\":\"Nível\",\"eyLS1J\":\"Nível de protocolo do sistema.\",\"iQmbPb\":\"Licença\",\"mQImez\":\"Cor da vida\",\"6BDqha\":\"Limites\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Linhas\",\"yzF66j\":\"Link\",\"NBxw5Y\":\"Link, mouseover\",\"xCrpEt\":\"Lista de extensões de arquivo que não são para cache (por exemplo, \\\".m3u8\\\"), uma por linha. Deixar vazio para nenhuma.\",\"m2l8c3\":\"Lista de extensões de arquivo para cache (por exemplo, \\\".html\\\"), uma por linha. Deixar vazio para o cache de todos os tipos de arquivo.\",\"QYw6tl\":\"Lista de faixas de IP na notação CIDR, por exemplo, 127.0.0.0.1/32, que as estatísticas não registrarão uma faixa IP por linha. Deixe em branco para registrar todas as sessões.\",\"ELFO4F\":\"Tamanho da lista (segmentos)\",\"D0Nwch\":\"Live-Streaming para viver Live RTMP Service.\",\"n2VKys\":\"Live-Streaming para o serviço RTMP ao vivo no Facebook\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Live-Streaming to Media Network RTMP Service.\",\"w9zSAv\":\"Live-Streaming para PeerTube v3+ RTMP/S Service.\",\"SZ9Q++\":\"Live-Streaming para Trovo Live RTMP Service.\",\"JJGagy\":\"Live-Streaming para Twitch Live RTMP Service.\",\"4TnPVp\":\"Live-Streaming para Vimeo Live RTMP Service\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Identificação de fonte de vida\",\"0aIqC4\":\"Nível de log\",\"x7PDL5\":\"Logging\",\"z0t9bb\":\"Login\",\"+fL+Rj\":[\"O login falhou: \",[\"0\"]],\"4cd7gw\":\"O login falhou: Não foi possível carregar detalhes API\",\"sNqu7k\":\"Login/JWT autorização\",\"iG7KNr\":\"Logotipo\",\"nOhz3x\":\"Logout\",\"DYX2fZ\":\"Loop\",\"SzaPTL\":\"Normalização do ruído\",\"QGvS9k\":\"Baixa latência (Buffer)\",\"GaV7al\":\"Canal principal\",\"Wsn0Uw\":\"Canal principal não encontrado\",\"tROIde\":\"Canal principal salvo\",\"nLVSux\":\"Canal da página principal (index.html).\",\"rd3Pv7\":\"Fonte principal\",\"f4txA1\":\"Mantenedor:\",\"3iTz2L\":\"Tornar o canal disponível como um fluxo RTMP (experimental).\",\"mMiku6\":\"Tornar o canal disponível como um fluxo SRT (experimental).\",\"6dZ9NS\":\"Molduras marcadas\",\"iuA3xD\":\"Lista de reprodução principal (aumenta a compatibilidade navegador/cliente)\",\"WBpxnA\":\"Tamanho máximo de cache permitido, 0 para ilimitado.\",\"NzaPGT\":\"Máximo permitido de megabytes de RAM para /memfs, 0 para ilimitado.\",\"aaso5s\":\"Consumo máximo permitido de megabytes a partir do disco rígido. 0 por ilimitado.\",\"4hp5D2\":\"Largura de banda máxima Mbit/s\",\"L+uBOR\":\"Atraso máximo em milissegundos.\",\"hkoCqq\":\"Tamanho máximo do arquivo (Megabytes)\",\"i96JfZ\":\"Tamanho máximo de arquivo para colocar em cache.\",\"Q9HspI\":\"Histórico log máximo\",\"bS9ZHz\":\"Máximo de linhas de toras\",\"6sayfE\":\"Tamanho máximo (Megabytes)\",\"09BWQO\":\"Tempo máximo de ociosidade do espectador (segundos)\",\"hW0DV1\":\"Máximo de espectadores\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Memória\",\"KReOHe\":\"Limite de memória (megabytes)\",\"fViWSz\":\"Limite de uso de memória em megabytes, 0 para ilimitado.\",\"emJ6M7\":\"Meta informação\",\"6GBt0m\":\"Metadados\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", padrão \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Molde\",\"QA/rur\":\"Mais sobre licenças aqui\",\"fyGu1l\":\"Mais sobre o serviço\",\"yBsv2n\":\"Mais sobre os direitos autorais do Twitter <0>aqui.\",\"ZpfAc9\":\"Mais sobre os direitos autorais do YouTube <0>aqui.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Deve ser maior que o tamanho máximo do arquivo em cache.\",\"gC9RIS\":\"Deve ser menor que o tamanho máximo do cache.\",\"R7SsBE\":\"Mudo\",\"K0rCAk\":\"Silenciar um canal.\",\"Jv/kid\":\"Mudo à esquerda\",\"FsCP6P\":\"Direito mudo\",\"6YtxFj\":\"Nome\",\"0ZkQqR\":\"Nome para o modelo. Se o nome já existir, ele será sobregravado.\",\"OR475H\":\"Rede\",\"KZDcDr\":\"Fonte da rede\",\"hXzOVo\":\"Próximo\",\"JZrXI6\":\"A seguir: Áudio\",\"kZFy+Q\":\"A seguir: Configuração do vídeo\",\"1UzENP\":\"Não\",\"p6Fxed\":\"Sem áudio\",\"bIDO3H\":\"Nenhum fluxo de áudio disponível\",\"nn9C5B\":\"Nenhum dispositivo de entrada disponível\",\"dEwhMr\":\"Nenhum fluxo vivo foi detectado. Por favor, verifique o software que envia o fluxo.\",\"1FJdZA\":\"Nenhuma fonte selecionada\",\"3TfuWb\":\"Não há fontes disponíveis\",\"fiXA/y\":\"Não foi encontrado nenhum codificador adequado.\",\"acY4BT\":\"Não foi encontrado nenhum filtro adequado.\",\"/02FxK\":\"Nenhum vídeo\",\"AVWnC9\":\"Nenhum fluxo de vídeo disponível\",\"wZ7CK3\":\"Identificação do nó\",\"9J5l/O\":\"Ruído\",\"EdQY6l\":\"Nenhum\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notas\",\"/a9y2d\":\"Número de linhas de registro a manter.\",\"ZD0urA\":\"Número de logs a serem mantidos para cada processo.\",\"Aia5w3\":\"Número de segundos em que os limites podem ser excedidos.\",\"1lZb7D\":\"Número de colunas de blocos para codificar.\",\"InpHMl\":\"Número de blocos codificados com.\",\"wnRD5D\":\"Número de linhas de blocos para codificar.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Uma referência por linha, por exemplo http://www.example.com\",\"1TNIig\":\"Aberto\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Buffer de saída\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"Frases para criptografia SRT.\",\"fpQo1i\":\"A frase-senha deve ter entre 10 e 79 caracteres\",\"3GZXaB\":\"A passagem (cópia) só deve ser desativada se necessário. Cada codificação requer recursos adicionais de CPU/GPU.\",\"8ZsakT\":\"Senha\",\"b+AuuK\":\"Senha para autorização.\",\"oREnCY\":\"Senha para o dispositivo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Estatísticas persistentes dos telespectadores\",\"ANX1b0\":\"rosa\",\"c8aBfM\":\"Formato Pixel\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plano: <0>Iniciador\",\"Ejic1p\":\"Plataformas\",\"gtQk6c\":\"Reprodução\",\"vRayGs\":\"Jogador\",\"tWB9Gz\":\"Configurações do jogador salvas\",\"GIxxiU\":\"URL do jogador\",\"PUmLMn\":\"Playersite\",\"LKPR6G\":\"Lista de reprodução\",\"luDqS5\":\"Versão da lista de reprodução (M3U8). A versão 3 tem a melhor compatibilidade navegador/cliente.\",\"84gH7g\":\"Por favor, verifique o <0>log de processo\",\"OMpKNS\":\"Favor contatar o operador do serviço e verificar o que acontece.\",\"4lATxE\":\"Por favor, digite seu endereço de e-mail para assinar um acordo com os termos de serviço do Let's Encrypt CA e para ser notificado em caso de problemas.\",\"bdMiXb\":\"Favor entrar em contato com o operador do serviço e verificar o que acontece.\",\"wPZBpR\":\"Por favor, selecione um arquivo para carregar.\",\"YcGRmx\":\"Favor utilizar \\\"Passthrough (cópia)\\\", se possível. A codificação requer recursos adicionais de CPU/GPU.\",\"06qnxB\":\"Por favor, aguarde. Dados do fluxo da sonda ...\",\"FTIPkL\":\"Por favor, aguarde. Preparando o fluxo ...\",\"hZ6znB\":\"Porto\",\"p/78dY\":\"Posição\",\"d62Stt\":\"Pôster\",\"PNap/Y\":\"URL da imagem do pôster\",\"6o2Onc\":\"Predefinição\",\"lxxyq5\":\"Fluxo primário\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Processo\",\"DL/nrw\":\"Controle de processo\",\"fzYV2N\":\"Detalhes do processo\",\"zNVLia\":\"Relatório de processo\",\"PwMwvX\":\"Processamento e controle\",\"vERlcd\":\"Perfil\",\"6+OdGi\":\"Protocolo\",\"hEksWI\":\"Protocolos\",\"aLZh9m\":\"Domínio público/s\",\"7lbVwY\":\"Serviço de publicação não encontrado\",\"ia1vIb\":\"Configurações do site de publicação salvas\",\"XHw75Y\":\"Publicações\",\"dsOSCf\":\"Modo Puxar\",\"lQQ/zA\":\"Puxar ou receber os dados:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Qualidade\",\"i9d+3B\":\"Câmera Raspberry Pi\",\"tbXj/A\":\"Controle de tarifas\",\"iaocTt\":\"Relação\",\"WnSPyE\":\"rav1e Parâmetros\",\"6PpdQP\":\"Ler a entrada em velocidade nativa\",\"bqsSkO\":\"Modo Receber\",\"gcoiFh\":\"Reconecte\",\"lakzvL\":\"Retardo de reconexão (segundos)\",\"HC1Dci\":[\"Reconexão em \",[\"0\"],\"s\"],\"uSDaLA\":[\"A reconexão ao Restreamer Core falhou durante os últimos \",[\"RETRIES\"],\" segundos.\"],\"N7ojfh\":\"A reconexão com o Restreamer Core falhou.\",\"lCF0wC\":\"Atualização\",\"uJ+Ve2\":\"Região\",\"CNipTv\":\"Registrar usuário\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Recarregar\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Remover as entradas mais antigas se o /memfs estiver cheio\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Requer ativação\",\"XMbkus\":\"Restabelecer o logotipo\",\"36SXzE\":\"Redefinir pôster\",\"6z9W13\":\"Reinicie\",\"dKwnjv\":\"Reinício necessário\",\"0Er6+M\":\"Reinicialização\",\"X1sT1j\":\"Reiniciando o Núcleo de Restreamer ...\",\"o5q6jb\":\"A reinicialização do pedido falhou.\",\"x8cAsq\":\"Instruções do Restreamer\",\"24fLVm\":\"Serviço de Restreamer\",\"LCGjV4\":\"Recuperando dados do fluxo ...\",\"6gRgw8\":\"Tentativa\",\"Qe1vaN\":\"Padrão de teste RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Girar\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplicação RTMP para publicação.\",\"7ggERB\":\"Saída RTMP\",\"V82lE+\":\"Porto RTMP\",\"itARjB\":\"Servidor RTMP\",\"WWZqzz\":\"O servidor RTMP não está habilitado\",\"HhOPCL\":\"Endereço de escuta do servidor RTMP.\",\"DbHOhO\":\"Ficha RTMP para publicação e reprodução. O token é o valor do parâmetro de consulta de URL 'token'\",\"OAZeFE\":\"Porto RTMPS\",\"Wt/wFL\":\"Servidor RTMPS\",\"xwonDv\":\"Endereço de escuta do servidor RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Regra\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Amostragem\",\"tfDRzk\":\"Salvar\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Escala\",\"6aaceW\":\"Tamanho da escala\",\"xbb037\":\"Segundos para manter os arquivos em cache.\",\"geM4Wc\":\"Segundos até que um processo seja reiniciado.\",\"iF7dnC\":\"Segundos até o término de um processo parado.\",\"mydmGn\":\"Segundos até que o instantâneo/imagem da fonte de vídeo seja atualizado.\",\"a3LDKx\":\"Segurança\",\"Gkr6zI\":\"Ficha de segurança\",\"/Ocrtf\":\"Cor da barra de busca\",\"4lDlYf\":\"Comprimento do segmento (segundos)\",\"XfNrg+\":\"O segmento será cortado no seguinte quadro-chave após este tempo ter passado. 2 é recomendado.\",\"jHCoDy\":\"Segmentação\",\"htbsw4\":\"Selecione um dispositivo:\",\"O+ruJ3\":\"Selecione a fonte de áudio:\",\"6MTTpq\":\"Selecione RTMP ou SRT (se habilitado) para menos latência.\",\"E7haRr\":\"Selecione a fonte ...\",\"PlZ1aw\":\"Selecione a fonte de vídeo:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Selecione sua configuração de codificação:\",\"aT3o8A\":\"Selecione suas configurações de filtro (opcional):\",\"ylXj1N\":\"Selecionado\",\"kYpw4+\":\"Canal selecionado\",\"p7/fS2\":\"Seleção\",\"SOePwi\":\"Enviar métricas anônimas (nos ajuda para o desenvolvimento futuro)\",\"kOhBl+\":\"Enviar fluxo para o endereço ...\",\"E1X5xY\":\"Enviar fluxo para este endereço:\",\"d/IMf3\":\"Enviar vídeo para Framebuffer\",\"sGH11W\":\"Servidor\",\"9rG25a\":\"URL do servidor\",\"T3bXxK\":\"Serviço\",\"KPPdUO\":\"Nome do serviço\",\"DOrSw/\":\"Ficha de serviço para monitoramento.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Sessões\",\"xwK3ty\":\"Defina a configuração do rav1e usando uma lista separada por :- de parâmetros de chave=valor.\",\"FIIk8R\":\"Define um limite de largura de banda em Mbit por segundo para a transferência de dados HLS de saída. Todos os serviços, tais como RTMP e processos de saída, são incluídos no cálculo. Se a largura de banda for excedida, os visualizadores de HLS recebem o código de status HTTP 509 (Limite de Largura de Banda Excedido). 0 é ilimitado.\",\"cOG/FK\":\"Define um limite de visualização para as sessões de HLS. Se o limite for excedido, os espectadores de HLS recebem o código de status HTTP 509 (Limite de Largura de Banda Excedido). 0 é ilimitado.\",\"mcJFKm\":\"Configuração para conexão com o serviço.\",\"Tz0i8g\":\"Configurações\",\"IiOZ6R\":\"Configurações (modo especialista)\",\"t64OSP\":\"Configurações para /dados de caminho. O acesso é protegido por\",\"Ytdvyh\":\"Configurações para /memfs caminho.\",\"1w3lYe\":\"Configurações salvas. Todas as mudanças serão aplicadas após reiniciar a aplicação.\",\"XUw3i9\":\"Botão compartilhar\",\"oD0Oes\":\"Mostra uma referência ao projeto.\",\"+vv4q2\":\"Cadastre-se (gratuito)\",\"JXVFAm\":\"Silêncio\",\"VSK9FJ\":\"Áudio do silêncio\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Nome do Sitename\",\"Cj2Gtd\":\"Tamanho\",\"yTZe+y\":\"Snapshot\",\"pSUgnY\":\"Login social (OAuth2, 2FA)\",\"qe9jaI\":\"Tempo limite da tomada (microssegundos)\",\"bRN5nm\":\"Software\",\"wdxz7K\":\"Fonte\",\"sywlQb\":\"Fonte e Codificação\",\"l9wI00\":\"Velocidade\",\"vdhBFK\":\"Velocidade predefinida\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Saída SRT\",\"YqnAto\":\"Servidor SRT\",\"k6hpqB\":\"O servidor SRT não está habilitado\",\"SzqwHY\":\"Endereço de escuta do servidor SRT.\",\"KwbjpB\":\"Ficha SRT para publicação e reprodução. O token é o valor do parâmetro streamid 'token'.\",\"Aj28wT\":\"Tempo esgotado (segundos)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Estatísticas\",\"BrrIs8\":\"Armazenamento\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Armazena as estatísticas do telespectador no disco.\",\"hou0tP\":\"Corrente\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Chave do fluxo\",\"bqiH5R\":\"Chave de fluxo\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Nome do riacho\",\"eXELiS\":\"Nomes dos fluxos\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Fonte do fluxo para o serviço de publicação (experimental).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL do fluxo\",\"+fVH0Y\":\"Suporte datarhei Restreamer\",\"5HSoct\":\"Suporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT e muito mais.\",\"D+NlUC\":\"Sistema\",\"jkuW2z\":\"Endereço alvo\",\"/K2CvV\":\"Modelo\",\"2Ivkf/\":\"Modelo a ser utilizado para a criação do site de publicação. O botão apagar remove a seleção do sistema.\",\"4Y5H+g\":\"Termos\",\"tRNH6x\":\"Padrão de teste\",\"EtlVOt\":\"Padrão de teste (estendido)\",\"wGPolR\":\"Cores do texto\",\"m0TUJj\":\"A amplitude (0,0 - 1,0) do fluxo de áudio gerado\",\"8C6xwe\":\"A aplicação está usando uma versão mais antiga das configurações.\",\"VPQVR2\":\"O binário FFmpeg disponível não suporta nenhum dos protocolos necessários.\",\"Gx9PPK\":\"A taxa de bits do fluxo de áudio.\",\"T2kk3f\":\"A freqüência portadora\",\"JAOLK8\":[\"O canal \\\"\",[\"0\"],\"\\\" não pôde ser excluído\"],\"jNaBhy\":[\"O canal \\\"\",[\"0\"],\"\\\" foi excluído\"],\"SD8pYJ\":\"A eliminação deste canal não pode ser recuperada. Todas as publicações deste canal serão removidas.\",\"bnkV//\":\"O perfil de entrada não está completo. Por favor, defina uma fonte de vídeo e áudio.\",\"wCYjmB\":\"O perfil de entrada não está completo. Defina uma fonte de vídeo e/ou áudio.\",\"JMaqWu\":\"O layout do fluxo de áudio.\",\"0dqo+p\":\"O número máximo de segmentos da playlist. 0 conterá todos os segmentos. 6 é recomendado.\",\"BDgbiW\":\"A cor do ruído\",\"SxGu7I\":\"A pessoa que associou uma obra a esta escritura dedicou a obra ao domínio público, renunciando a todos os seus direitos à obra em todo o mundo sob a lei de direitos autorais, incluindo todos os direitos conexos e vizinhos, na medida do permitido por lei. Você pode copiar, modificar, distribuir e executar a obra, mesmo para fins comerciais, tudo sem pedir permissão.\",\"XISvrq\":\"O nome de domínio acessível ao público do host em que este Restreamer está funcionando. Separe vários nomes de domínio por uma vírgula.\",\"yt3d3G\":[\"O serviço de publicação \\\"\",[\"0\"],\"\\\" não pôde ser excluído\"],\"zYcO/c\":[\"Foi criado o serviço de publicação \\\"\",[\"0\"],\"\\\"\"],\"AQE+oz\":[\"O serviço de publicação \\\"\",[\"0\"],\"\\\" foi eliminado\"],\"qVLWvp\":\"O serviço de publicação foi criado\",\"njj2Wn\":\"A saída do RTMP requer o servidor RTMP.\",\"WRxiP8\":\"A taxa de amostragem do fluxo de áudio.\",\"/pZjRr\":\"O arquivo selecionado é muito grande (<0/>). Somente <1/> são permitidos.\",\"VBaSn9\":[\"O tipo de arquivo selecionado (\",[\"0\"],\") não é permitido. Os tipos de arquivo permitidos são \",[\"1\"]],\"fM410X\":[\"As configurações para \\\"\",[\"0\"],\"\\\" foram salvas\"],\"02ii2e\":\"A fonte não fornece nenhum fluxo de áudio.\",\"+2cAEU\":\"A fonte não fornece nenhum fluxo de áudio. Por favor, verifique os detalhes da <0>probe.\",\"pfqmY7\":\"A fonte não fornece nenhum fluxo de áudio compatível.\",\"VO9KeK\":\"A fonte não fornece nenhuma transmissão de vídeo compatível. Por favor, verifique as <0>requisitos.\",\"007foU\":\"A fonte não fornece nenhuma transmissão de vídeo. Por favor, verifique os detalhes da <0>probe.\",\"lAsMdV\":\"A fonte não fornece nenhuma transmissão de vídeo. Por favor, verifique o dispositivo.\",\"XlnvcR\":\"A saída SRT requer o SRT Server.\",\"w6uuIE\":\"A fonte de vídeo não fornece nenhum fluxo de áudio compatível. <0>Silêncio de áudio é recomendado. Serviços como, por exemplo, YouTube, Facebook & Co. requerem um canal de áudio.\",\"YJJ2RL\":\"A fonte de vídeo é compatível. Selecione a resolução desejada:\",\"wEiZHy\":\"Há atualizações disponíveis. Aqui você obtém mais informações.\",\"4p1MgS\":\"Havia um problema no armazenamento das configurações. As configurações não foram salvas.\",\"YJhhwT\":[\"Houve um erro de conexão com o Restreamer Core em \",[\"0\"],\".\"],\"q42VsF\":[\"Houve um erro durante o upload: \",[\"0\"]],\"HM96PJ\":\"Houve um erro ao configurar o fluxo.\",\"LoDP+Y\":\"Houve alguns erros nas configurações. As configurações não foram salvas.\",\"l92ZKN\":\"Não há nenhum método de login disponível.\",\"cPKuc8\":\"Este é um serviço fictício que explica a você os conceitos de serviço.\",\"Ku8nyu\":\"Isto não é necessariamente um erro. Entretanto, pode levar um pouco mais de tempo para que o Restreamer Core reinicie.\",\"vCRP3w\":\"Isto para mencionar os regulamentos de direitos autorais para o alvo deste serviço.\",\"Hx7k3c\":\"Esta licença permite aos reutilizadores copiar e distribuir o material em qualquer meio ou formato apenas de forma desadaptada, e apenas enquanto a atribuição for dada ao criador. A licença permite o uso comercial.\",\"6OeMYB\":\"Esta licença permite aos reutilizadores copiar e distribuir o material em qualquer meio ou formato apenas de forma não adaptada, apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador.\",\"TUuhsB\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador.\",\"kVtKRl\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador. Se você remixar, adaptar ou construir sobre o material, você deve licenciar o material modificado sob termos idênticos.\",\"FpX5mp\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato, desde que a atribuição seja dada ao criador. A licença permite o uso comercial.\",\"SDvwLd\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato, desde que a atribuição seja dada ao criador. A licença permite o uso comercial. Se você remixar, adaptar, ou construir sobre o material, você deve licenciar o material modificado sob termos idênticos.\",\"H144rX\":\"Este protocolo é desconhecido ou não suportado pelo binário FFmpeg disponível.\",\"nlOxxw\":\"Esta fonte não pode ser editada enquanto estiver em uso. Para continuar, você tem que desconectar a fonte.\",\"mbSyrG\":[\"Esta versão da IU não suporta o binário FFmpeg disponível (\",[\"0\"],\"). A interface de usuário requer \",[\"1\"],\". Por favor, use um binário FFmpeg compatível.\"],\"N/tTgz\":[\"Esta versão da IU não suporta o Núcleo conectado (\",[\"0\"],\"). A interface de usuário requer \",[\"1\"],\". Por favor, use uma versão compatível da IU.\"],\"2Vq5tr\":\"Esta versão da IU é compatível.\",\"QxX9Z5\":\"Limite (segundos)\",\"sNmspt\":\"Colunas de azulejos\",\"sYGp2E\":\"Fileiras de ladrilhos\",\"wbOpwP\":\"Ladrilhos\",\"H59P7E\":\"Tempo até que uma conexão inativa do visor seja tratada como fechada.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Para estabilizar o sistema, aumentar o comprimento do segmento HLS para o intervalo do quadro-chave em 2-3 * (Processamento e Controle).\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Campo superior\",\"7mjsuh\":\"Transmitir um Livestream para um Canal de Telegramas.\",\"Gxlq7L\":\"Transmitir instantâneos da fonte principal para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"SdyhUl\":\"Transmitir o canal de áudio da fonte principal para um servidor Icecast. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"MayU3b\":\"Transmitir a fonte principal como HTTP-Live-Streaming (HLS) para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"3K8kpL\":\"Transmitir a fonte principal como MPEG-DASH para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"P/J230\":\"Transmitir a fonte principal a um Serviço Brightcove Live. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"u0MhFy\":\"Transmitir a fonte principal para um Serviço CDN77 RTMP. Mais sobre a configuração <0>aqui.\",\"zkgT7c\":\"Transmitir a fonte principal a um Serviço DaCast RTMP. Mais sobre a configuração <0>aqui.\",\"in9xJz\":\"Transmitir a fonte principal a um datarhei Core Ressource. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"PcgwEU\":\"Transmitir a fonte principal a um livepotting.com Ressource. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"D7jwpf\":\"Transmitir a fonte principal para um serviço MPEG-TS. Mais detalhes sobre as configurações podem ser encontrados aqui <0>aqui.\",\"SpSgUV\":\"Transmitir a fonte principal para um Servidor Red5/Pro. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"lIpqI/\":\"Transmita a fonte principal para um servidor RTMP(e|s|t|te|ts). Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"pqR6nq\":\"Transmitir a fonte principal para um servidor RTSP. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Q4dSnZ\":\"Transmitir a fonte principal para um servidor SRT. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"fx9S4p\":\"Transmitir a fonte principal para um servidor UDP. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"GLXY2N\":\"Transmitir a fonte principal para um servidor WOWZA. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"AsMKFi\":\"Transmita a fonte principal para a Akamai (MSL) Media Services Live. Mais detalhes sobre as configurações do codificador MSL podem ser encontrados em <0>here.\",\"FB364G\":\"Transmitir a fonte principal para o serviço RTMP do Livepush. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"CC9yS5\":\"Transmitir a fonte principal para o serviço RTMP do Nimo TV. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"fP8ZYg\":\"Transmitir a fonte principal para o serviço RTMP do Picarto TV. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"D9A0LK\":\"Transmitir a fonte principal para o Serviço RTMP da Restream. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"YL800g\":\"Transmitir a um Serviço de Mídia Azure. Mais detalhes podem ser encontrados <0>aqui.\",\"Abgy4c\":\"Transmitir para o LinkedIn. Mais detalhes podem ser encontrados <0>aqui.\",\"dhCZoS\":\"Transmita sua transmissão ao vivo para um serviço RTMP do Dailymotion. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"tQNclD\":\"Transmita sua transmissão ao vivo para um serviço RTMP do Kick.com. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"mQ0sjr\":\"Transmita seu Livestream a um servidor Owncast. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"AqYRa3\":\"Transmita sua transmissão ao vivo para um serviço Rumble RTMP. <0>Aqui você pode encontrar mais detalhes sobre as configurações.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Transmite seu fluxo de vídeo com a chave necessária, que foi gerada no Twitter Producer. Você pode encontrar mais informações sobre a configuração de um fluxo ao vivo no Twitter's <0>Produtor.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"Transporte UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Incapaz de carregar a configuração.\",\"MWrgON\":\"Identidade única no serviço.\",\"Ef7StM\":\"Desconhecido\",\"wiIpKZ\":\"Erro de upload desconhecido\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Não selecionado\",\"j9zg7e\":\"Detalhes de atualização (Changelog)\",\"ONWvwQ\":\"Upload\",\"OXItQT\":[\"Carregue um arquivo de áudio (\",[\"0\"],\") para fazer um loop.\"],\"75yxb7\":[\"Carregue um arquivo de imagem ou vídeo (\",[\"0\"],\") para fazer um loop.\"],\"iAkPTY\":\"O upload do arquivo falhou\",\"Jmy6pK\":\"O carregamento do logotipo falhou\",\"xl1xFp\":\"Falha ao carregar o pôster\",\"TjrbDj\":\"Horário de funcionamento\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Use o Auth0 para seu Restreamer Core em funcionamento. Mais <0>detalhes.\",\"JX4TqK\":\"Use o assistente (<0/>) para uma configuração rápida e fácil, ou edite (<1/>) as fontes diretamente no modo personalizado.\",\"YYTBz0\":\"Use seus direitos autorais e escolha a licença de imagem correta. Seja gratuita para todos ou altamente restrita. Discuta brevemente o que outros estão autorizados a fazer com sua imagem.\",\"2UPEb1\":\"Use seus direitos autorais e escolha a licença de imagem correta. Seja gratuita para todos ou altamente restrita. Discuta brevemente o que outros estão autorizados a fazer com sua imagem.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Registro de usuário\",\"7sNhEz\":\"Nome de usuário\",\"Gv3pbp\":\"Nome de usuário para autorização.\",\"RQSvXZ\":\"Nome de usuário para o dispositivo.\",\"zze3B5\":\"V4L2_M2M é experimental.\",\"PvM7Yi\":\"Taxa de quadros variável (VFR)\",\"hpBTpL\":\"veludo\",\"uIAsxu\":\"Vertical Flip\",\"vSJd18\":\"Vídeo\",\"auaWhL\":\"Dispositivo de vídeo\",\"/skRGV\":\"Configurações de vídeo\",\"EzOjvB\":\"Configuração do vídeo\",\"QcQXbU\":\"Fonte do vídeo\",\"M/TIv1\":\"Visualizador\",\"L2hKw+\":\"violeta\",\"hA6FFn\":\"Fonte virtual\",\"/cF7Rs\":\"Volume\",\"/gnt8J\":\"ID DA VPU\",\"wRy4hg\":\"Recomendamos o OpenMAX IL for Raspberry PI (3/4) com um sistema operacional de 32 bits.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Bem-vindo à Restreamer v2, a solução para a publicação rápida e fácil de vídeos. Grátis para uso privado e comercial. Mais ajuda no <0>docs.\",\"hJfWkA\":\"Qual predefinição de velocidade usar.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Onde armazenar a lista de reprodução e segmentos da HLS. In-Memory é recomendado.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"branco\",\"aFWU1n\":\"Largura\",\"e0wV2Y\":\"Proteção de escrita\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Sim\",\"WPUsOF\":\"Você não pode abortar o assistente porque pelo menos uma entrada deve ser definida.\",\"qwY9F9\":\"Você mudou a configuração. Para que as mudanças tenham efeito, você tem que reiniciar a aplicação. Você quer reiniciar agora?\",\"nxq2ni\":\"Você tem que reconectar manualmente\",\"RM3CEc\":\"Você tem mudanças não salvas. Por favor, salve-as antes de poder controlar o serviço novamente.\",\"/cg7qS\":\"Seu fluxo precisa ser codificado, mas não há um codificador adequado disponível.\",\"BwrOm6\":\"Seu fluxo precisa ser codificado. Escolha o codificador desejado:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Padrão de teste YUV\"}")}; \ No newline at end of file diff --git a/src/locales/pt-br/messages.po b/src/locales/pt-br/messages.po index 1ae03e9..3023c77 100644 --- a/src/locales/pt-br/messages.po +++ b/src/locales/pt-br/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Lista de compatibilidade" msgid "<0>Show probe details" msgstr "<0>Mostrar detalhes da sonda" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Mudar para a interface do Restreamer alvo." @@ -76,11 +76,16 @@ msgstr "Abortar" msgid "About" msgstr "Sobre" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Áudio" @@ -302,10 +311,6 @@ msgstr "Autor" msgid "Authorization" msgstr "Autorização" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Auto" @@ -322,10 +327,6 @@ msgstr "Autoplay" msgid "Available" msgstr "Disponível em" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Tempo de cache (Segundos)" msgid "Cache types" msgstr "Tipos de cachês" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Pedaço" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Cor" msgid "Command" msgstr "Comando" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Config" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Dispositivo conectado" msgid "Connected since <0/>" msgstr "Conectado desde <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Conectando ..." @@ -616,15 +618,19 @@ msgstr "Modo Quantizador Constante (-1 a 255)." msgid "Content" msgstr "Conteúdo" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL do conteúdo" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Limite de CPU (porcentagem)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Limite de uso da CPU em porcentagem (0-100%), 0 para ilimitado." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Modo de desinterlaçamento" msgid "Deinterlace parity" msgstr "Desinterlaçar a paridade" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Atraso" @@ -851,14 +841,6 @@ msgstr "A eliminação de um serviço de publicação não pode ser revertida. A msgid "Delivering mode" msgstr "Modo de entrega" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Desconectar" msgid "Disconnect & Continue" msgstr "Desconectar e continuar" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Jogador" msgid "EDIT: Publication Website" msgstr "EDIT: Site de publicação" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Email" msgid "Embed" msgstr "Embutir" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Codificação" msgid "Encryption" msgstr "Criptografia" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Digite um nome para o novo canal." @@ -1101,12 +1099,12 @@ msgstr "Erro" msgid "Error while copying data to clipboard" msgstr "Erro ao copiar dados para a prancheta" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Erro: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Caminho do arquivo" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filtro" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Geral" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Nome do Google Analytics Tracker" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Dispositivo de ferragens" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Manchete" msgid "Height" msgstr "Altura" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Estatísticas HLS para o armazenamento In-memory" msgid "Horizontal Flip" msgstr "Horizontal Flip" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Interface Restreamer hospedado" @@ -1438,8 +1429,8 @@ msgstr "Porto HTTPS" msgid "Human readable name on the service." msgstr "Nome legível pelo ser humano no serviço." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Incompatível" msgid "Inherit" msgstr "Inerte" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Injetar 1" @@ -1527,6 +1514,14 @@ msgstr "Injetar 3" msgid "Inject 4" msgstr "Injetar 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Intervalo do quadro-chave (segundos)" msgid "Layout" msgstr "Layout" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Vamos encriptar a certificação" @@ -1668,6 +1659,10 @@ msgstr "Live-Streaming para Twitch Live RTMP Service." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Live-Streaming para Vimeo Live RTMP Service" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Identificação de fonte de vida" @@ -1726,7 +1721,7 @@ msgstr "Normalização do ruído" msgid "Low latency (Buffer)" msgstr "Baixa latência (Buffer)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Canal principal" @@ -1848,6 +1843,10 @@ msgstr "Metadados" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, padrão {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Molde" @@ -1870,7 +1869,7 @@ msgstr "Mais sobre os direitos autorais do Twitter <0>aqui." msgid "More about YouTube's copyright <0>here." msgstr "Mais sobre os direitos autorais do YouTube <0>aqui." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Sem áudio" msgid "No audio stream available" msgstr "Nenhum fluxo de áudio disponível" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Nenhum dispositivo de entrada disponível" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Nenhum fluxo vivo foi detectado. Por favor, verifique o software que envia o fluxo." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Nenhuma fonte selecionada" @@ -1989,7 +1972,7 @@ msgstr "Não foi encontrado nenhum codificador adequado." msgid "No suitable filter found." msgstr "Não foi encontrado nenhum filtro adequado." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Nenhum vídeo" @@ -1998,10 +1981,6 @@ msgstr "Nenhum vídeo" msgid "No video stream available" msgstr "Nenhum fluxo de vídeo disponível" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Identificação do nó" @@ -2052,10 +2031,6 @@ msgstr "Número de blocos codificados com." msgid "Number of tiles rows to encode with." msgstr "Número de linhas de blocos para codificar." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Uma referência por linha, por exemplo http://www.example.com" msgid "Open" msgstr "Aberto" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Buffer de saída" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Senha para o dispositivo." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Lista de reprodução" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Versão da lista de reprodução (M3U8). A versão 3 tem a melhor compatibilidade navegador/cliente." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Por favor, verifique o <0>log de processo" @@ -2309,16 +2284,9 @@ msgstr "Predefinição" msgid "Primary stream" msgstr "Fluxo primário" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Processo" msgid "Process control" msgstr "Controle de processo" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Detalhes do processo" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protocolo" msgid "Protocols" msgstr "Protocolos" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Domínio público/s" @@ -2437,6 +2401,10 @@ msgstr "Modo Puxar" msgid "Pull or recieve the data:" msgstr "Puxar ou receber os dados:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Reconecte" msgid "Reconnect delay (seconds)" msgstr "Retardo de reconexão (segundos)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Região" msgid "Register user" msgstr "Registrar usuário" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Remover as entradas mais antigas se o /memfs estiver cheio" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Instruções do Restreamer" msgid "Restreamer Service" msgstr "Serviço de Restreamer" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Recuperando dados do fluxo ..." @@ -2618,15 +2578,15 @@ msgstr "Tentativa" msgid "RGB test pattern" msgstr "Padrão de teste RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Girar" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Regra" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Escala" msgid "Scale size" msgstr "Tamanho da escala" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Segundos para manter os arquivos em cache." @@ -2778,10 +2738,6 @@ msgstr "O segmento será cortado no seguinte quadro-chave após este tempo ter p msgid "Segmentation" msgstr "Segmentação" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Selecione a fonte ..." msgid "Select video source:" msgstr "Selecione a fonte de vídeo:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Selecione se você puxa o fluxo de uma <0> fonte de rede (como uma câmera de rede) ou o <1> servidor RTMP interno (por exemplo, fluxos OBS para o Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Nome do serviço" msgid "Service token for monitoring." msgstr "Ficha de serviço para monitoramento." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Configurações" msgid "Settings (expert mode)" msgstr "Configurações (modo especialista)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Configurações para /dados de caminho. O acesso é protegido por" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Tamanho" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Snapshot" @@ -3005,7 +2957,7 @@ msgstr "Velocidade" msgid "Speed Preset" msgstr "Velocidade predefinida" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Ladrilhos" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Tempo até que uma conexão inativa do visor seja tratada como fechada." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Para estabilizar o sistema, aumentar o comprimento do segmento HLS para o intervalo do quadro-chave em 2-3 * (Processamento e Controle)." @@ -3477,18 +3413,6 @@ msgstr "Para estabilizar o sistema, aumentar o comprimento do segmento HLS para msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Campo superior" @@ -3627,12 +3551,12 @@ msgstr "Tune" msgid "UDP transport" msgstr "Transporte UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Desconhecido" msgid "Unknown upload error" msgstr "Erro de upload desconhecido" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Falha ao carregar o pôster" msgid "Uptime" msgstr "Horário de funcionamento" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Use seus direitos autorais e escolha a licença de imagem correta. Seja msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Registro de usuário" @@ -3773,10 +3693,6 @@ msgstr "Nome de usuário para autorização." msgid "Username for the device." msgstr "Nome de usuário para o dispositivo." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M é experimental." @@ -3850,10 +3766,10 @@ msgstr "ID DA VPU" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Recomendamos o OpenMAX IL for Raspberry PI (3/4) com um sistema operacional de 32 bits." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Bem-vindo à Restreamer v2, a solução para a publicação rápida e f msgid "What speed preset to use." msgstr "Qual predefinição de velocidade usar." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Onde armazenar a lista de reprodução e segmentos da HLS. In-Memory é recomendado." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "branco" @@ -3881,6 +3809,10 @@ msgstr "Largura" msgid "Write protection" msgstr "Proteção de escrita" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Sim" @@ -3893,7 +3825,7 @@ msgstr "Você não pode abortar o assistente porque pelo menos uma entrada deve msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Você mudou a configuração. Para que as mudanças tenham efeito, você tem que reiniciar a aplicação. Você quer reiniciar agora?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Você tem que reconectar manualmente" @@ -3910,14 +3842,6 @@ msgstr "Seu fluxo precisa ser codificado, mas não há um codificador adequado d msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Seu fluxo precisa ser codificado. Escolha o codificador desejado:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/ru/messages.js b/src/locales/ru/messages.js index 9c2c138..8bed672 100644 --- a/src/locales/ru/messages.js +++ b/src/locales/ru/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Список совместимости\",\"TkRUk0\":\"<0>Показать детали зонда\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Переключитесь на интерфейс целевого Restreamer.\",\"2JnpXL\":\"2. Создайте новый канал и выберите сервер RTMP или SRT.\",\"YidyJl\":\"3. Скопируйте URL-адрес и вставьте его в поле \\\"Адрес цели\\\".\",\"X1MZZp\":\"6 (+ гарантированное начало с ключевого кадра)\",\"JVJkxU\":\"7 (+ фрагментированный формат MP4)\",\"ssjjFt\":\"Отмена\",\"uyJsf6\":\"О\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Добавить\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Добавьте внешние виджеты и стили на сайт публикации. Вы можете найти несколько примеров на странице помощи.\",\"tsJWSj\":\"Добавить новый канал\",\"PLTLdv\":\"Добавить публикацию\",\"35l+l6\":[\"Добавить: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Адрес\",\"8M7jVn\":\"Ссылка на изображение фона.\",\"Vu9yiv\":\"Порт для запросов HTTP.\",\"AQDW5r\":\"Порт для запросов HTTPS.\",\"tPrmjP\":\"Адрес:\",\"owt8Ow\":\"Настройте цвета и фон сайта публикации по своему усмотрению.\",\"uNXGDK\":\"Расширенный мониторинг\",\"VNgKZz\":\"Расширенные настройки\",\"eiGNYb\":\"Advanced Setup\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Оповещение по электронной почте\",\"N40H+G\":\"Все\",\"Hw5q+W\":\"Все рамки\",\"f2zxGk\":\"Все важные системные настройки.\",\"lle3bd\":\"Разрешить всех рефералов\",\"bgFbIB\":\"Разрешить подсчет количества зрителей у трансляции.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Амплитуда\",\"ngteek\":\"Переменная среды задает это значение.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Конечная точка API не найдена. Настройки не сохранены.\",\"LMUw1U\":\"Приложение\",\"IrC12v\":\"Приложение\",\"xnCC/2\":\"Вы уверены, что хотите прервать работу мастера настройки?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Аудио\",\"n3RW8K\":\"Аудио-устройство\",\"sYyYfE\":\"Аудиоустройство\",\"2he4Ra\":\"Звук с устройства\",\"MvY15a\":\"Настройки звука\",\"NoLJ6g\":\"Настройка звука\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 в настоящее время недоступен, так как этот интерфейс загружается из небезопасного источника.\",\"aKsflb\":\"Клиент Auth0\",\"VbeIOx\":\"Автор\",\"NJgJy9\":\"Авторизация\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Авто\",\"6yEk/V\":\"Автоматическая очистка всех медиаданных\",\"jT50Rz\":\"Автовоспроизведение\",\"csDS2L\":\"Доступный\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Назад\",\"1KfyNL\":\"Цвета фона\",\"23c2Uw\":\"Фоновая картинка\",\"r0bEmM\":\"Резервный сервер\",\"JFjQhH\":\"Резервный поток\",\"bkJ+QE\":\"Резервный URL\",\"OlXThP\":\"Пропускная способность\",\"QYaaBO\":\"Контроль трафика\",\"KSSL9f\":\"Баннер\",\"0wJVK+\":\"Базовый\",\"YR04fn\":\"Звуковой фактор\",\"5bhON1\":\"Битрейт\",\"Os3B4i\":\"Типы блочного кэша\",\"zOC7cT\":\"синий\",\"359XuU\":\"Нижнее поле\",\"aC3kWW\":\"Кратко опишите, что зрители увидят во время прямой трансляции.\",\"SehDNd\":\"коричневый\",\"Ptp9MF\":\"Цвет кнопки\",\"Lp4WkO\":\"По высоте\",\"IeV/4P\":\"По ширине\",\"KxP5AO\":\"Кэш для файлов в /data.\",\"qX8ffo\":\"Время кэширования (сек)\",\"4dRAku\":\"Типы кеша\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Буфер захвата\",\"aL2+1d\":\"Захват кликов\",\"EOfLfP\":\"Захват курсора\",\"ieS3Wc\":[\"Канал \\\"\",[\"0\"],\"\\\" сохранен\"],\"lfFsZ4\":\"Каналы\",\"WMCwmR\":\"Проверять обновление\",\"vM6kpc\":\"Проверить требования\",\"Wzgqhl\":\"Выберите видеопоток\",\"JpTR0/\":\"Выберите аудиопоток\",\"BTNyrQ\":\"Выберите устройство ввода...\",\"f9QIui\":\"Выберите входной поток ...\",\"/Y6zrN\":\"Выбор между CFR и VFR (авто)\",\"gObOjh\":\"Выберите кодек...\",\"v7lrmU\":\"Выбрать клиента...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Чанк\",\"yz7wBu\":\"Закрыть\",\"r8NEPc\":\"Внедрение кода\",\"BaUuhR\":\"Кодек\",\"jZlrte\":\"Цвет\",\"sjVfrA\":\"Команда\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Конфигурация\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Подтвердить пароль\",\"iSLIjg\":\"Подключить\",\"NL3Gev\":\"Подключенное устройство\",\"ywAvGr\":\"Подключено с <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Подключение ...\",\"y6+BXa\":\"Подключение к ядру Restreamer...\",\"Td5lm6\":\"Не удалось подключиться к ядру Restreamer, вероятно, из-за смешанного контента.\",\"awE5Py\":\"Постоянная частота кадров (CFR)\",\"DT0Af/\":\"Режим постоянного квантования (от -1 до 255).\",\"4b3oEV\":\"Контент\",\"U34RbB\":\"URL содержимого\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Ядра\",\"FSbpS7\":\"ПРОЦЕССОР\",\"n8Ycrf\":\"Предел процессора (в процентах)\",\"uW5tVo\":\"Ограничение использования процессора в процентах (0-100%), 0 - неограниченное.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Пользовательский ...\",\"kH80Lk\":\"Пользовательское аудиоустройство\",\"fW1XQD\":\"Пользовательский звуковой индекс\",\"bzREp0\":\"Пользовательский битрейт (кбит/с)\",\"w9oKek\":\"Внедрение пользовательского кода\",\"jYaP01\":\"Пользовательская задержка\",\"2Gw+zZ\":\"Пользовательское устройство\",\"WCXGNp\":\"Пользовательский формат\",\"ZkpZ06\":\"Пользовательская частота кадров\",\"1OXCgh\":\"Пользовательская конфигурация JSON для ядра datarhei.\",\"kl56NX\":\"Пользовательский интервал ключевых кадров\",\"prIqWa\":\"Пользовательский макет\",\"HSB43e\":\"Пользовательская выборка (Гц)\",\"Efe3BI\":\"Пользовательский масштаб\",\"E/2KdS\":\"Пользовательский размер\",\"Se794B\":\"Пользовательское видеоустройство\",\"aqv915\":\"Пользовательский индекс видео\",\"v8OlX8\":\"Данные скопированы в буфер обмена\",\"J/VBax\":\"Цвет смерти\",\"d2TTfK\":\"Децибелы (дБ)\",\"W034oz\":\"Декодер\",\"ovBPCi\":\"По умолчанию\",\"gFwPaj\":[\"По умолчанию \",[\"0\"]],\"JQnkrI\":[\"По умолчанию \",[\"0\"],\" (\",[\"1\"],\" секунд)\"],\"A7rne1\":\"Деинтерлейс (bwdif)\",\"yLth2B\":\"Деинтерлейс deint\",\"g3JmiG\":\"Режим деинтерлейса\",\"aro6lN\":\"Деинтерлейс по четности\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Задержка\",\"qBC9g9\":\"Задержка (мс)\",\"cnGeoo\":\"Удалить\",\"ScK3zL\":\"Удаление службы публикации нельзя отменить. Публикация сразу прекращается.\",\"cEx3oI\":\"Режим доставки\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Описание\",\"f8fH8W\":\"Дизайн\",\"PEHQTf\":\"Устройство\",\"+K0AvT\":\"Отключить\",\"miKA/E\":\"Отключить и продолжить\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Отключение ...\",\"sPFHpI\":\"Диск\",\"qczNPP\":\"Кэш диска\",\"PUqOjv\":\"Дисковое хранилище\",\"uTwT/l\":\"Вы действительно хотите перезапустить приложение сейчас?\",\"FgxcNT\":[\"Вы хотите удалить \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Вы хотите удалить \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Вы хотите отключить \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Документы\",\"TvY/XA\":\"Документация\",\"jPtEhI\":\"Дуп. кадры\",\"diaSRH\":\"Каждое поле\",\"u2SnNO\":\"Каждая рама\",\"ePK91l\":\"Редактировать\",\"INCFjw\":\"Отредактируйте аудио и видеоисточники для прямой трансляции. Добавьте описание и установите желаемую лицензию на содержимое.\",\"+7Wr2a\":[\"Изменить: \",[\"title\"]],\"e3GLqI\":\"РЕДАКТИРОВАТЬ: Плеер\",\"dTPDyf\":\"РЕДАКТИРОВАТЬ: Сайт публикации\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Электронная почта\",\"KKBlUU\":\"Встроить\",\"PaQ3df\":\"Включить\",\"No9svk\":\"Включить периодический звуковой сигнал каждую секунду с этим значением, умноженным на несущую частоту\",\"R7s0Th\":\"Включить резервный поток\",\"xA5zBY\":\"Включить статистику ботаников\",\"r0zP4o\":\"Включить сейчас\",\"JwR989\":\"Включить основной поток\",\"blkDNw\":\"Включить RTMP сервер ...\",\"FgEhO4\":\"Включить передачу RTMPS\",\"uGvvxq\":\"Включить снимки\",\"IuL64N\":\"Включить сервер SRT ...\",\"NJsnxf\":\"Настоятельно рекомендуется включить авторизацию. В противном случае любой может получить доступ к этому экземпляру.\",\"xwS6bX\":\"Настоятельно рекомендуется включить базовую аутентификацию. В противном случае любой может записать данные в /memfs.\",\"0zaXWu\":\"Кодировщик\",\"o0XA5y\":\"Кодирование\",\"q1srUM\":\"Шифрование\",\"qS2y97\":\"Введите имя для нового канала.\",\"f7sXvi\":\"Введите пароль\",\"5QCNrf\":\"Введите адрес вашего сетевого источника:\",\"WLnvCZ\":\"Введите имя пользователя\",\"ijwVVM\":\"Энтропийный кодер\",\"SlfejT\":\"Ошибка\",\"sHoMKO\":\"Ошибка при копировании данных в буфер обмена\",\"TpqeIh\":[\"Ошибка: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Расширяет область над списком каналов (живой чат).\",\"IBJg8n\":\"Расширяет область под описанием канала (окна комментариев).\",\"XeunlQ\":\"Режим эксперта\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Расширить список каналов\",\"tG09kC\":\"Расширить содержимое\",\"bPWJOj\":\"Расширить нижний колонтитул\",\"SeaRa5\":\"Расширить заголовок\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Не удалось создать службу публикации (\",[\"0\"],\")\"],\"yT6MEY\":\"Не удалось создать файлы веб-сайта публикации.\",\"FGdPhH\":\"Не удалось проверить источник. Пожалуйста, проверьте <0>подробности.\",\"DvfYM2\":[\"Не удалось обновить токен: \",[\"0\"]],\"J0Jclh\":\"Не удалось сохранить импортированные метаданные\",\"RPXHsU\":\"Не удалось остановить процесс\",\"AhS7uc\":\"Не удалось сохранить настройку размера проигрывателя.\",\"PcJRf4\":[\"Не удалось сохранить службу публикации (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Не удалось обновить процесс загрузки (\",[\"0\"],\")\"],\"t1E1OU\":[\"Не удалось обновить процесс создания моментального снимка (\",[\"0\"],\")\"],\"bssUbs\":\"Не удалось обновить плеер\",\"4SzVSX\":\"Не удалось обновить сайт игроков\",\"H8gP5T\":\"Не удалось проверить источник. Пожалуйста, проверьте адрес.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Путь к файлу\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Фильтр\",\"JmZ/+d\":\"Завершить\",\"k4A6IZ\":\"Размер исправления\",\"Xgkhyj\":\"Флаги\",\"+L0/av\":\"Для Javascripts.\",\"VBU6dD\":\"Для таблиц стилей.\",\"XDTTEp\":\"Принудительная частота кадров на входе\",\"Y5YNoi\":\"Принудительные ключевые кадры\",\"kI1qVD\":\"Формат\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Потеря кадров\",\"lPICcX\":\"Кадр пропускается (Passthrough)\",\"T8wPu0\":\"Кадровый буфер\",\"Ou/g2q\":\"Частота кадров\",\"RFrfTY\":\"Преобразование частоты кадров (интерполяция кадров)\",\"xDfHbM\":\"Режим кадровой частоты\",\"4xNpe4\":\"Частота (Гц)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Общие\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Идентификатор Google Аналитики\",\"S/8Noo\":\"Название трекера Google Аналитики\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Аппаратное устройство\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Заголовок\",\"+670Zw\":\"Заголовок\",\"PFFhCT\":\"Высота\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Выход HLS\",\"oMxmoP\":\"Сервер HLS\",\"5/G5c1\":\"Статистика HLS для хранилища в памяти\",\"wXoUQx\":\"Горизонтальный переворот\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Размещенный интерфейс Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP и HTTPS\",\"YmRLab\":\"HTTP-порт\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS-порт\",\"Ptrvx5\":\"Человекочитаемое имя на сервисе.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Если вы изменили порты, возможно, ядро Restreamer уже перезапустилось, но теперь он доступен на другом порту.\",\"OQONQS\":\"Если вы включили Let's Encrypt TLS, получение сертификатов может занять некоторое время. Убедитесь, что ядро Restreamer доступно через порт 80 из Интернета. Пожалуйста, проверьте журнал консоли ядра Restreamer.\",\"yWR5EY\":\"код iframe\",\"7ZKroD\":\"Игнорировать диапазоны IP-адресов\",\"VyUuZb\":\"URL изображения\",\"5n8FKh\":\"Выходные данные\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"В дополнение к плееру Restreamer предлагает полноценную целевую страницу, которую вы можете использовать для простого и быстрого представления своей прямой трансляции.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"В памяти\",\"EwM+sw\":\"Хранилище в памяти\",\"xmsVuq\":\"Несовместимо\",\"exUN1j\":\"Наследовать\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Встраивание 1\",\"MJlrvd\":\"Встраивание 2\",\"MppU96\":\"Встраивание 3\",\"zBVRQb\":\"Встраивание 4\",\"Adqgqr\":\"Входной поток\",\"jnyWFc\":\"Домен экземпляра\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Интервал (секунды)\",\"C4WaV1\":\"Оповещение о проблеме\",\"lCnea7\":\"кбит/с\",\"d3WJJg\":\"Интервал между ключевыми кадрами (секунды)\",\"rdU729\":\"Макет\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Сертификат Let's Encrypt\",\"LgUs17\":\"Для работы Let's Encrypt требуется одно или несколько общедоступных доменных имен и доступный порт 80/TCP.\",\"oCHfGC\":\"Уровень\",\"eyLS1J\":\"Уровень системного протокола.\",\"iQmbPb\":\"Лицензия\",\"mQImez\":\"Цвет жизни\",\"6BDqha\":\"Лимиты\",\"1pbzRr\":\"Цвет линии\",\"Ce6Hrg\":\"Линии\",\"yzF66j\":\"Ссылка\",\"NBxw5Y\":\"Ссылка, наведение курсора\",\"xCrpEt\":\"Список расширений файлов, которые не следует кэшировать (например, \\\".m3u8\\\"), по одному в строке. Оставьте пустым, если нет.\",\"m2l8c3\":\"Список расширений файлов для кэширования (напр.. \\\".html\\\"), по одному в строке. Оставьте пустым, чтобы кэшировать все типы файлов.\",\"QYw6tl\":\"Список диапазонов IP адресов в нотации CIDR, напр., 127.0.0.1/32, которые не будут записываться статистикой — по одному диапазону IP адресов на строку. Оставьте пустым для записи всех сеансов..\",\"ELFO4F\":\"Размер списка (сегменты)\",\"D0Nwch\":\"Прямая трансляция на RTMP-сервис dlive Live.\",\"n2VKys\":\"Прямая трансляция на сервис Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Прямая трансляция на RTMP-сервис Media Network.\",\"w9zSAv\":\"Прямая трансляция на сервис PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Прямая трансляция на RTMP-сервис Trovo Live.\",\"JJGagy\":\"Прямая трансляция на сервис Twitch Live RTMP.\",\"4TnPVp\":\"Прямая трансляция на RTMP-сервис Vimeo Live\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Уровень журнала\",\"x7PDL5\":\"Логирование\",\"z0t9bb\":\"Авторизоваться\",\"+fL+Rj\":[\"Ошибка входа: \",[\"0\"]],\"4cd7gw\":\"Ошибка входа: не удалось загрузить сведения об API\",\"sNqu7k\":\"Вход/JWT-авторизация\",\"iG7KNr\":\"Логотип\",\"nOhz3x\":\"Выйти\",\"DYX2fZ\":\"Петля\",\"SzaPTL\":\"Нормализация громкости\",\"QGvS9k\":\"Низкая задержка (буфер)\",\"GaV7al\":\"Основной канал\",\"Wsn0Uw\":\"Основной канал не найден\",\"tROIde\":\"Основной канал сохранен\",\"nLVSux\":\"Канал главной страницы (index.html).\",\"rd3Pv7\":\"Главный источник\",\"f4txA1\":\"Сопровождающий:\",\"3iTz2L\":\"Сделать канал доступным в виде RTMP-потока (экспериментально).\",\"mMiku6\":\"Сделать канал доступным как поток SRT (экспериментальный).\",\"6dZ9NS\":\"Маркированные рамы\",\"iuA3xD\":\"Главный список воспроизведения (повышает совместимость с браузерами/клиентами)\",\"WBpxnA\":\"Максимально допустимый размер кеша, 0 для неограниченного.\",\"NzaPGT\":\"Максимально допустимо мегабайт ОЗУ для /memfs, 0 для неограниченного.\",\"aaso5s\":\"Максимально разрешенное количество мегабайт для использования с жесткого диска. 0 без ограничений.\",\"4hp5D2\":\"Максимальная пропускная способность Мбит/с\",\"L+uBOR\":\"Максимальная задержка в миллисекундах.\",\"hkoCqq\":\"Максимальный размер файла (Мегабайты)\",\"i96JfZ\":\"Максимальный размер файла для кэширования.\",\"Q9HspI\":\"Максимальная история журнала\",\"bS9ZHz\":\"Максимальное количество строк журнала\",\"6sayfE\":\"Максимальный размер (Мегабайты)\",\"09BWQO\":\"Максимальное время простоя зрителя (в секундах)\",\"hW0DV1\":\"Максимальное количество зрителей\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Память\",\"KReOHe\":\"Ограничение памяти (мегабайт)\",\"fViWSz\":\"Лимит использования памяти в мегабайтах, 0 - неограниченный.\",\"emJ6M7\":\"Мета информация\",\"6GBt0m\":\"Метаданные\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", по умолчанию \",[\"1\"]],\"riWPSk\":\"Плесень\",\"QA/rur\":\"Подробнее о лицензиях здесь\",\"fyGu1l\":\"Подробнее о сервисе\",\"yBsv2n\":\"Подробнее об авторских правах Twitter <0>здесь.\",\"ZpfAc9\":\"Подробнее об авторских правах YouTube <0>здесь.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Должен быть больше, чем максимальный размер файла в кэше.\",\"gC9RIS\":\"Должен быть меньше максимального размера кэша.\",\"R7SsBE\":\"Без звука\",\"K0rCAk\":\"Отключить звук на канале.\",\"Jv/kid\":\"Выключить звук слева\",\"FsCP6P\":\"Отключить звук справа\",\"6YtxFj\":\"Имя\",\"0ZkQqR\":\"Имя для шаблона. Если имя уже существует, оно будет перезаписано.\",\"OR475H\":\"Сеть\",\"KZDcDr\":\"Сетевой источник\",\"hXzOVo\":\"Далее\",\"JZrXI6\":\"Далее: Аудио\",\"kZFy+Q\":\"Далее: Настройка видео\",\"1UzENP\":\"Нет\",\"p6Fxed\":\"Нет звука\",\"bIDO3H\":\"Аудиопоток недоступен\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Устройство ввода недоступно\",\"dEwhMr\":\"Прямая трансляция не обнаружена. Пожалуйста, проверьте программное обеспечение, которое отправляет поток.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Источник не выбран\",\"3TfuWb\":\"Нет доступных источников\",\"fiXA/y\":\"Подходящий энкодер не найден.\",\"acY4BT\":\"Не найден подходящий фильтр.\",\"/02FxK\":\"Нет видео\",\"AVWnC9\":\"Видеопоток недоступен\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Шум\",\"EdQY6l\":\"Ни одного\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Заметки\",\"/a9y2d\":\"Количество строк журнала для сохранения.\",\"ZD0urA\":\"Количество журналов для каждого процесса.\",\"Aia5w3\":\"Количество секунд, в течение которых разрешается превышать лимиты.\",\"1lZb7D\":\"Количество столбцов плитки для кодирования.\",\"InpHMl\":\"Количество плиток для кодирования.\",\"wnRD5D\":\"Количество рядов плитки для кодирования.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Один реферер на строку, напр.. http://www.example.com\",\"1TNIig\":\"Открыть\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Выходной буфер\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Пан\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Пассфраза\",\"Y+p0Tt\":\"Парольная фраза для шифрования SRT.\",\"fpQo1i\":\"Длина парольной фразы должна составлять от 10 до 79 символов\",\"3GZXaB\":\"Сквозную \\\"Passthrough (copy)\\\" следует отключать только в случае необходимости. Каждое кодирование требует дополнительных ресурсов CPU/GPU.\",\"8ZsakT\":\"Пароль\",\"b+AuuK\":\"Пароль для авторизации.\",\"oREnCY\":\"Пароль для устройства.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Сохранять статистику просмотров\",\"ANX1b0\":\"розовый\",\"c8aBfM\":\"Пиксельный формат\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"План: <0>Начальный\",\"Ejic1p\":\"Платформы\",\"gtQk6c\":\"Воспроизведение\",\"vRayGs\":\"Плеер\",\"tWB9Gz\":\"Настройки плеера сохранены\",\"GIxxiU\":\"URL-адрес плеера\",\"PUmLMn\":\"Сайт плеера\",\"LKPR6G\":\"Плейлист\",\"luDqS5\":\"Версия плейлиста (M3U8). Версия 3 имеет наилучшую совместимость с браузерами/клиентами.\",\"84gH7g\":\"Пожалуйста, проверьте <0>журнал процесса\",\"OMpKNS\":\"Пожалуйста, свяжитесь с оператором сервиса и проверьте, что происходит.\",\"4lATxE\":\"Пожалуйста, введите свой адрес электронной почты, чтобы подтвердить согласие с условиями обслуживания Let's Encrypt CA и получить уведомление в случае возникновения проблем.\",\"bdMiXb\":\"Пожалуйста, свяжитесь с оператором службы и проверьте, что происходит.\",\"wPZBpR\":\"Пожалуйста, выберите файл для загрузки.\",\"YcGRmx\":\"Пожалуйста, используйте \\\"Passthrough (copy)\\\", если это возможно. Кодирование требует дополнительных ресурсов CPU/GPU.\",\"06qnxB\":\"Пожалуйста, подождите. Зонд транслирует данные ...\",\"FTIPkL\":\"Пожалуйста подождите. Настройка потока...\",\"hZ6znB\":\"Порт\",\"p/78dY\":\"Позиция\",\"d62Stt\":\"Плакат\",\"PNap/Y\":\"URL-адрес изображения плаката\",\"6o2Onc\":\"Пресет\",\"lxxyq5\":\"Основной поток\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Зонд\",\"1B9XX0\":\"Процесс\",\"DL/nrw\":\"Контроль процесса\",\"fzYV2N\":\"Детали процесса\",\"zNVLia\":\"Отчет о процессе\",\"PwMwvX\":\"Обработка и контроль\",\"vERlcd\":\"Профиль\",\"6+OdGi\":\"Протокол\",\"hEksWI\":\"Протоколы\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Публичный домен/ы\",\"7lbVwY\":\"Служба публикации не найдены\",\"ia1vIb\":\"Настройки сайта публикации сохранены\",\"XHw75Y\":\"Публикации\",\"dsOSCf\":\"Режим вытягивания\",\"lQQ/zA\":\"Вытяните или получите данные:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Качество\",\"i9d+3B\":\"Камера Raspberry Pi\",\"tbXj/A\":\"Контроль скорости\",\"iaocTt\":\"Соотношение\",\"WnSPyE\":\"rav1e Параметры\",\"6PpdQP\":\"Чтение ввода на исходной скорости\",\"bqsSkO\":\"Режим приема\",\"gcoiFh\":\"Повторное подключение\",\"lakzvL\":\"Задержка повторного подключения (в секундах)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Повторное подключение через \",[\"0\"],\"с\"],\"uSDaLA\":[\"Не удалось повторно подключиться к ядру Restreamer в течение последних \",[\"RETRIES\"],\" секунд.\"],\"N7ojfh\":\"Повторное подключение к ядру Restreamer не удалось.\",\"lCF0wC\":\"Обновление\",\"uJ+Ve2\":\"Регион\",\"CNipTv\":\"Зарегистрировать пользователя\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Перезагрузка\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Удалите самые старые записи, если /memfs заполнен\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Требуется активация\",\"XMbkus\":\"Сброс логотипа\",\"36SXzE\":\"Плакат перезагрузки\",\"6z9W13\":\"Перезапустить\",\"dKwnjv\":\"Требуется перезагрузка\",\"0Er6+M\":\"Перезапуск\",\"X1sT1j\":\"Перезапуск ядра Restreamer...\",\"o5q6jb\":\"Не удалось перезапустить приложение.\",\"x8cAsq\":\"Инструкции по эксплуатации рестримера\",\"24fLVm\":\"Сервис Restreamer\",\"LCGjV4\":\"Получение данных потока...\",\"6gRgw8\":\"Повторить попытку\",\"Qe1vaN\":\"Тестовый шаблон RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Повернуть\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Приложение RTMP для публикации.\",\"7ggERB\":\"RTMP-выход\",\"V82lE+\":\"Порт RTMP\",\"itARjB\":\"RTMP-сервер\",\"WWZqzz\":\"RTMP-сервер не включен\",\"HhOPCL\":\"Адрес прослушивания RTMP-сервера.\",\"DbHOhO\":\"Токен RTMP для публикации и воспроизведения. Токен – это значение параметра запроса URL-адреса token.\",\"OAZeFE\":\"Порт RTMPS\",\"Wt/wFL\":\"RTMPS-сервер\",\"xwonDv\":\"Адрес прослушивания сервера RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Правило\",\"HneYgw\":\"Выборка\",\"tfDRzk\":\"Сохранить\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Масштаб\",\"6aaceW\":\"Размер шкалы\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Секунд для хранения файлов в кеше.\",\"geM4Wc\":\"Секунд до перезапуска процесса.\",\"iF7dnC\":\"Секунд до завершения зависшего процесса.\",\"mydmGn\":\"Секунд до обновления моментального снимка/миниатюры источника видео.\",\"a3LDKx\":\"Безопасность\",\"Gkr6zI\":\"Токен безопасности\",\"/Ocrtf\":\"Цвет панели поиска\",\"4lDlYf\":\"Длина сегмента (секунды)\",\"XfNrg+\":\"Сегмент будет обрезан на следующем ключевом кадре по истечении этого времени. 2 рекомендуется.\",\"jHCoDy\":\"Сегментация\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Выберите устройство:\",\"O+ruJ3\":\"Выберите источник звука:\",\"6MTTpq\":\"Выберите RTMP или SRT (если включено) для меньшей задержки.\",\"E7haRr\":\"Выберите источник...\",\"PlZ1aw\":\"Выберите источник видео:\",\"YYlcWm\":\"Выберите, извлекаете ли вы поток из <0>сетевого источника (например, сетевой камеры) или <1>внутреннего RTMP-сервера (например, потоки OBS на Restreamer)...\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Выберите настройку кодировки:\",\"aT3o8A\":\"Выберите настройки фильтра (необязательно):\",\"ylXj1N\":\"Выбрано\",\"kYpw4+\":\"Выбранный канал\",\"p7/fS2\":\"Выбор\",\"SOePwi\":\"Отправляйте анонимные метрики (помогает нам в будущем развитии)\",\"kOhBl+\":\"Отправить поток по адресу ...\",\"E1X5xY\":\"Отправить поток на этот адрес:\",\"d/IMf3\":\"Отправить видео в фреймбуфер\",\"sGH11W\":\"Сервер\",\"9rG25a\":\"URL сервера\",\"T3bXxK\":\"Обслуживание\",\"KPPdUO\":\"Имя службы\",\"DOrSw/\":\"Токен сервиса для мониторинга.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Сессии\",\"xwK3ty\":\"Задайте конфигурацию rav1e с помощью :-разделенного списка параметров ключ=значение.\",\"FIIk8R\":\"Устанавливает ограничение пропускной способности в Мбит/с для исходящей передачи данных HLS. Все услуги, такие как RTMP и исходящие процессы, включены в расчет. Если пропускная способность превышена, средства просмотра HLS получают код состояния HTTP 509 (превышен предел пропускной способности). 0 неограничен.\",\"cOG/FK\":\"Устанавливает лимит зрителей для сеансов HLS. Если ограничение превышено, средства просмотра HLS получают код состояния HTTP 509 (превышен предел пропускной способности). 0 неограничен.\",\"mcJFKm\":\"Настройка подключения к сервису.\",\"Tz0i8g\":\"Настройки\",\"IiOZ6R\":\"Настройки (режим эксперта)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Настройки пути /data. Доступ защищен\",\"Ytdvyh\":\"Настройки для пути /memfs.\",\"1w3lYe\":\"Настройки сохранены. Все изменения вступят в силу после перезапуска приложения.\",\"XUw3i9\":\"Кнопка поделиться\",\"oD0Oes\":\"Показывает ссылку на проект.\",\"+vv4q2\":\"Регистрация (бесплатно)\",\"JXVFAm\":\"Тишина\",\"VSK9FJ\":\"Тишина Аудио\",\"L8Jb2l\":\"Синус\",\"MxZN16\":\"Название сайта\",\"Cj2Gtd\":\"Размер\",\"yTZe+y\":\"Снимок\",\"pSUgnY\":\"Регистрация (OAuth2, 2FA)\",\"qe9jaI\":\"Время ожидания сокета (микросекунды)\",\"bRN5nm\":\"Программного обеспечения\",\"wdxz7K\":\"Источник\",\"sywlQb\":\"Источник и кодирование\",\"l9wI00\":\"Скорость\",\"vdhBFK\":\"Предварительная настройка скорости\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Выход SRT\",\"YqnAto\":\"Сервер SRT\",\"k6hpqB\":\"Сервер SRT не включен\",\"SzqwHY\":\"Адрес прослушивания сервера SRT.\",\"KwbjpB\":\"SRT-токен для публикации и воспроизведения. Токен - это значение параметра streamid 'token'.\",\"Aj28wT\":\"Время ожидания ожидания (секунды)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Статистика\",\"BrrIs8\":\"Хранилище\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Сохраняет статистику просмотра на диск.\",\"hou0tP\":\"Поток\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Ключ потока\",\"bqiH5R\":\"Ключ потока\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Название потока\",\"eXELiS\":\"Имена потоков\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Источник потока для службы публикации (экспериментальный).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL-адрес потока\",\"+fVH0Y\":\"Поддержка datarhei Restreamer\",\"5HSoct\":\"Поддерживает HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT и другие.\",\"D+NlUC\":\"Система\",\"jkuW2z\":\"Адрес цели\",\"/K2CvV\":\"Шаблон\",\"2Ivkf/\":\"Шаблон, который будет использоваться для создания веб-сайта публикации. Кнопка удаления удаляет выделение из системы.\",\"4Y5H+g\":\"Условия\",\"tRNH6x\":\"Тестовый шаблон\",\"EtlVOt\":\"Тестовый шаблон (расширенный)\",\"wGPolR\":\"Цвета текста\",\"m0TUJj\":\"Амплитуда (0.0 - 1.0) генерируемого аудиопотока\",\"8C6xwe\":\"Приложение использует более старую версию настроек.\",\"VPQVR2\":\"Доступный двоичный файл FFmpeg не поддерживает ни один из требуемых протоколов.\",\"Gx9PPK\":\"Битрейт аудиопотока.\",\"T2kk3f\":\"Несущая частота\",\"JAOLK8\":[\"Канал \\\"\",[\"0\"],\"\\\" не может быть удален\"],\"jNaBhy\":[\"Канал \\\"\",[\"0\"],\"\\\" удален\"],\"SD8pYJ\":\"Удаление этого канала не может быть восстановлено. Все публикации этого канала будут удалены.\",\"bnkV//\":\"Входной профиль не завершен. Укажите источник видео и аудио.\",\"wCYjmB\":\"Входной профиль не заполнен. Пожалуйста, укажите источник видео и/или аудио.\",\"JMaqWu\":\"Схема аудиопотока.\",\"0dqo+p\":\"Максимальное количество сегментов плейлиста. 0 будет содержать все сегменты. 6 рекомендуется.\",\"BDgbiW\":\"Цвет шума\",\"SxGu7I\":\"Лицо, связавшее произведение с этим документом, сделало произведение общественным достоянием, отказавшись от всех своих прав на произведение во всем мире в соответствии с законом об авторском праве, включая все смежные и смежные права, в той мере, в какой это разрешено законом. Вы можете копировать, изменять, распространять и выполнять работу даже в коммерческих целях, не спрашивая разрешения.\",\"XISvrq\":\"Общедоступное доменное имя хоста, на котором работает Restreamer. Разделяйте несколько доменных имен запятой.\",\"yt3d3G\":[\"Службу публикации \\\"\",[\"0\"],\"\\\" не удалось удалить\"],\"zYcO/c\":[\"Служба публикации \\\"\",[\"0\"],\"\\\" создана\"],\"AQE+oz\":[\"Служба публикации \\\"\",[\"0\"],\"\\\" удалена\"],\"qVLWvp\":\"Создан сервис публикации\",\"njj2Wn\":\"Для вывода RTMP требуется сервер RTMP.\",\"WRxiP8\":\"Частота дискретизации аудиопотока.\",\"/pZjRr\":\"Выбранный файл слишком велик (<0/>). Допускается только <1/>.\",\"VBaSn9\":[\"Выбранный тип файла (\",[\"0\"],\") не разрешен. Разрешенными типами файлов являются \",[\"1\"]],\"fM410X\":[\"Настройки для \\\"\",[\"0\"],\"\\\" сохранены\"],\"02ii2e\":\"Источник не предоставляет никаких аудиопотоков.\",\"+2cAEU\":\"Источник не предоставляет никаких аудиопотоков. Пожалуйста, проверьте <0>подробнее.\",\"pfqmY7\":\"Источник не предоставляет совместимых аудиопотоков.\",\"VO9KeK\":\"Источник не предоставляет совместимых видеопотоков. Ознакомьтесь с <0>требованиями.\",\"007foU\":\"Источник не предоставляет никаких видеопотоков. Пожалуйста, проверьте <0>подробнее.\",\"lAsMdV\":\"Источник не предоставляет никаких видеопотоков. Пожалуйста, проверьте устройство.\",\"XlnvcR\":\"Для вывода SRT требуется сервер SRT Server.\",\"w6uuIE\":\"Источник видео не обеспечивает совместимый аудиопоток. Рекомендуется <0>отключить звук. Сервисы YouTube, Facebook и другие компании требуют наличия аудиоканала....\",\"YJJ2RL\":\"Источник видео совместим. Выберите нужное разрешение:\",\"wEiZHy\":\"Доступны обновления. Здесь вы получите больше информации.\",\"4p1MgS\":\"Не удалось сохранить настройки. Настройки не сохранены.\",\"YJhhwT\":[\"Произошла ошибка при подключении к ядру Restreamer на \",[\"0\"],\".\"],\"q42VsF\":[\"При загрузке произошла ошибка: \",[\"0\"]],\"HM96PJ\":\"Не удалось настроить поток.\",\"LoDP+Y\":\"Были некоторые ошибки в настройках. Настройки не сохранены.\",\"l92ZKN\":\"Метод входа недоступен.\",\"cPKuc8\":\"Это фиктивный сервис, который объясняет вам концепции сервиса.\",\"Ku8nyu\":\"Это не обязательно ошибка. Однако перезапуск ядра Restreamer может занять немного больше времени..\",\"vCRP3w\":\"Это должно упомянуть положения об авторском праве для цели этой службы.\",\"Hx7k3c\":\"Эта лицензия позволяет повторным пользователям копировать и распространять материал на любом носителе или в любом формате только в неадаптированной форме и только при условии указания авторства. Лицензия разрешает коммерческое использование.\",\"6OeMYB\":\"Эта лицензия позволяет повторным пользователям копировать и распространять материал на любом носителе или в любом формате только в неадаптированной форме, только в некоммерческих целях и только при условии указания авторства.\",\"TUuhsB\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате только в некоммерческих целях и только при условии указания авторства.\",\"kVtKRl\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате только в некоммерческих целях и только при условии указания авторства. Если вы микшируете, адаптируете или развиваете материал, вы должны лицензировать измененный материал на тех же условиях.\",\"FpX5mp\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате при условии указания авторства. Лицензия разрешает коммерческое использование.\",\"SDvwLd\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате при условии указания авторства. Лицензия разрешает коммерческое использование. Если вы микшируете, адаптируете или развиваете материал, вы должны лицензировать измененный материал на тех же условиях.\",\"H144rX\":\"Этот протокол неизвестен или не поддерживается имеющимся двоичным файлом FFmpeg.\",\"nlOxxw\":\"Этот источник нельзя редактировать, пока он используется. Чтобы продолжить, вы должны отключить источник.\",\"mbSyrG\":[\"Эта версия пользовательского интерфейса не поддерживает доступный двоичный файл FFmpeg (\",[\"0\"],\"). Пользовательский интерфейс требует \",[\"1\"],\". Пожалуйста, используйте поддерживаемый двоичный файл FFmpeg.\"],\"N/tTgz\":[\"Эта версия пользовательского интерфейса не поддерживает подключенное ядро (\",[\"0\"],\"). Пользовательский интерфейс требует \",[\"1\"],\". Пожалуйста, используйте совместимую версию пользовательского интерфейса.\"],\"2Vq5tr\":\"Эта версия пользовательского интерфейса совместима.\",\"QxX9Z5\":\"Порог (секунды)\",\"sNmspt\":\"Плиточные колонны\",\"sYGp2E\":\"Ряды плитки\",\"wbOpwP\":\"Плитка\",\"H59P7E\":\"Время до того, как неактивное соединение со зрителем будет считаться закрытым.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Для стабилизации системы увеличьте длину сегмента HLS для интервала ключевых кадров на 2-3 * (Обработка и управление).\",\"TP9/K5\":\"Токен\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Верхнее поле\",\"7mjsuh\":\"Передача Livestream в канал Telegram.\",\"Gxlq7L\":\"Передача моментальных снимков основного источника на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"SdyhUl\":\"Передайте аудиоканал основного источника на сервер Icecast. Более подробную информацию о настройках можно найти <0>здесь.\",\"MayU3b\":\"Передайте основной источник как HTTP-Live-Streaming (HLS) на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"3K8kpL\":\"Передайте основной источник как MPEG-DASH на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"P/J230\":\"Передайте основной источник в Brightcove Live Service. Более подробную информацию о настройках можно найти <0>здесь.\",\"u0MhFy\":\"Передайте основной источник в службу CDN77 RTMP. Подробнее о настройке <0>здесь.\",\"zkgT7c\":\"Передайте основной источник в службу DaCast RTMP. Подробнее о настройке <0>здесь.\",\"in9xJz\":\"Передайте основной источник на основной ресурс datarhei. Более подробную информацию о настройках можно найти <0>здесь.\",\"PcgwEU\":\"Передайте основной источник на ресурс livespotting.com. Более подробную информацию о настройках можно найти <0>здесь.\",\"D7jwpf\":\"Передать основной источник в службу MPEG-TS. Подробнее о настройках можно узнать здесь <0>здесь.\",\"SpSgUV\":\"Передача основного источника на сервер Red5/Pro Server. Более подробную информацию о настройках можно найти <0>здесь.\",\"lIpqI/\":\"Передайте основной источник на сервер RTMP(e|s|t|te|ts). Более подробную информацию о настройках можно найти <0>здесь.\",\"pqR6nq\":\"Передайте основной источник на сервер RTSP. Более подробную информацию о настройках можно найти <0>здесь.\",\"Q4dSnZ\":\"Передайте основной источник на сервер SRT. Более подробную информацию о настройках можно найти <0>здесь.\",\"fx9S4p\":\"Передайте основной источник на сервер UDP. Более подробную информацию о настройках можно найти <0>здесь.\",\"GLXY2N\":\"Передайте основной источник на сервер WOWZA. Более подробную информацию о настройках можно найти <0>здесь.\",\"AsMKFi\":\"Передайте основной источник в Akamai (MSL) Media Services Live. Более подробную информацию о настройках MSL Encoder можно найти <0>здесь.\",\"FB364G\":\"Передайте основной источник на RTMP-сервис Livepush. Более подробную информацию о настройках можно найти <0>здесь.\",\"CC9yS5\":\"Передайте основной источник на RTMP-сервис Nimo TV. Более подробную информацию о настройках можно найти <0>здесь.\",\"fP8ZYg\":\"Передайте основной источник на RTMP-сервис Picarto TV. Более подробную информацию о настройках можно найти <0>здесь.\",\"D9A0LK\":\"Передайте основной источник в службу Restream RTMP. Более подробную информацию о настройках можно найти <0>здесь.\",\"YL800g\":\"Передача на Azure Media Services. Более подробную информацию можно найти <0>здесь.\",\"Abgy4c\":\"Передайте в LinkedIn. Более подробную информацию можно найти <0>здесь.\",\"dhCZoS\":\"Передайте ваш Livestream на RTMP-сервис Dailymotion. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"tQNclD\":\"Передайте ваш Livestream на RTMP-сервис Kick.com. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"mQ0sjr\":\"Передайте ваш Livestream на сервер Owncast. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"AqYRa3\":\"Передайте ваш Livestream на сервис Rumble RTMP. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Передает ваш видеопоток с нужным ключом, сгенерированным в Twitter Producer. Дополнительную информацию о настройке прямой трансляции можно найти на странице <0>Producer в Твиттере.\",\"ADKef2\":\"Мелодия\",\"8jwViA\":\"Транспорт UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Не удалось загрузить конфиг.\",\"MWrgON\":\"Уникальный идентификатор на сервисе.\",\"Ef7StM\":\"Неизвестный\",\"wiIpKZ\":\"Неизвестная ошибка загрузки\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Не выбрано\",\"j9zg7e\":\"Подробности обновления (Changelog)\",\"ONWvwQ\":\"Загрузить\",\"OXItQT\":[\"Загрузите аудиофайл (\",[\"0\"],\"), чтобы зациклить его.\"],\"75yxb7\":[\"Загрузите изображение или видеофайл (\",[\"0\"],\"), чтобы зациклить его.\"],\"iAkPTY\":\"Загрузка файла не удалась\",\"Jmy6pK\":\"Не удалось загрузить логотип\",\"xl1xFp\":\"Загрузка плаката не удалась\",\"TjrbDj\":\"Время безотказной работы\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Используйте Auth0 для работающего ядра Restreamer. Больше <0>подробностей.\",\"JX4TqK\":\"Воспользуйтесь мастером (<0/>) для быстрой и простой настройки или отредактируйте (<1/>) источники непосредственно в пользовательском режиме.\",\"YYTBz0\":\"Используйте свои авторские права и выберите правильную лицензию на изображение. Независимо от того, бесплатно для всех или сильно ограничено. Кратко обсудите, что другим разрешено делать с вашим изображением.\",\"2UPEb1\":\"Используйте свои авторские права и выберите правильную лицензию на изображение. Независимо от того, бесплатно для всех или сильно ограничено. Кратко обсудите, что другим разрешено делать с вашим изображением.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Регистрация пользователя\",\"7sNhEz\":\"Имя пользователя\",\"Gv3pbp\":\"Имя пользователя для авторизации.\",\"RQSvXZ\":\"Имя пользователя для устройства.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M является экспериментальным.\",\"PvM7Yi\":\"Переменная частота кадров (VFR)\",\"hpBTpL\":\"вельветовый\",\"uIAsxu\":\"Вертикальное сальто\",\"vSJd18\":\"Видео\",\"auaWhL\":\"Видеоустройство\",\"/skRGV\":\"Настройки видео\",\"EzOjvB\":\"Настройка видео\",\"QcQXbU\":\"Источник видео\",\"M/TIv1\":\"Зрителей\",\"L2hKw+\":\"фиолетовый\",\"hA6FFn\":\"Виртуальный источник\",\"/cF7Rs\":\"Объем\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Мы рекомендуем OpenMAX IL для Raspberry PI (3/4) с 32-битной операционной системой.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Добро пожаловать в Restreamer v2, решение для быстрой и простой публикации видео. Бесплатно для частного и коммерческого использования. Дополнительная помощь в <0>документах.\",\"hJfWkA\":\"Какую предустановку скорости использовать.\",\"6Pz2IF\":\"Где хранить список воспроизведения HLS и сегменты. Рекомендуется использовать In-Memory.\",\"aWHAbR\":\"белый\",\"aFWU1n\":\"Ширина\",\"e0wV2Y\":\"Защита от записи\",\"l75CjT\":\"Да\",\"WPUsOF\":\"Вы не можете прервать работу мастера, так как должен быть настроен хотя бы один источник.\",\"qwY9F9\":\"Вы изменили конфигурацию. Чтобы изменения вступили в силу, необходимо перезапустить приложение. Вы хотите перезапустить сейчас?\",\"nxq2ni\":\"Вы должны повторно подключиться вручную\",\"RM3CEc\":\"У вас есть несохраненные изменения. Пожалуйста, сохраните их, прежде чем вы сможете снова управлять сервисом.\",\"/cg7qS\":\"Ваш поток необходимо закодировать, но подходящего кодировщика нет.\",\"BwrOm6\":\"Ваш поток должен быть закодирован. Выберите нужный энкодер:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Тестовый образец YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Список совместимости\",\"TkRUk0\":\"<0>Показать детали зонда\",\"tBy4Bb\":\"1. Переключитесь на интерфейс целевого Restreamer.\",\"2JnpXL\":\"2. Создайте новый канал и выберите сервер RTMP или SRT.\",\"YidyJl\":\"3. Скопируйте URL-адрес и вставьте его в поле \\\"Адрес цели\\\".\",\"X1MZZp\":\"6 (+ гарантированное начало с ключевого кадра)\",\"JVJkxU\":\"7 (+ фрагментированный формат MP4)\",\"ssjjFt\":\"Отмена\",\"uyJsf6\":\"О\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Добавить\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Добавьте внешние виджеты и стили на сайт публикации. Вы можете найти несколько примеров на странице помощи.\",\"tsJWSj\":\"Добавить новый канал\",\"PLTLdv\":\"Добавить публикацию\",\"35l+l6\":[\"Добавить: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Адрес\",\"8M7jVn\":\"Ссылка на изображение фона.\",\"Vu9yiv\":\"Порт для запросов HTTP.\",\"AQDW5r\":\"Порт для запросов HTTPS.\",\"tPrmjP\":\"Адрес:\",\"owt8Ow\":\"Настройте цвета и фон сайта публикации по своему усмотрению.\",\"uNXGDK\":\"Расширенный мониторинг\",\"VNgKZz\":\"Расширенные настройки\",\"eiGNYb\":\"Advanced Setup\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Оповещение по электронной почте\",\"N40H+G\":\"Все\",\"Hw5q+W\":\"Все рамки\",\"f2zxGk\":\"Все важные системные настройки.\",\"lle3bd\":\"Разрешить всех рефералов\",\"bgFbIB\":\"Разрешить подсчет количества зрителей у трансляции.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Амплитуда\",\"ngteek\":\"Переменная среды задает это значение.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Конечная точка API не найдена. Настройки не сохранены.\",\"LMUw1U\":\"Приложение\",\"IrC12v\":\"Приложение\",\"xnCC/2\":\"Вы уверены, что хотите прервать работу мастера настройки?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Аудио\",\"n3RW8K\":\"Аудио-устройство\",\"sYyYfE\":\"Аудиоустройство\",\"2he4Ra\":\"Звук с устройства\",\"MvY15a\":\"Настройки звука\",\"NoLJ6g\":\"Настройка звука\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 в настоящее время недоступен, так как этот интерфейс загружается из небезопасного источника.\",\"aKsflb\":\"Клиент Auth0\",\"VbeIOx\":\"Автор\",\"NJgJy9\":\"Авторизация\",\"R9Khdg\":\"Авто\",\"6yEk/V\":\"Автоматическая очистка всех медиаданных\",\"jT50Rz\":\"Автовоспроизведение\",\"csDS2L\":\"Доступный\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Назад\",\"1KfyNL\":\"Цвета фона\",\"23c2Uw\":\"Фоновая картинка\",\"r0bEmM\":\"Резервный сервер\",\"JFjQhH\":\"Резервный поток\",\"bkJ+QE\":\"Резервный URL\",\"OlXThP\":\"Пропускная способность\",\"QYaaBO\":\"Контроль трафика\",\"KSSL9f\":\"Баннер\",\"0wJVK+\":\"Базовый\",\"YR04fn\":\"Звуковой фактор\",\"5bhON1\":\"Битрейт\",\"Os3B4i\":\"Типы блочного кэша\",\"zOC7cT\":\"синий\",\"359XuU\":\"Нижнее поле\",\"aC3kWW\":\"Кратко опишите, что зрители увидят во время прямой трансляции.\",\"SehDNd\":\"коричневый\",\"Ptp9MF\":\"Цвет кнопки\",\"Lp4WkO\":\"По высоте\",\"IeV/4P\":\"По ширине\",\"KxP5AO\":\"Кэш для файлов в /data.\",\"qX8ffo\":\"Время кэширования (сек)\",\"4dRAku\":\"Типы кеша\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Буфер захвата\",\"aL2+1d\":\"Захват кликов\",\"EOfLfP\":\"Захват курсора\",\"ieS3Wc\":[\"Канал \\\"\",[\"0\"],\"\\\" сохранен\"],\"lfFsZ4\":\"Каналы\",\"WMCwmR\":\"Проверять обновление\",\"vM6kpc\":\"Проверить требования\",\"Wzgqhl\":\"Выберите видеопоток\",\"JpTR0/\":\"Выберите аудиопоток\",\"BTNyrQ\":\"Выберите устройство ввода...\",\"f9QIui\":\"Выберите входной поток ...\",\"/Y6zrN\":\"Выбор между CFR и VFR (авто)\",\"gObOjh\":\"Выберите кодек...\",\"v7lrmU\":\"Выбрать клиента...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Чанк\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Закрыть\",\"r8NEPc\":\"Внедрение кода\",\"BaUuhR\":\"Кодек\",\"jZlrte\":\"Цвет\",\"sjVfrA\":\"Команда\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Конфигурация\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Подтвердить пароль\",\"iSLIjg\":\"Подключить\",\"NL3Gev\":\"Подключенное устройство\",\"ywAvGr\":\"Подключено с <0/>\",\"lNg25t\":\"Подключение ...\",\"y6+BXa\":\"Подключение к ядру Restreamer...\",\"Td5lm6\":\"Не удалось подключиться к ядру Restreamer, вероятно, из-за смешанного контента.\",\"awE5Py\":\"Постоянная частота кадров (CFR)\",\"DT0Af/\":\"Режим постоянного квантования (от -1 до 255).\",\"4b3oEV\":\"Контент\",\"U34RbB\":\"URL содержимого\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Ядра\",\"FSbpS7\":\"ПРОЦЕССОР\",\"n8Ycrf\":\"Предел процессора (в процентах)\",\"uW5tVo\":\"Ограничение использования процессора в процентах (0-100%), 0 - неограниченное.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Пользовательский ...\",\"kH80Lk\":\"Пользовательское аудиоустройство\",\"fW1XQD\":\"Пользовательский звуковой индекс\",\"bzREp0\":\"Пользовательский битрейт (кбит/с)\",\"w9oKek\":\"Внедрение пользовательского кода\",\"jYaP01\":\"Пользовательская задержка\",\"2Gw+zZ\":\"Пользовательское устройство\",\"WCXGNp\":\"Пользовательский формат\",\"ZkpZ06\":\"Пользовательская частота кадров\",\"1OXCgh\":\"Пользовательская конфигурация JSON для ядра datarhei.\",\"kl56NX\":\"Пользовательский интервал ключевых кадров\",\"prIqWa\":\"Пользовательский макет\",\"HSB43e\":\"Пользовательская выборка (Гц)\",\"Efe3BI\":\"Пользовательский масштаб\",\"E/2KdS\":\"Пользовательский размер\",\"Se794B\":\"Пользовательское видеоустройство\",\"aqv915\":\"Пользовательский индекс видео\",\"v8OlX8\":\"Данные скопированы в буфер обмена\",\"J/VBax\":\"Цвет смерти\",\"d2TTfK\":\"Децибелы (дБ)\",\"W034oz\":\"Декодер\",\"ovBPCi\":\"По умолчанию\",\"gFwPaj\":[\"По умолчанию \",[\"0\"]],\"JQnkrI\":[\"По умолчанию \",[\"0\"],\" (\",[\"1\"],\" секунд)\"],\"A7rne1\":\"Деинтерлейс (bwdif)\",\"yLth2B\":\"Деинтерлейс deint\",\"g3JmiG\":\"Режим деинтерлейса\",\"aro6lN\":\"Деинтерлейс по четности\",\"YeWQto\":\"Задержка\",\"qBC9g9\":\"Задержка (мс)\",\"cnGeoo\":\"Удалить\",\"ScK3zL\":\"Удаление службы публикации нельзя отменить. Публикация сразу прекращается.\",\"cEx3oI\":\"Режим доставки\",\"Nu4oKW\":\"Описание\",\"f8fH8W\":\"Дизайн\",\"PEHQTf\":\"Устройство\",\"+K0AvT\":\"Отключить\",\"miKA/E\":\"Отключить и продолжить\",\"5/pMTZ\":\"Отключение ...\",\"sPFHpI\":\"Диск\",\"qczNPP\":\"Кэш диска\",\"PUqOjv\":\"Дисковое хранилище\",\"uTwT/l\":\"Вы действительно хотите перезапустить приложение сейчас?\",\"FgxcNT\":[\"Вы хотите удалить \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Вы хотите удалить \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Вы хотите отключить \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Документы\",\"TvY/XA\":\"Документация\",\"jPtEhI\":\"Дуп. кадры\",\"diaSRH\":\"Каждое поле\",\"u2SnNO\":\"Каждая рама\",\"ePK91l\":\"Редактировать\",\"INCFjw\":\"Отредактируйте аудио и видеоисточники для прямой трансляции. Добавьте описание и установите желаемую лицензию на содержимое.\",\"+7Wr2a\":[\"Изменить: \",[\"title\"]],\"e3GLqI\":\"РЕДАКТИРОВАТЬ: Плеер\",\"dTPDyf\":\"РЕДАКТИРОВАТЬ: Сайт публикации\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Электронная почта\",\"KKBlUU\":\"Встроить\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Включить\",\"No9svk\":\"Включить периодический звуковой сигнал каждую секунду с этим значением, умноженным на несущую частоту\",\"R7s0Th\":\"Включить резервный поток\",\"xA5zBY\":\"Включить статистику ботаников\",\"r0zP4o\":\"Включить сейчас\",\"JwR989\":\"Включить основной поток\",\"blkDNw\":\"Включить RTMP сервер ...\",\"FgEhO4\":\"Включить передачу RTMPS\",\"uGvvxq\":\"Включить снимки\",\"IuL64N\":\"Включить сервер SRT ...\",\"NJsnxf\":\"Настоятельно рекомендуется включить авторизацию. В противном случае любой может получить доступ к этому экземпляру.\",\"xwS6bX\":\"Настоятельно рекомендуется включить базовую аутентификацию. В противном случае любой может записать данные в /memfs.\",\"0zaXWu\":\"Кодировщик\",\"o0XA5y\":\"Кодирование\",\"q1srUM\":\"Шифрование\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Введите имя для нового канала.\",\"f7sXvi\":\"Введите пароль\",\"5QCNrf\":\"Введите адрес вашего сетевого источника:\",\"WLnvCZ\":\"Введите имя пользователя\",\"ijwVVM\":\"Энтропийный кодер\",\"SlfejT\":\"Ошибка\",\"sHoMKO\":\"Ошибка при копировании данных в буфер обмена\",\"TpqeIh\":[\"Ошибка: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Расширяет область над списком каналов (живой чат).\",\"IBJg8n\":\"Расширяет область под описанием канала (окна комментариев).\",\"XeunlQ\":\"Режим эксперта\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Расширить список каналов\",\"tG09kC\":\"Расширить содержимое\",\"bPWJOj\":\"Расширить нижний колонтитул\",\"SeaRa5\":\"Расширить заголовок\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Не удалось создать службу публикации (\",[\"0\"],\")\"],\"yT6MEY\":\"Не удалось создать файлы веб-сайта публикации.\",\"FGdPhH\":\"Не удалось проверить источник. Пожалуйста, проверьте <0>подробности.\",\"DvfYM2\":[\"Не удалось обновить токен: \",[\"0\"]],\"J0Jclh\":\"Не удалось сохранить импортированные метаданные\",\"RPXHsU\":\"Не удалось остановить процесс\",\"AhS7uc\":\"Не удалось сохранить настройку размера проигрывателя.\",\"PcJRf4\":[\"Не удалось сохранить службу публикации (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Не удалось обновить процесс загрузки (\",[\"0\"],\")\"],\"t1E1OU\":[\"Не удалось обновить процесс создания моментального снимка (\",[\"0\"],\")\"],\"bssUbs\":\"Не удалось обновить плеер\",\"4SzVSX\":\"Не удалось обновить сайт игроков\",\"H8gP5T\":\"Не удалось проверить источник. Пожалуйста, проверьте адрес.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Путь к файлу\",\"o7J4JM\":\"Фильтр\",\"JmZ/+d\":\"Завершить\",\"k4A6IZ\":\"Размер исправления\",\"Xgkhyj\":\"Флаги\",\"+L0/av\":\"Для Javascripts.\",\"VBU6dD\":\"Для таблиц стилей.\",\"XDTTEp\":\"Принудительная частота кадров на входе\",\"Y5YNoi\":\"Принудительные ключевые кадры\",\"kI1qVD\":\"Формат\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Потеря кадров\",\"lPICcX\":\"Кадр пропускается (Passthrough)\",\"T8wPu0\":\"Кадровый буфер\",\"Ou/g2q\":\"Частота кадров\",\"RFrfTY\":\"Преобразование частоты кадров (интерполяция кадров)\",\"xDfHbM\":\"Режим кадровой частоты\",\"4xNpe4\":\"Частота (Гц)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Общие\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Идентификатор Google Аналитики\",\"S/8Noo\":\"Название трекера Google Аналитики\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Аппаратное устройство\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Заголовок\",\"+670Zw\":\"Заголовок\",\"PFFhCT\":\"Высота\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Выход HLS\",\"oMxmoP\":\"Сервер HLS\",\"5/G5c1\":\"Статистика HLS для хранилища в памяти\",\"wXoUQx\":\"Горизонтальный переворот\",\"8iPCh6\":\"Размещенный интерфейс Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP и HTTPS\",\"YmRLab\":\"HTTP-порт\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS-порт\",\"Ptrvx5\":\"Человекочитаемое имя на сервисе.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Если вы изменили порты, возможно, ядро Restreamer уже перезапустилось, но теперь он доступен на другом порту.\",\"OQONQS\":\"Если вы включили Let's Encrypt TLS, получение сертификатов может занять некоторое время. Убедитесь, что ядро Restreamer доступно через порт 80 из Интернета. Пожалуйста, проверьте журнал консоли ядра Restreamer.\",\"yWR5EY\":\"код iframe\",\"7ZKroD\":\"Игнорировать диапазоны IP-адресов\",\"VyUuZb\":\"URL изображения\",\"5n8FKh\":\"Выходные данные\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"В дополнение к плееру Restreamer предлагает полноценную целевую страницу, которую вы можете использовать для простого и быстрого представления своей прямой трансляции.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"В памяти\",\"EwM+sw\":\"Хранилище в памяти\",\"xmsVuq\":\"Несовместимо\",\"exUN1j\":\"Наследовать\",\"CDdi1R\":\"Встраивание 1\",\"MJlrvd\":\"Встраивание 2\",\"MppU96\":\"Встраивание 3\",\"zBVRQb\":\"Встраивание 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Входной поток\",\"jnyWFc\":\"Домен экземпляра\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Интервал (секунды)\",\"C4WaV1\":\"Оповещение о проблеме\",\"lCnea7\":\"кбит/с\",\"d3WJJg\":\"Интервал между ключевыми кадрами (секунды)\",\"rdU729\":\"Макет\",\"Cpw3fU\":\"Сертификат Let's Encrypt\",\"LgUs17\":\"Для работы Let's Encrypt требуется одно или несколько общедоступных доменных имен и доступный порт 80/TCP.\",\"oCHfGC\":\"Уровень\",\"eyLS1J\":\"Уровень системного протокола.\",\"iQmbPb\":\"Лицензия\",\"mQImez\":\"Цвет жизни\",\"6BDqha\":\"Лимиты\",\"1pbzRr\":\"Цвет линии\",\"Ce6Hrg\":\"Линии\",\"yzF66j\":\"Ссылка\",\"NBxw5Y\":\"Ссылка, наведение курсора\",\"xCrpEt\":\"Список расширений файлов, которые не следует кэшировать (например, \\\".m3u8\\\"), по одному в строке. Оставьте пустым, если нет.\",\"m2l8c3\":\"Список расширений файлов для кэширования (напр.. \\\".html\\\"), по одному в строке. Оставьте пустым, чтобы кэшировать все типы файлов.\",\"QYw6tl\":\"Список диапазонов IP адресов в нотации CIDR, напр., 127.0.0.1/32, которые не будут записываться статистикой — по одному диапазону IP адресов на строку. Оставьте пустым для записи всех сеансов..\",\"ELFO4F\":\"Размер списка (сегменты)\",\"D0Nwch\":\"Прямая трансляция на RTMP-сервис dlive Live.\",\"n2VKys\":\"Прямая трансляция на сервис Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Прямая трансляция на RTMP-сервис Media Network.\",\"w9zSAv\":\"Прямая трансляция на сервис PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Прямая трансляция на RTMP-сервис Trovo Live.\",\"JJGagy\":\"Прямая трансляция на сервис Twitch Live RTMP.\",\"4TnPVp\":\"Прямая трансляция на RTMP-сервис Vimeo Live\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Уровень журнала\",\"x7PDL5\":\"Логирование\",\"z0t9bb\":\"Авторизоваться\",\"+fL+Rj\":[\"Ошибка входа: \",[\"0\"]],\"4cd7gw\":\"Ошибка входа: не удалось загрузить сведения об API\",\"sNqu7k\":\"Вход/JWT-авторизация\",\"iG7KNr\":\"Логотип\",\"nOhz3x\":\"Выйти\",\"DYX2fZ\":\"Петля\",\"SzaPTL\":\"Нормализация громкости\",\"QGvS9k\":\"Низкая задержка (буфер)\",\"GaV7al\":\"Основной канал\",\"Wsn0Uw\":\"Основной канал не найден\",\"tROIde\":\"Основной канал сохранен\",\"nLVSux\":\"Канал главной страницы (index.html).\",\"rd3Pv7\":\"Главный источник\",\"f4txA1\":\"Сопровождающий:\",\"3iTz2L\":\"Сделать канал доступным в виде RTMP-потока (экспериментально).\",\"mMiku6\":\"Сделать канал доступным как поток SRT (экспериментальный).\",\"6dZ9NS\":\"Маркированные рамы\",\"iuA3xD\":\"Главный список воспроизведения (повышает совместимость с браузерами/клиентами)\",\"WBpxnA\":\"Максимально допустимый размер кеша, 0 для неограниченного.\",\"NzaPGT\":\"Максимально допустимо мегабайт ОЗУ для /memfs, 0 для неограниченного.\",\"aaso5s\":\"Максимально разрешенное количество мегабайт для использования с жесткого диска. 0 без ограничений.\",\"4hp5D2\":\"Максимальная пропускная способность Мбит/с\",\"L+uBOR\":\"Максимальная задержка в миллисекундах.\",\"hkoCqq\":\"Максимальный размер файла (Мегабайты)\",\"i96JfZ\":\"Максимальный размер файла для кэширования.\",\"Q9HspI\":\"Максимальная история журнала\",\"bS9ZHz\":\"Максимальное количество строк журнала\",\"6sayfE\":\"Максимальный размер (Мегабайты)\",\"09BWQO\":\"Максимальное время простоя зрителя (в секундах)\",\"hW0DV1\":\"Максимальное количество зрителей\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Память\",\"KReOHe\":\"Ограничение памяти (мегабайт)\",\"fViWSz\":\"Лимит использования памяти в мегабайтах, 0 - неограниченный.\",\"emJ6M7\":\"Мета информация\",\"6GBt0m\":\"Метаданные\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", по умолчанию \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Плесень\",\"QA/rur\":\"Подробнее о лицензиях здесь\",\"fyGu1l\":\"Подробнее о сервисе\",\"yBsv2n\":\"Подробнее об авторских правах Twitter <0>здесь.\",\"ZpfAc9\":\"Подробнее об авторских правах YouTube <0>здесь.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Должен быть больше, чем максимальный размер файла в кэше.\",\"gC9RIS\":\"Должен быть меньше максимального размера кэша.\",\"R7SsBE\":\"Без звука\",\"K0rCAk\":\"Отключить звук на канале.\",\"Jv/kid\":\"Выключить звук слева\",\"FsCP6P\":\"Отключить звук справа\",\"6YtxFj\":\"Имя\",\"0ZkQqR\":\"Имя для шаблона. Если имя уже существует, оно будет перезаписано.\",\"OR475H\":\"Сеть\",\"KZDcDr\":\"Сетевой источник\",\"hXzOVo\":\"Далее\",\"JZrXI6\":\"Далее: Аудио\",\"kZFy+Q\":\"Далее: Настройка видео\",\"1UzENP\":\"Нет\",\"p6Fxed\":\"Нет звука\",\"bIDO3H\":\"Аудиопоток недоступен\",\"nn9C5B\":\"Устройство ввода недоступно\",\"dEwhMr\":\"Прямая трансляция не обнаружена. Пожалуйста, проверьте программное обеспечение, которое отправляет поток.\",\"1FJdZA\":\"Источник не выбран\",\"3TfuWb\":\"Нет доступных источников\",\"fiXA/y\":\"Подходящий энкодер не найден.\",\"acY4BT\":\"Не найден подходящий фильтр.\",\"/02FxK\":\"Нет видео\",\"AVWnC9\":\"Видеопоток недоступен\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Шум\",\"EdQY6l\":\"Ни одного\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Заметки\",\"/a9y2d\":\"Количество строк журнала для сохранения.\",\"ZD0urA\":\"Количество журналов для каждого процесса.\",\"Aia5w3\":\"Количество секунд, в течение которых разрешается превышать лимиты.\",\"1lZb7D\":\"Количество столбцов плитки для кодирования.\",\"InpHMl\":\"Количество плиток для кодирования.\",\"wnRD5D\":\"Количество рядов плитки для кодирования.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"OK\",\"+Xj01r\":\"Один реферер на строку, напр.. http://www.example.com\",\"1TNIig\":\"Открыть\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Выходной буфер\",\"vjgq8y\":\"Пан\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Пассфраза\",\"Y+p0Tt\":\"Парольная фраза для шифрования SRT.\",\"fpQo1i\":\"Длина парольной фразы должна составлять от 10 до 79 символов\",\"3GZXaB\":\"Сквозную \\\"Passthrough (copy)\\\" следует отключать только в случае необходимости. Каждое кодирование требует дополнительных ресурсов CPU/GPU.\",\"8ZsakT\":\"Пароль\",\"b+AuuK\":\"Пароль для авторизации.\",\"oREnCY\":\"Пароль для устройства.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Сохранять статистику просмотров\",\"ANX1b0\":\"розовый\",\"c8aBfM\":\"Пиксельный формат\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"План: <0>Начальный\",\"Ejic1p\":\"Платформы\",\"gtQk6c\":\"Воспроизведение\",\"vRayGs\":\"Плеер\",\"tWB9Gz\":\"Настройки плеера сохранены\",\"GIxxiU\":\"URL-адрес плеера\",\"PUmLMn\":\"Сайт плеера\",\"LKPR6G\":\"Плейлист\",\"luDqS5\":\"Версия плейлиста (M3U8). Версия 3 имеет наилучшую совместимость с браузерами/клиентами.\",\"84gH7g\":\"Пожалуйста, проверьте <0>журнал процесса\",\"OMpKNS\":\"Пожалуйста, свяжитесь с оператором сервиса и проверьте, что происходит.\",\"4lATxE\":\"Пожалуйста, введите свой адрес электронной почты, чтобы подтвердить согласие с условиями обслуживания Let's Encrypt CA и получить уведомление в случае возникновения проблем.\",\"bdMiXb\":\"Пожалуйста, свяжитесь с оператором службы и проверьте, что происходит.\",\"wPZBpR\":\"Пожалуйста, выберите файл для загрузки.\",\"YcGRmx\":\"Пожалуйста, используйте \\\"Passthrough (copy)\\\", если это возможно. Кодирование требует дополнительных ресурсов CPU/GPU.\",\"06qnxB\":\"Пожалуйста, подождите. Зонд транслирует данные ...\",\"FTIPkL\":\"Пожалуйста подождите. Настройка потока...\",\"hZ6znB\":\"Порт\",\"p/78dY\":\"Позиция\",\"d62Stt\":\"Плакат\",\"PNap/Y\":\"URL-адрес изображения плаката\",\"6o2Onc\":\"Пресет\",\"lxxyq5\":\"Основной поток\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Зонд\",\"1B9XX0\":\"Процесс\",\"DL/nrw\":\"Контроль процесса\",\"fzYV2N\":\"Детали процесса\",\"zNVLia\":\"Отчет о процессе\",\"PwMwvX\":\"Обработка и контроль\",\"vERlcd\":\"Профиль\",\"6+OdGi\":\"Протокол\",\"hEksWI\":\"Протоколы\",\"aLZh9m\":\"Публичный домен/ы\",\"7lbVwY\":\"Служба публикации не найдены\",\"ia1vIb\":\"Настройки сайта публикации сохранены\",\"XHw75Y\":\"Публикации\",\"dsOSCf\":\"Режим вытягивания\",\"lQQ/zA\":\"Вытяните или получите данные:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Качество\",\"i9d+3B\":\"Камера Raspberry Pi\",\"tbXj/A\":\"Контроль скорости\",\"iaocTt\":\"Соотношение\",\"WnSPyE\":\"rav1e Параметры\",\"6PpdQP\":\"Чтение ввода на исходной скорости\",\"bqsSkO\":\"Режим приема\",\"gcoiFh\":\"Повторное подключение\",\"lakzvL\":\"Задержка повторного подключения (в секундах)\",\"HC1Dci\":[\"Повторное подключение через \",[\"0\"],\"с\"],\"uSDaLA\":[\"Не удалось повторно подключиться к ядру Restreamer в течение последних \",[\"RETRIES\"],\" секунд.\"],\"N7ojfh\":\"Повторное подключение к ядру Restreamer не удалось.\",\"lCF0wC\":\"Обновление\",\"uJ+Ve2\":\"Регион\",\"CNipTv\":\"Зарегистрировать пользователя\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Перезагрузка\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Удалите самые старые записи, если /memfs заполнен\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Требуется активация\",\"XMbkus\":\"Сброс логотипа\",\"36SXzE\":\"Плакат перезагрузки\",\"6z9W13\":\"Перезапустить\",\"dKwnjv\":\"Требуется перезагрузка\",\"0Er6+M\":\"Перезапуск\",\"X1sT1j\":\"Перезапуск ядра Restreamer...\",\"o5q6jb\":\"Не удалось перезапустить приложение.\",\"x8cAsq\":\"Инструкции по эксплуатации рестримера\",\"24fLVm\":\"Сервис Restreamer\",\"LCGjV4\":\"Получение данных потока...\",\"6gRgw8\":\"Повторить попытку\",\"Qe1vaN\":\"Тестовый шаблон RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Повернуть\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Приложение RTMP для публикации.\",\"7ggERB\":\"RTMP-выход\",\"V82lE+\":\"Порт RTMP\",\"itARjB\":\"RTMP-сервер\",\"WWZqzz\":\"RTMP-сервер не включен\",\"HhOPCL\":\"Адрес прослушивания RTMP-сервера.\",\"DbHOhO\":\"Токен RTMP для публикации и воспроизведения. Токен – это значение параметра запроса URL-адреса token.\",\"OAZeFE\":\"Порт RTMPS\",\"Wt/wFL\":\"RTMPS-сервер\",\"xwonDv\":\"Адрес прослушивания сервера RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Правило\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Выборка\",\"tfDRzk\":\"Сохранить\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Масштаб\",\"6aaceW\":\"Размер шкалы\",\"xbb037\":\"Секунд для хранения файлов в кеше.\",\"geM4Wc\":\"Секунд до перезапуска процесса.\",\"iF7dnC\":\"Секунд до завершения зависшего процесса.\",\"mydmGn\":\"Секунд до обновления моментального снимка/миниатюры источника видео.\",\"a3LDKx\":\"Безопасность\",\"Gkr6zI\":\"Токен безопасности\",\"/Ocrtf\":\"Цвет панели поиска\",\"4lDlYf\":\"Длина сегмента (секунды)\",\"XfNrg+\":\"Сегмент будет обрезан на следующем ключевом кадре по истечении этого времени. 2 рекомендуется.\",\"jHCoDy\":\"Сегментация\",\"htbsw4\":\"Выберите устройство:\",\"O+ruJ3\":\"Выберите источник звука:\",\"6MTTpq\":\"Выберите RTMP или SRT (если включено) для меньшей задержки.\",\"E7haRr\":\"Выберите источник...\",\"PlZ1aw\":\"Выберите источник видео:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Выберите настройку кодировки:\",\"aT3o8A\":\"Выберите настройки фильтра (необязательно):\",\"ylXj1N\":\"Выбрано\",\"kYpw4+\":\"Выбранный канал\",\"p7/fS2\":\"Выбор\",\"SOePwi\":\"Отправляйте анонимные метрики (помогает нам в будущем развитии)\",\"kOhBl+\":\"Отправить поток по адресу ...\",\"E1X5xY\":\"Отправить поток на этот адрес:\",\"d/IMf3\":\"Отправить видео в фреймбуфер\",\"sGH11W\":\"Сервер\",\"9rG25a\":\"URL сервера\",\"T3bXxK\":\"Обслуживание\",\"KPPdUO\":\"Имя службы\",\"DOrSw/\":\"Токен сервиса для мониторинга.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Сессии\",\"xwK3ty\":\"Задайте конфигурацию rav1e с помощью :-разделенного списка параметров ключ=значение.\",\"FIIk8R\":\"Устанавливает ограничение пропускной способности в Мбит/с для исходящей передачи данных HLS. Все услуги, такие как RTMP и исходящие процессы, включены в расчет. Если пропускная способность превышена, средства просмотра HLS получают код состояния HTTP 509 (превышен предел пропускной способности). 0 неограничен.\",\"cOG/FK\":\"Устанавливает лимит зрителей для сеансов HLS. Если ограничение превышено, средства просмотра HLS получают код состояния HTTP 509 (превышен предел пропускной способности). 0 неограничен.\",\"mcJFKm\":\"Настройка подключения к сервису.\",\"Tz0i8g\":\"Настройки\",\"IiOZ6R\":\"Настройки (режим эксперта)\",\"t64OSP\":\"Настройки пути /data. Доступ защищен\",\"Ytdvyh\":\"Настройки для пути /memfs.\",\"1w3lYe\":\"Настройки сохранены. Все изменения вступят в силу после перезапуска приложения.\",\"XUw3i9\":\"Кнопка поделиться\",\"oD0Oes\":\"Показывает ссылку на проект.\",\"+vv4q2\":\"Регистрация (бесплатно)\",\"JXVFAm\":\"Тишина\",\"VSK9FJ\":\"Тишина Аудио\",\"L8Jb2l\":\"Синус\",\"MxZN16\":\"Название сайта\",\"Cj2Gtd\":\"Размер\",\"yTZe+y\":\"Снимок\",\"pSUgnY\":\"Регистрация (OAuth2, 2FA)\",\"qe9jaI\":\"Время ожидания сокета (микросекунды)\",\"bRN5nm\":\"Программного обеспечения\",\"wdxz7K\":\"Источник\",\"sywlQb\":\"Источник и кодирование\",\"l9wI00\":\"Скорость\",\"vdhBFK\":\"Предварительная настройка скорости\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Выход SRT\",\"YqnAto\":\"Сервер SRT\",\"k6hpqB\":\"Сервер SRT не включен\",\"SzqwHY\":\"Адрес прослушивания сервера SRT.\",\"KwbjpB\":\"SRT-токен для публикации и воспроизведения. Токен - это значение параметра streamid 'token'.\",\"Aj28wT\":\"Время ожидания ожидания (секунды)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Статистика\",\"BrrIs8\":\"Хранилище\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Сохраняет статистику просмотра на диск.\",\"hou0tP\":\"Поток\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Ключ потока\",\"bqiH5R\":\"Ключ потока\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Название потока\",\"eXELiS\":\"Имена потоков\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Источник потока для службы публикации (экспериментальный).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL-адрес потока\",\"+fVH0Y\":\"Поддержка datarhei Restreamer\",\"5HSoct\":\"Поддерживает HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT и другие.\",\"D+NlUC\":\"Система\",\"jkuW2z\":\"Адрес цели\",\"/K2CvV\":\"Шаблон\",\"2Ivkf/\":\"Шаблон, который будет использоваться для создания веб-сайта публикации. Кнопка удаления удаляет выделение из системы.\",\"4Y5H+g\":\"Условия\",\"tRNH6x\":\"Тестовый шаблон\",\"EtlVOt\":\"Тестовый шаблон (расширенный)\",\"wGPolR\":\"Цвета текста\",\"m0TUJj\":\"Амплитуда (0.0 - 1.0) генерируемого аудиопотока\",\"8C6xwe\":\"Приложение использует более старую версию настроек.\",\"VPQVR2\":\"Доступный двоичный файл FFmpeg не поддерживает ни один из требуемых протоколов.\",\"Gx9PPK\":\"Битрейт аудиопотока.\",\"T2kk3f\":\"Несущая частота\",\"JAOLK8\":[\"Канал \\\"\",[\"0\"],\"\\\" не может быть удален\"],\"jNaBhy\":[\"Канал \\\"\",[\"0\"],\"\\\" удален\"],\"SD8pYJ\":\"Удаление этого канала не может быть восстановлено. Все публикации этого канала будут удалены.\",\"bnkV//\":\"Входной профиль не завершен. Укажите источник видео и аудио.\",\"wCYjmB\":\"Входной профиль не заполнен. Пожалуйста, укажите источник видео и/или аудио.\",\"JMaqWu\":\"Схема аудиопотока.\",\"0dqo+p\":\"Максимальное количество сегментов плейлиста. 0 будет содержать все сегменты. 6 рекомендуется.\",\"BDgbiW\":\"Цвет шума\",\"SxGu7I\":\"Лицо, связавшее произведение с этим документом, сделало произведение общественным достоянием, отказавшись от всех своих прав на произведение во всем мире в соответствии с законом об авторском праве, включая все смежные и смежные права, в той мере, в какой это разрешено законом. Вы можете копировать, изменять, распространять и выполнять работу даже в коммерческих целях, не спрашивая разрешения.\",\"XISvrq\":\"Общедоступное доменное имя хоста, на котором работает Restreamer. Разделяйте несколько доменных имен запятой.\",\"yt3d3G\":[\"Службу публикации \\\"\",[\"0\"],\"\\\" не удалось удалить\"],\"zYcO/c\":[\"Служба публикации \\\"\",[\"0\"],\"\\\" создана\"],\"AQE+oz\":[\"Служба публикации \\\"\",[\"0\"],\"\\\" удалена\"],\"qVLWvp\":\"Создан сервис публикации\",\"njj2Wn\":\"Для вывода RTMP требуется сервер RTMP.\",\"WRxiP8\":\"Частота дискретизации аудиопотока.\",\"/pZjRr\":\"Выбранный файл слишком велик (<0/>). Допускается только <1/>.\",\"VBaSn9\":[\"Выбранный тип файла (\",[\"0\"],\") не разрешен. Разрешенными типами файлов являются \",[\"1\"]],\"fM410X\":[\"Настройки для \\\"\",[\"0\"],\"\\\" сохранены\"],\"02ii2e\":\"Источник не предоставляет никаких аудиопотоков.\",\"+2cAEU\":\"Источник не предоставляет никаких аудиопотоков. Пожалуйста, проверьте <0>подробнее.\",\"pfqmY7\":\"Источник не предоставляет совместимых аудиопотоков.\",\"VO9KeK\":\"Источник не предоставляет совместимых видеопотоков. Ознакомьтесь с <0>требованиями.\",\"007foU\":\"Источник не предоставляет никаких видеопотоков. Пожалуйста, проверьте <0>подробнее.\",\"lAsMdV\":\"Источник не предоставляет никаких видеопотоков. Пожалуйста, проверьте устройство.\",\"XlnvcR\":\"Для вывода SRT требуется сервер SRT Server.\",\"w6uuIE\":\"Источник видео не обеспечивает совместимый аудиопоток. Рекомендуется <0>отключить звук. Сервисы YouTube, Facebook и другие компании требуют наличия аудиоканала....\",\"YJJ2RL\":\"Источник видео совместим. Выберите нужное разрешение:\",\"wEiZHy\":\"Доступны обновления. Здесь вы получите больше информации.\",\"4p1MgS\":\"Не удалось сохранить настройки. Настройки не сохранены.\",\"YJhhwT\":[\"Произошла ошибка при подключении к ядру Restreamer на \",[\"0\"],\".\"],\"q42VsF\":[\"При загрузке произошла ошибка: \",[\"0\"]],\"HM96PJ\":\"Не удалось настроить поток.\",\"LoDP+Y\":\"Были некоторые ошибки в настройках. Настройки не сохранены.\",\"l92ZKN\":\"Метод входа недоступен.\",\"cPKuc8\":\"Это фиктивный сервис, который объясняет вам концепции сервиса.\",\"Ku8nyu\":\"Это не обязательно ошибка. Однако перезапуск ядра Restreamer может занять немного больше времени..\",\"vCRP3w\":\"Это должно упомянуть положения об авторском праве для цели этой службы.\",\"Hx7k3c\":\"Эта лицензия позволяет повторным пользователям копировать и распространять материал на любом носителе или в любом формате только в неадаптированной форме и только при условии указания авторства. Лицензия разрешает коммерческое использование.\",\"6OeMYB\":\"Эта лицензия позволяет повторным пользователям копировать и распространять материал на любом носителе или в любом формате только в неадаптированной форме, только в некоммерческих целях и только при условии указания авторства.\",\"TUuhsB\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате только в некоммерческих целях и только при условии указания авторства.\",\"kVtKRl\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате только в некоммерческих целях и только при условии указания авторства. Если вы микшируете, адаптируете или развиваете материал, вы должны лицензировать измененный материал на тех же условиях.\",\"FpX5mp\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате при условии указания авторства. Лицензия разрешает коммерческое использование.\",\"SDvwLd\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате при условии указания авторства. Лицензия разрешает коммерческое использование. Если вы микшируете, адаптируете или развиваете материал, вы должны лицензировать измененный материал на тех же условиях.\",\"H144rX\":\"Этот протокол неизвестен или не поддерживается имеющимся двоичным файлом FFmpeg.\",\"nlOxxw\":\"Этот источник нельзя редактировать, пока он используется. Чтобы продолжить, вы должны отключить источник.\",\"mbSyrG\":[\"Эта версия пользовательского интерфейса не поддерживает доступный двоичный файл FFmpeg (\",[\"0\"],\"). Пользовательский интерфейс требует \",[\"1\"],\". Пожалуйста, используйте поддерживаемый двоичный файл FFmpeg.\"],\"N/tTgz\":[\"Эта версия пользовательского интерфейса не поддерживает подключенное ядро (\",[\"0\"],\"). Пользовательский интерфейс требует \",[\"1\"],\". Пожалуйста, используйте совместимую версию пользовательского интерфейса.\"],\"2Vq5tr\":\"Эта версия пользовательского интерфейса совместима.\",\"QxX9Z5\":\"Порог (секунды)\",\"sNmspt\":\"Плиточные колонны\",\"sYGp2E\":\"Ряды плитки\",\"wbOpwP\":\"Плитка\",\"H59P7E\":\"Время до того, как неактивное соединение со зрителем будет считаться закрытым.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Для стабилизации системы увеличьте длину сегмента HLS для интервала ключевых кадров на 2-3 * (Обработка и управление).\",\"TP9/K5\":\"Токен\",\"q+c+Fv\":\"Верхнее поле\",\"7mjsuh\":\"Передача Livestream в канал Telegram.\",\"Gxlq7L\":\"Передача моментальных снимков основного источника на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"SdyhUl\":\"Передайте аудиоканал основного источника на сервер Icecast. Более подробную информацию о настройках можно найти <0>здесь.\",\"MayU3b\":\"Передайте основной источник как HTTP-Live-Streaming (HLS) на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"3K8kpL\":\"Передайте основной источник как MPEG-DASH на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"P/J230\":\"Передайте основной источник в Brightcove Live Service. Более подробную информацию о настройках можно найти <0>здесь.\",\"u0MhFy\":\"Передайте основной источник в службу CDN77 RTMP. Подробнее о настройке <0>здесь.\",\"zkgT7c\":\"Передайте основной источник в службу DaCast RTMP. Подробнее о настройке <0>здесь.\",\"in9xJz\":\"Передайте основной источник на основной ресурс datarhei. Более подробную информацию о настройках можно найти <0>здесь.\",\"PcgwEU\":\"Передайте основной источник на ресурс livespotting.com. Более подробную информацию о настройках можно найти <0>здесь.\",\"D7jwpf\":\"Передать основной источник в службу MPEG-TS. Подробнее о настройках можно узнать здесь <0>здесь.\",\"SpSgUV\":\"Передача основного источника на сервер Red5/Pro Server. Более подробную информацию о настройках можно найти <0>здесь.\",\"lIpqI/\":\"Передайте основной источник на сервер RTMP(e|s|t|te|ts). Более подробную информацию о настройках можно найти <0>здесь.\",\"pqR6nq\":\"Передайте основной источник на сервер RTSP. Более подробную информацию о настройках можно найти <0>здесь.\",\"Q4dSnZ\":\"Передайте основной источник на сервер SRT. Более подробную информацию о настройках можно найти <0>здесь.\",\"fx9S4p\":\"Передайте основной источник на сервер UDP. Более подробную информацию о настройках можно найти <0>здесь.\",\"GLXY2N\":\"Передайте основной источник на сервер WOWZA. Более подробную информацию о настройках можно найти <0>здесь.\",\"AsMKFi\":\"Передайте основной источник в Akamai (MSL) Media Services Live. Более подробную информацию о настройках MSL Encoder можно найти <0>здесь.\",\"FB364G\":\"Передайте основной источник на RTMP-сервис Livepush. Более подробную информацию о настройках можно найти <0>здесь.\",\"CC9yS5\":\"Передайте основной источник на RTMP-сервис Nimo TV. Более подробную информацию о настройках можно найти <0>здесь.\",\"fP8ZYg\":\"Передайте основной источник на RTMP-сервис Picarto TV. Более подробную информацию о настройках можно найти <0>здесь.\",\"D9A0LK\":\"Передайте основной источник в службу Restream RTMP. Более подробную информацию о настройках можно найти <0>здесь.\",\"YL800g\":\"Передача на Azure Media Services. Более подробную информацию можно найти <0>здесь.\",\"Abgy4c\":\"Передайте в LinkedIn. Более подробную информацию можно найти <0>здесь.\",\"dhCZoS\":\"Передайте ваш Livestream на RTMP-сервис Dailymotion. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"tQNclD\":\"Передайте ваш Livestream на RTMP-сервис Kick.com. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"mQ0sjr\":\"Передайте ваш Livestream на сервер Owncast. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"AqYRa3\":\"Передайте ваш Livestream на сервис Rumble RTMP. <0>Здесь вы можете найти более подробную информацию о настройках.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Передает ваш видеопоток с нужным ключом, сгенерированным в Twitter Producer. Дополнительную информацию о настройке прямой трансляции можно найти на странице <0>Producer в Твиттере.\",\"ADKef2\":\"Мелодия\",\"8jwViA\":\"Транспорт UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Не удалось загрузить конфиг.\",\"MWrgON\":\"Уникальный идентификатор на сервисе.\",\"Ef7StM\":\"Неизвестный\",\"wiIpKZ\":\"Неизвестная ошибка загрузки\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Не выбрано\",\"j9zg7e\":\"Подробности обновления (Changelog)\",\"ONWvwQ\":\"Загрузить\",\"OXItQT\":[\"Загрузите аудиофайл (\",[\"0\"],\"), чтобы зациклить его.\"],\"75yxb7\":[\"Загрузите изображение или видеофайл (\",[\"0\"],\"), чтобы зациклить его.\"],\"iAkPTY\":\"Загрузка файла не удалась\",\"Jmy6pK\":\"Не удалось загрузить логотип\",\"xl1xFp\":\"Загрузка плаката не удалась\",\"TjrbDj\":\"Время безотказной работы\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Используйте Auth0 для работающего ядра Restreamer. Больше <0>подробностей.\",\"JX4TqK\":\"Воспользуйтесь мастером (<0/>) для быстрой и простой настройки или отредактируйте (<1/>) источники непосредственно в пользовательском режиме.\",\"YYTBz0\":\"Используйте свои авторские права и выберите правильную лицензию на изображение. Независимо от того, бесплатно для всех или сильно ограничено. Кратко обсудите, что другим разрешено делать с вашим изображением.\",\"2UPEb1\":\"Используйте свои авторские права и выберите правильную лицензию на изображение. Независимо от того, бесплатно для всех или сильно ограничено. Кратко обсудите, что другим разрешено делать с вашим изображением.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Регистрация пользователя\",\"7sNhEz\":\"Имя пользователя\",\"Gv3pbp\":\"Имя пользователя для авторизации.\",\"RQSvXZ\":\"Имя пользователя для устройства.\",\"zze3B5\":\"V4L2_M2M является экспериментальным.\",\"PvM7Yi\":\"Переменная частота кадров (VFR)\",\"hpBTpL\":\"вельветовый\",\"uIAsxu\":\"Вертикальное сальто\",\"vSJd18\":\"Видео\",\"auaWhL\":\"Видеоустройство\",\"/skRGV\":\"Настройки видео\",\"EzOjvB\":\"Настройка видео\",\"QcQXbU\":\"Источник видео\",\"M/TIv1\":\"Зрителей\",\"L2hKw+\":\"фиолетовый\",\"hA6FFn\":\"Виртуальный источник\",\"/cF7Rs\":\"Объем\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Мы рекомендуем OpenMAX IL для Raspberry PI (3/4) с 32-битной операционной системой.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Добро пожаловать в Restreamer v2, решение для быстрой и простой публикации видео. Бесплатно для частного и коммерческого использования. Дополнительная помощь в <0>документах.\",\"hJfWkA\":\"Какую предустановку скорости использовать.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Где хранить список воспроизведения HLS и сегменты. Рекомендуется использовать In-Memory.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"белый\",\"aFWU1n\":\"Ширина\",\"e0wV2Y\":\"Защита от записи\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Да\",\"WPUsOF\":\"Вы не можете прервать работу мастера, так как должен быть настроен хотя бы один источник.\",\"qwY9F9\":\"Вы изменили конфигурацию. Чтобы изменения вступили в силу, необходимо перезапустить приложение. Вы хотите перезапустить сейчас?\",\"nxq2ni\":\"Вы должны повторно подключиться вручную\",\"RM3CEc\":\"У вас есть несохраненные изменения. Пожалуйста, сохраните их, прежде чем вы сможете снова управлять сервисом.\",\"/cg7qS\":\"Ваш поток необходимо закодировать, но подходящего кодировщика нет.\",\"BwrOm6\":\"Ваш поток должен быть закодирован. Выберите нужный энкодер:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Тестовый образец YUV\"}")}; \ No newline at end of file diff --git a/src/locales/ru/messages.po b/src/locales/ru/messages.po index 9693ed5..c51e42a 100644 --- a/src/locales/ru/messages.po +++ b/src/locales/ru/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Список совместимости" msgid "<0>Show probe details" msgstr "<0>Показать детали зонда" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Переключитесь на интерфейс целевого Restreamer." @@ -76,11 +76,16 @@ msgstr "Отмена" msgid "About" msgstr "О" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Аудио" @@ -302,10 +311,6 @@ msgstr "Автор" msgid "Authorization" msgstr "Авторизация" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Авто" @@ -322,10 +327,6 @@ msgstr "Автовоспроизведение" msgid "Available" msgstr "Доступный" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Время кэширования (сек)" msgid "Cache types" msgstr "Типы кеша" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Чанк" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Цвет" msgid "Command" msgstr "Команда" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Конфигурация" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Подключенное устройство" msgid "Connected since <0/>" msgstr "Подключено с <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Подключение ..." @@ -616,15 +618,19 @@ msgstr "Режим постоянного квантования (от -1 до 2 msgid "Content" msgstr "Контент" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL содержимого" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Предел процессора (в процентах)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Ограничение использования процессора в процентах (0-100%), 0 - неограниченное." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Режим деинтерлейса" msgid "Deinterlace parity" msgstr "Деинтерлейс по четности" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Задержка" @@ -851,14 +841,6 @@ msgstr "Удаление службы публикации нельзя отме msgid "Delivering mode" msgstr "Режим доставки" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Отключить" msgid "Disconnect & Continue" msgstr "Отключить и продолжить" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "РЕДАКТИРОВАТЬ: Плеер" msgid "EDIT: Publication Website" msgstr "РЕДАКТИРОВАТЬ: Сайт публикации" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Электронная почта" msgid "Embed" msgstr "Встроить" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Кодирование" msgid "Encryption" msgstr "Шифрование" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Введите имя для нового канала." @@ -1101,12 +1099,12 @@ msgstr "Ошибка" msgid "Error while copying data to clipboard" msgstr "Ошибка при копировании данных в буфер обмена" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Ошибка: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Путь к файлу" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Фильтр" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Общие" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Идентификатор Google Аналитики" @@ -1353,24 +1351,21 @@ msgstr "Идентификатор Google Аналитики" msgid "Google Analytics Tracker Name" msgstr "Название трекера Google Аналитики" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Аппаратное устройство" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Заголовок" msgid "Height" msgstr "Высота" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Статистика HLS для хранилища в памяти" msgid "Horizontal Flip" msgstr "Горизонтальный переворот" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Размещенный интерфейс Restreamer" @@ -1438,8 +1429,8 @@ msgstr "HTTPS-порт" msgid "Human readable name on the service." msgstr "Человекочитаемое имя на сервисе." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Несовместимо" msgid "Inherit" msgstr "Наследовать" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Встраивание 1" @@ -1527,6 +1514,14 @@ msgstr "Встраивание 3" msgid "Inject 4" msgstr "Встраивание 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Интервал между ключевыми кадрами (секу msgid "Layout" msgstr "Макет" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Сертификат Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Прямая трансляция на сервис Twitch Live RTMP." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Прямая трансляция на RTMP-сервис Vimeo Live" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "Нормализация громкости" msgid "Low latency (Buffer)" msgstr "Низкая задержка (буфер)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Основной канал" @@ -1848,6 +1843,10 @@ msgstr "Метаданные" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, по умолчанию {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Плесень" @@ -1870,7 +1869,7 @@ msgstr "Подробнее об авторских правах Twitter <0>зд msgid "More about YouTube's copyright <0>here." msgstr "Подробнее об авторских правах YouTube <0>здесь." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Нет звука" msgid "No audio stream available" msgstr "Аудиопоток недоступен" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Устройство ввода недоступно" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Прямая трансляция не обнаружена. Пожалуйста, проверьте программное обеспечение, которое отправляет поток." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Источник не выбран" @@ -1989,7 +1972,7 @@ msgstr "Подходящий энкодер не найден." msgid "No suitable filter found." msgstr "Не найден подходящий фильтр." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Нет видео" @@ -1998,10 +1981,6 @@ msgstr "Нет видео" msgid "No video stream available" msgstr "Видеопоток недоступен" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Node ID" @@ -2052,10 +2031,6 @@ msgstr "Количество плиток для кодирования." msgid "Number of tiles rows to encode with." msgstr "Количество рядов плитки для кодирования." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Один реферер на строку, напр.. http://www.example msgid "Open" msgstr "Открыть" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Выходной буфер" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Пан" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Пароль для устройства." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Плейлист" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Версия плейлиста (M3U8). Версия 3 имеет наилучшую совместимость с браузерами/клиентами." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Пожалуйста, проверьте <0>журнал процесса" @@ -2309,16 +2284,9 @@ msgstr "Пресет" msgid "Primary stream" msgstr "Основной поток" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Процесс" msgid "Process control" msgstr "Контроль процесса" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Детали процесса" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Протокол" msgid "Protocols" msgstr "Протоколы" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Публичный домен/ы" @@ -2437,6 +2401,10 @@ msgstr "Режим вытягивания" msgid "Pull or recieve the data:" msgstr "Вытяните или получите данные:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Повторное подключение" msgid "Reconnect delay (seconds)" msgstr "Задержка повторного подключения (в секундах)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Регион" msgid "Register user" msgstr "Зарегистрировать пользователя" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Удалите самые старые записи, если /memfs заполнен" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Инструкции по эксплуатации рестримера" msgid "Restreamer Service" msgstr "Сервис Restreamer" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Получение данных потока..." @@ -2618,15 +2578,15 @@ msgstr "Повторить попытку" msgid "RGB test pattern" msgstr "Тестовый шаблон RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Повернуть" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Правило" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Масштаб" msgid "Scale size" msgstr "Размер шкалы" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Секунд для хранения файлов в кеше." @@ -2778,10 +2738,6 @@ msgstr "Сегмент будет обрезан на следующем клю msgid "Segmentation" msgstr "Сегментация" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Выберите источник..." msgid "Select video source:" msgstr "Выберите источник видео:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Выберите, извлекаете ли вы поток из <0>сетевого источника (например, сетевой камеры) или <1>внутреннего RTMP-сервера (например, потоки OBS на Restreamer)..." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Имя службы" msgid "Service token for monitoring." msgstr "Токен сервиса для мониторинга." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Настройки" msgid "Settings (expert mode)" msgstr "Настройки (режим эксперта)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Настройки пути /data. Доступ защищен" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Размер" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Снимок" @@ -3005,7 +2957,7 @@ msgstr "Скорость" msgid "Speed Preset" msgstr "Предварительная настройка скорости" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Плитка" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Время до того, как неактивное соединение со зрителем будет считаться закрытым." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Для стабилизации системы увеличьте длину сегмента HLS для интервала ключевых кадров на 2-3 * (Обработка и управление)." @@ -3477,18 +3413,6 @@ msgstr "Для стабилизации системы увеличьте дли msgid "Token" msgstr "Токен" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Верхнее поле" @@ -3627,12 +3551,12 @@ msgstr "Мелодия" msgid "UDP transport" msgstr "Транспорт UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Неизвестный" msgid "Unknown upload error" msgstr "Неизвестная ошибка загрузки" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Загрузка плаката не удалась" msgid "Uptime" msgstr "Время безотказной работы" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Используйте свои авторские права и выб msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Регистрация пользователя" @@ -3773,10 +3693,6 @@ msgstr "Имя пользователя для авторизации." msgid "Username for the device." msgstr "Имя пользователя для устройства." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M является экспериментальным." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Мы рекомендуем OpenMAX IL для Raspberry PI (3/4) с 32-битной операционной системой." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Добро пожаловать в Restreamer v2, решение для msgid "What speed preset to use." msgstr "Какую предустановку скорости использовать." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Где хранить список воспроизведения HLS и сегменты. Рекомендуется использовать In-Memory." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "белый" @@ -3881,6 +3809,10 @@ msgstr "Ширина" msgid "Write protection" msgstr "Защита от записи" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Да" @@ -3893,7 +3825,7 @@ msgstr "Вы не можете прервать работу мастера, т msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Вы изменили конфигурацию. Чтобы изменения вступили в силу, необходимо перезапустить приложение. Вы хотите перезапустить сейчас?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Вы должны повторно подключиться вручную" @@ -3910,14 +3842,6 @@ msgstr "Ваш поток необходимо закодировать, но п msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Ваш поток должен быть закодирован. Выберите нужный энкодер:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/sl/messages.js b/src/locales/sl/messages.js index 7ccd999..5221e0f 100644 --- a/src/locales/sl/messages.js +++ b/src/locales/sl/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Seznam združljivosti\",\"TkRUk0\":\"<0>Podrobnosti preizkusa\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Preklopite na vmesnik ciljnega predvajalnika.\",\"2JnpXL\":\"2. Ustvarite nov kanal in izberite strežnik RTMP ali SRT.\",\"YidyJl\":\"3. Kopirajte URL in ga prilepite v polje \\\"Ciljni naslov\\\".\",\"X1MZZp\":\"6 (+ zajamčen začetek z okvirjem ključa)\",\"JVJkxU\":\"7 (+ razdrobljen format MP4)\",\"ssjjFt\":\"Prekliči\",\"uyJsf6\":\"O\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Dodaj\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Dodajanje zunanjih gradnikov in slogov na spletno mesto objave. Nekaj primerov najdete na strani s pomočjo.\",\"tsJWSj\":\"Dodajanje novega kanala\",\"PLTLdv\":\"Dodaj objavo\",\"35l+l6\":[\"Dodaj: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Naslov\",\"8M7jVn\":\"Povezava do slike za ozadje.\",\"Vu9yiv\":\"Naslov za sprejem HTTP zahtev.\",\"AQDW5r\":\"Naslov za sprejem HTTPS zahtev.\",\"tPrmjP\":\"Naslov:\",\"owt8Ow\":\"Barve in ozadje mesta za objavo prilagodite po želji.\",\"uNXGDK\":\"Napredno spremljanje\",\"VNgKZz\":\"Napredne nastavitve\",\"eiGNYb\":\"Napredna nastavitev\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Opozarjanje po e-pošti\",\"N40H+G\":\"Vse\",\"Hw5q+W\":\"Vsi okvirji\",\"f2zxGk\":\"Vse pomembne sistemske nastavitve.\",\"lle3bd\":\"Dovolite vse napotitelje\",\"bgFbIB\":\"Omogoča štetje, koliko gledalcev ima tok.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Zvočna amplituda\",\"ngteek\":\"To vrednost določa spremenljivka okolja.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Končna točka API ni bila najdena. Nastavitve niso shranjene.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplikacija\",\"xnCC/2\":\"Ali ste prepričani, da želite prekiniti čarovnika?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Zvok\",\"n3RW8K\":\"Zvočna naprava\",\"sYyYfE\":\"Zvočna naprava\",\"2he4Ra\":\"Zvok iz naprave\",\"MvY15a\":\"Nastavitve zvoka\",\"NoLJ6g\":\"Nastavitev zvoka\",\"IsqyDB\":\"Preverjanje pristnosti (Auth0)\",\"9odWb+\":\"Auth0 trenutno ni na voljo, ker je ta vmesnik naložen iz nezanesljivega izvora.\",\"aKsflb\":\"Auth0 Najemnik\",\"VbeIOx\":\"Avtor\",\"NJgJy9\":\"Avtorizacija\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Samodejno\",\"6yEk/V\":\"Samodejno čiščenje vseh medijskih podatkov\",\"jT50Rz\":\"Samodejno predvajanje\",\"csDS2L\":\"Na voljo\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Nazaj\",\"1KfyNL\":\"Barve ozadja\",\"23c2Uw\":\"Slika v ozadju\",\"r0bEmM\":\"Varnostni strežnik\",\"JFjQhH\":\"Nadomesten vir\",\"bkJ+QE\":\"Nadomesten URL\",\"OlXThP\":\"Pasovna širina\",\"QYaaBO\":\"Pretočna kontrola\",\"KSSL9f\":\"Baner\",\"0wJVK+\":\"Osnovni\",\"YR04fn\":\"Dejavnik piskanja\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Vrste blokovnega predpomnilnika\",\"zOC7cT\":\"modra\",\"359XuU\":\"Spodnje polje\",\"aC3kWW\":\"Na kratko opišite, kaj bodo gledalci videli med prenosom v živo.\",\"SehDNd\":\"rjava\",\"Ptp9MF\":\"Barva gumba\",\"Lp4WkO\":\"Po višini\",\"IeV/4P\":\"Po širini\",\"KxP5AO\":\"Predpomnilnik za datoteke na /data.\",\"qX8ffo\":\"Čas predpomnilnika (sekunde)\",\"4dRAku\":\"Vrste predpomnilnika\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Buffer za zajemanje\",\"aL2+1d\":\"Zajem klikov\",\"EOfLfP\":\"Kazalec za zajemanje\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" shranjen\"],\"lfFsZ4\":\"Kanali\",\"WMCwmR\":\"Preveri za posodobitve\",\"vM6kpc\":\"Preveri zahteve\",\"Wzgqhl\":\"Izberi video vir\",\"JpTR0/\":\"Izberi zvočni vir\",\"BTNyrQ\":\"Izberi vhodno napravo ...\",\"f9QIui\":\"Izberite vhodni tok ...\",\"/Y6zrN\":\"Izbira med CFR in VFR (samodejno)\",\"gObOjh\":\"Izberi kodek ...\",\"v7lrmU\":\"Izberite najemnika...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Zapri\",\"r8NEPc\":\"Vbrizgavanje kode\",\"BaUuhR\":\"Kodek\",\"jZlrte\":\"Barva\",\"sjVfrA\":\"Ukaz\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Konfiguracija\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Potrditev gesla\",\"iSLIjg\":\"Poveži\",\"NL3Gev\":\"Povezana naprava\",\"ywAvGr\":\"Povezan od <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Povezujem ...\",\"y6+BXa\":\"Povezovanje z Restreamer Core ...\",\"Td5lm6\":\"Povezava z jedrom Restreamerja ni uspela, verjetno zaradi mešane vsebine.\",\"awE5Py\":\"Konstantna hitrost sličic (CFR)\",\"DT0Af/\":\"Način konstantnega kvantizatorja (-1 do 255).\",\"4b3oEV\":\"Vsebina\",\"U34RbB\":\"URL vsebine\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Jedra\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Omejitev procesorja (v odstotkih)\",\"uW5tVo\":\"Omejitev uporabe procesorja v odstotkih (0-100 %), 0 pomeni neomejeno.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Po meri ...\",\"kH80Lk\":\"Zvočna naprava po meri\",\"fW1XQD\":\"Zvočni indeks po meri\",\"bzREp0\":\"Bitna hitrost po meri (kbit/s)\",\"w9oKek\":\"Vbrizgavanje kode po meri\",\"jYaP01\":\"Zakasnitev po meri\",\"2Gw+zZ\":\"Naprava po meri\",\"WCXGNp\":\"Format po meri\",\"ZkpZ06\":\"Kadriranje po meri\",\"1OXCgh\":\"Konfiguracija JSON po meri za datarhei Core.\",\"kl56NX\":\"Interval med ključnimi okviri po meri\",\"prIqWa\":\"Postavitev po meri\",\"HSB43e\":\"Vzorčenje po meri (Hz)\",\"Efe3BI\":\"Lestvica po meri\",\"E/2KdS\":\"Velikost po meri\",\"Se794B\":\"Video naprava po meri\",\"aqv915\":\"Indeks videoposnetkov po meri\",\"v8OlX8\":\"Podatki, kopirani v odložišče\",\"J/VBax\":\"Barva smrti\",\"d2TTfK\":\"Decibeli (dB)\",\"W034oz\":\"Dekoder\",\"ovBPCi\":\"Privzeto\",\"gFwPaj\":[\"Privzeto \",[\"0\"]],\"JQnkrI\":[\"Privzeto \",[\"0\"],\" (\",[\"1\"],\" sekund)\"],\"A7rne1\":\"Prepletanje (bwdif)\",\"yLth2B\":\"Odprava prepletanja deint\",\"g3JmiG\":\"Način prepletanja\",\"aro6lN\":\"Odprava prepletanja paritete\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Zakasnitev\",\"qBC9g9\":\"Zakasnitev (ms)\",\"cnGeoo\":\"Odstrani\",\"ScK3zL\":\"Brisanja storitve objave ni mogoče preklicati. Objava se takoj ustavi.\",\"cEx3oI\":\"Način dostave\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Opis\",\"f8fH8W\":\"Oblikovanje\",\"PEHQTf\":\"Naprava\",\"+K0AvT\":\"Prekini\",\"miKA/E\":\"Odklop in nadaljevanje\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Prekinjam ...\",\"sPFHpI\":\"Disk\",\"qczNPP\":\"Diskovni predpomnilnik\",\"PUqOjv\":\"Shranjevanje diskov\",\"uTwT/l\":\"Ali res želite zdaj znova zagnati aplikacijo?\",\"FgxcNT\":[\"Ali želite izbrisati \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Ali želite izbrisati \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Želite prekiniti povezavo \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Dokumenti\",\"TvY/XA\":\"Dokumentacija\",\"jPtEhI\":\"Dvojni okvirji\",\"diaSRH\":\"Vsako polje\",\"u2SnNO\":\"Vsak okvir\",\"ePK91l\":\"Uredi\",\"INCFjw\":\"Uredite vire zvoka in videa za prenos v živo. Dodajte opis in nastavite želeno licenco za vsebino.\",\"+7Wr2a\":[\"Uredi: \",[\"title\"]],\"e3GLqI\":\"EDIT: Igralec\",\"dTPDyf\":\"EDIT: Spletna stran publikacije\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"E-pošta\",\"KKBlUU\":\"Vdelaj\",\"PaQ3df\":\"Omogočite\",\"No9svk\":\"Omogočite periodični zvočni signal vsako sekundo s to vrednostjo, pomnoženo z nosilno frekvenco.\",\"R7s0Th\":\"Omogočite rezervni tok\",\"xA5zBY\":\"Omogočite statistiko nerdov\",\"r0zP4o\":\"Omogoči zdaj\",\"JwR989\":\"Omogočite primarni tok\",\"blkDNw\":\"Omogoči strežnik RTMP ...\",\"FgEhO4\":\"Omogoči prenos RTMPS\",\"uGvvxq\":\"Omogočanje posnetkov\",\"IuL64N\":\"Omogočite strežnik SRT ...\",\"NJsnxf\":\"Omogočanje avtorizacije je zelo priporočljivo. V nasprotnem primeru lahko do tega primerka dostopa vsakdo.\",\"xwS6bX\":\"Priporočamo, da omogočite osnovno avtentikacijo. V nasprotnem primeru lahko podatke v /memfs zapiše kdor koli.\",\"0zaXWu\":\"Enkoder\",\"o0XA5y\":\"Enkodiranje\",\"q1srUM\":\"Zaščita\",\"qS2y97\":\"Vnesite ime novega kanala.\",\"f7sXvi\":\"Vnesite geslo\",\"5QCNrf\":\"Vnesite naslov vira omrežja:\",\"WLnvCZ\":\"Vnesite uporabniško ime\",\"ijwVVM\":\"Kodirnik entropije\",\"SlfejT\":\"Napaka\",\"sHoMKO\":\"Napaka pri kopiranju podatkov v odložišče\",\"TpqeIh\":[\"Napaka: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Razširi območje nad seznamom kanalov (klepet v živo).\",\"IBJg8n\":\"Razširi območje pod opisom kanala (polja za komentarje).\",\"XeunlQ\":\"Strokovni način\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Razširitev seznama kanalov\",\"tG09kC\":\"Razširitev vsebine\",\"bPWJOj\":\"Razširitev noge\",\"SeaRa5\":\"Razširitev glave\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Ni uspelo ustvariti storitve objave (\",[\"0\"],\")\"],\"yT6MEY\":\"Ni uspelo ustvariti datotek spletne strani objave.\",\"FGdPhH\":\"Ni uspelo preveriti vira. Prosimo, preverite <0>podrobnosti o sondi.\",\"DvfYM2\":[\"Ni uspelo osvežiti žetona: \",[\"0\"]],\"J0Jclh\":\"Ni uspelo shraniti metapodatkov o zaužitju\",\"RPXHsU\":\"Ni uspelo zaustaviti procesa\",\"AhS7uc\":\"Ni uspelo shraniti nastavitve velikosti predvajalnika.\",\"PcJRf4\":[\"Ni uspelo shraniti storitve objave (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Ni uspelo posodobiti procesa zaužitja (\",[\"0\"],\")\"],\"t1E1OU\":[\"Ni uspelo posodobiti procesa zajetja posnetka (\",[\"0\"],\")\"],\"bssUbs\":\"Ni uspelo posodobiti predvajalnika\",\"4SzVSX\":\"Ni uspelo posodobiti mesta igralcev\",\"H8gP5T\":\"Ni uspelo preveriti vira. Preverite naslov.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Pot do datoteke\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Zaključi\",\"k4A6IZ\":\"Določite velikost\",\"Xgkhyj\":\"Zastave\",\"+L0/av\":\"Za Javascripts.\",\"VBU6dD\":\"Za slogovne liste.\",\"XDTTEp\":\"Vsilite vhodno frekvenco sličic\",\"Y5YNoi\":\"Prisilni okvirji ključev\",\"kI1qVD\":\"Zapis\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Padci okvirjev\",\"lPICcX\":\"Okvir je posredovan (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Frammerate\",\"RFrfTY\":\"Pretvarjanje hitrosti posnetkov (interpolacija posnetkov)\",\"xDfHbM\":\"Način hitrosti posnetka\",\"4xNpe4\":\"Frekvenca (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Splošno\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Strojna naprava\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Naslov\",\"+670Zw\":\"Naslov\",\"PFFhCT\":\"Višina\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Izhod HLS\",\"oMxmoP\":\"Strežnik HLS\",\"5/G5c1\":\"Statistika HLS za shranjevanje v pomnilniku\",\"wXoUQx\":\"Vodoravni flip\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Gostovani vmesnik Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP in HTTPS\",\"YmRLab\":\"Vrata HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Vrata HTTPS\",\"Ptrvx5\":\"Človeku berljivo ime storitve.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Če ste spremenili vrata, se je morda Restreamer Core že ponovno zagnal, vendar je zdaj na voljo na drugih vratih.\",\"OQONQS\":\"Če ste omogočili funkcijo Let's Encrypt TLS, bo pridobivanje potrdil morda trajalo nekaj časa. Prepričajte se, da je Restreamer Core iz interneta dosegljiv prek vrat 80. Preverite dnevnik konzole Restreamer Core.\",\"yWR5EY\":\"koda iframe\",\"7ZKroD\":\"Ignoriranje območij IP\",\"VyUuZb\":\"URL naslov slike\",\"5n8FKh\":\"Odtis\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Poleg predvajalnika Restreamer ponuja tudi popolno pristajalno stran, ki jo lahko uporabite za enostavno in hitro predstavitev prenosa v živo.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"V pomnilniku\",\"EwM+sw\":\"Shranjevanje v pomnilniku\",\"xmsVuq\":\"Nezdružljivo\",\"exUN1j\":\"Dediči\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Vbrizgavanje 1\",\"MJlrvd\":\"Vbrizgavanje 2\",\"MppU96\":\"Vbrizgavanje 3\",\"zBVRQb\":\"Vbrizgavanje 4\",\"Adqgqr\":\"Vhodni tok\",\"jnyWFc\":\"Domena instance\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interval (sekunde)\",\"C4WaV1\":\"Opozorilo o problemu\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Interval med ključnimi kadri (sekunde)\",\"rdU729\":\"Postavitev\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Certificiranje Let's Encrypt\",\"LgUs17\":\"Program Let's Encrypt zahteva eno ali več javnih domenskih imen in dostopna vrata 80/TCP.\",\"oCHfGC\":\"Raven\",\"eyLS1J\":\"Raven sistemskega protokola.\",\"iQmbPb\":\"Licenca\",\"mQImez\":\"Barva življenja\",\"6BDqha\":\"Omejitve\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Vrstice\",\"yzF66j\":\"Povezava\",\"NBxw5Y\":\"Povezava, premik z miško\",\"xCrpEt\":\"Seznam končnic datotek, ki jih ne želite predpomniti (npr. \\\".m3u8\\\"), po ena v vrstici. Pustite prazno za nobena.\",\"m2l8c3\":\"Seznam končnic datotek za predpomnilnik (npr. \\\".html\\\"), po ena v vrstici. Pustite prazno, če želite predpomnilnik za vse vrste datotek.\",\"QYw6tl\":\"Seznam območij IP v zapisu CIDR, npr. 127.0.0.1/32, ki jih statistika ne bo zabeležila - eno območje IP na vrstico. Pustite prazno, če želite beležiti vse seje.\",\"ELFO4F\":\"Velikost seznama (segmenti)\",\"D0Nwch\":\"Prenos v živo v storitev dlive Live RTMP.\",\"n2VKys\":\"Prenos v živo v storitev Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Prenos v živo v storitev RTMP medijskega omrežja.\",\"w9zSAv\":\"Prenos v živo v storitev PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Prenos v živo v storitev Trovo Live RTMP.\",\"JJGagy\":\"Prenos v živo v storitev Twitch Live RTMP.\",\"4TnPVp\":\"Prenos v živo v storitev Vimeo Live RTMP\",\"G4x3PY\":\"ID življenjskega vira\",\"0aIqC4\":\"Raven dnevnika\",\"x7PDL5\":\"Prijava\",\"z0t9bb\":\"Prijava\",\"+fL+Rj\":[\"Prijava ni uspela: \",[\"0\"]],\"4cd7gw\":\"Prijava ni uspela: Ni bilo mogoče naložiti podrobnosti API\",\"sNqu7k\":\"Prijava/JWT avtorizacija\",\"iG7KNr\":\"Logotip\",\"nOhz3x\":\"Odjava\",\"DYX2fZ\":\"Zanka\",\"SzaPTL\":\"Normalizacija glasnosti\",\"QGvS9k\":\"Majhna zakasnitev (medpomnilnik)\",\"GaV7al\":\"Glavni kanal\",\"Wsn0Uw\":\"Glavni kanal ni najden\",\"tROIde\":\"Shranjen glavni kanal\",\"nLVSux\":\"Kanal glavne strani (index.html).\",\"rd3Pv7\":\"Glavni vir\",\"f4txA1\":\"Vzdrževalec:\",\"3iTz2L\":\"Kanal je na voljo kot tok RTMP (eksperimentalno).\",\"mMiku6\":\"Kanal je na voljo kot tok SRT (eksperimentalno).\",\"6dZ9NS\":\"Označeni okvirji\",\"iuA3xD\":\"Glavni seznam predvajanja (poveča združljivost brskalnikov/odjemalcev)\",\"WBpxnA\":\"Največja dovoljena velikost predpomnilnika, 0 za neomejeno.\",\"NzaPGT\":\"Največji dovoljeni megabajti pomnilnika RAM za /memfs, 0 za neomejeno.\",\"aaso5s\":\"Največja dovoljena poraba megabajtov s trdega diska. 0 za neomejeno.\",\"4hp5D2\":\"Največja pasovna širina Mbit/s\",\"L+uBOR\":\"Največja zamuda v milisekundah.\",\"hkoCqq\":\"Največja velikost datoteke (v megabajtih)\",\"i96JfZ\":\"Največja velikost datoteke, ki jo je treba shraniti v predpomnilnik.\",\"Q9HspI\":\"Največji histroj dnevnika\",\"bS9ZHz\":\"Največje število vrstic dnevnika\",\"6sayfE\":\"Največja velikost (v megabajtih)\",\"09BWQO\":\"Najdaljši čas mirovanja gledalca (sekunde)\",\"hW0DV1\":\"Največ gledalcev\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Spomin\",\"KReOHe\":\"Omejitev pomnilnika (megabajti)\",\"fViWSz\":\"Omejitev uporabe pomnilnika v megabajtih, 0 za neomejeno.\",\"emJ6M7\":\"Meta informacije\",\"6GBt0m\":\"Metapodatki\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", privzeto \",[\"1\"]],\"riWPSk\":\"Plesni\",\"QA/rur\":\"Več o licencah tukaj\",\"fyGu1l\":\"Več o storitvi\",\"yBsv2n\":\"Več o avtorskih pravicah Twitterja <0>tukaj.\",\"ZpfAc9\":\"Več o avtorskih pravicah v YouTubu <0>tukaj.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Mora biti večja od največje velikosti datoteke v predpomnilniku.\",\"gC9RIS\":\"Mora biti manjši od največje velikosti predpomnilnika.\",\"R7SsBE\":\"Izklopite glasnost\",\"K0rCAk\":\"Izklopite zvok kanala.\",\"Jv/kid\":\"Izklop mikrofona na levi strani\",\"FsCP6P\":\"Utišajte desno stran\",\"6YtxFj\":\"Ime\",\"0ZkQqR\":\"Ime predloge. Če ime že obstaja, se prepiše.\",\"OR475H\":\"Omrežje\",\"KZDcDr\":\"Vir omrežja\",\"hXzOVo\":\"Naslednji\",\"JZrXI6\":\"Naslednji: Zvok\",\"kZFy+Q\":\"Naslednji: Nastavitev videoposnetka\",\"1UzENP\":\"Ne\",\"p6Fxed\":\"Brez zvoka\",\"bIDO3H\":\"Zvočni tok ni na voljo\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Vhodna naprava ni na voljo\",\"dEwhMr\":\"Tok v živo ni bil zaznan. Preverite programsko opremo, ki pošilja tok.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Ni izbran noben vir\",\"3TfuWb\":\"Viri niso na voljo\",\"fiXA/y\":\"Ni bil najden ustrezen kodirnik.\",\"acY4BT\":\"Ni bil najden ustrezen filter.\",\"/02FxK\":\"Brez videoposnetka\",\"AVWnC9\":\"Video tok ni na voljo\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"ID vozlišča\",\"9J5l/O\":\"Hrup\",\"EdQY6l\":\"Ni\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Opombe\",\"/a9y2d\":\"Število vrstic dnevnika, ki jih želite ohraniti.\",\"ZD0urA\":\"Število dnevnikov, ki se hranijo za vsak proces.\",\"Aia5w3\":\"Število sekund, v katerih je dovoljeno prekoračiti omejitve.\",\"1lZb7D\":\"Število stolpcev ploščic za kodiranje.\",\"InpHMl\":\"Število ploščic za kodiranje.\",\"wnRD5D\":\"Število vrstic ploščic za kodiranje.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"V REDU\",\"+Xj01r\":\"En referer v vsaki vrstici, npr. http://www.example.com\",\"1TNIig\":\"Odpri\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Izhodni buffer\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"geslo za šifriranje SRT.\",\"fpQo1i\":\"geslo mora biti dolgo od 10 do 79 znakov.\",\"3GZXaB\":\"Prepust (kopiranje) lahko onemogočite le, če je to potrebno. Vsako kodiranje zahteva dodatne vire CPU/GPU.\",\"8ZsakT\":\"Geslo\",\"b+AuuK\":\"Geslo za avtorizacijo.\",\"oREnCY\":\"Geslo za napravo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Ohranite statistiko gledalcev\",\"ANX1b0\":\"roza\",\"c8aBfM\":\"Format pikslov\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Načrt: <0>Začetnik\",\"Ejic1p\":\"Platforme\",\"gtQk6c\":\"Predvajanje\",\"vRayGs\":\"Igralec\",\"tWB9Gz\":\"Shranjene nastavitve predvajalnika\",\"GIxxiU\":\"URL igralca\",\"PUmLMn\":\"Spletna stran za igralce\",\"LKPR6G\":\"Seznam predvajanja\",\"luDqS5\":\"Različica seznama predvajanja (M3U8). Različica 3 ima najboljšo združljivost z brskalniki/odjemalci.\",\"84gH7g\":\"Preverite <0>dnevnik procesa\",\"OMpKNS\":\"Obrnite se na operaterja storitve in preverite, kaj se dogaja.\",\"4lATxE\":\"Vnesite svoj e-poštni naslov, da se strinjate s pogoji uporabe storitve Let's Encrypt CA in da boste obveščeni v primeru težav.\",\"bdMiXb\":\"Stopite v stik z operaterjem storitve in preverite, kaj se bo zgodilo.\",\"wPZBpR\":\"Izberite datoteko, ki jo želite naložiti.\",\"YcGRmx\":\"Če je mogoče, uporabite \\\"Passthrough (kopija)\\\". Kodiranje zahteva dodatne vire CPU/GPU.\",\"06qnxB\":\"Počakajte. Podatki o toku sonde ...\",\"FTIPkL\":\"Počakajte. Nastavitev toka ...\",\"hZ6znB\":\"Pristanišče\",\"p/78dY\":\"Položaj\",\"d62Stt\":\"Plakat\",\"PNap/Y\":\"URL naslov slike plakata\",\"6o2Onc\":\"Prednastavljeno\",\"lxxyq5\":\"Primarni tok\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Proces\",\"DL/nrw\":\"Nadzor procesa\",\"fzYV2N\":\"Podrobnosti o postopku\",\"zNVLia\":\"Poročilo o postopku\",\"PwMwvX\":\"Obdelava in nadzor\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokol\",\"hEksWI\":\"Protokoli\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Javna domena/e\",\"7lbVwY\":\"Storitev objave ni bila najdena\",\"ia1vIb\":\"Shranjene nastavitve spletnega mesta objave\",\"XHw75Y\":\"Publikacije\",\"dsOSCf\":\"Način vlečenja\",\"lQQ/zA\":\"Izvlecite ali prejmite podatke:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Kakovost\",\"i9d+3B\":\"Kamera Raspberry Pi\",\"tbXj/A\":\"Nadzor hitrosti\",\"iaocTt\":\"Razmerje\",\"WnSPyE\":\"rav1e Parametri\",\"6PpdQP\":\"Branje vhodnih podatkov z izvirno hitrostjo\",\"bqsSkO\":\"Način sprejema\",\"gcoiFh\":\"Ponovna povezava\",\"lakzvL\":\"Zakasnitev ponovne povezave (sekunde)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Ponovno povezovanje v \",[\"0\"],\"s\"],\"uSDaLA\":[\"Ponovno vzpostavljanje povezave z jedrom Restreamer Core v zadnjih \",[\"RETRIES\"],\" sekundah ni uspelo.\"],\"N7ojfh\":\"Ponovno vzpostavljanje povezave z jedrom Restreamer Core ni uspelo.\",\"lCF0wC\":\"Osvežitev\",\"uJ+Ve2\":\"Regija\",\"CNipTv\":\"Registracija uporabnika\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Ponovno polnjenje\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Odstranite najstarejše vnose, če je /memfs poln\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Zahteva aktivacijo\",\"XMbkus\":\"Ponastavitev logotipa\",\"36SXzE\":\"Ponastavitev plakata\",\"6z9W13\":\"Ponovni zagon\",\"dKwnjv\":\"Potreben ponovni zagon\",\"0Er6+M\":\"Ponovni zagon spletne strani\",\"X1sT1j\":\"Ponovni zagon jedra Restreamerja ...\",\"o5q6jb\":\"Ponovni zagon aplikacije ni uspel.\",\"x8cAsq\":\"Navodila za ponovno snemanje\",\"24fLVm\":\"Storitev ponastavljanja\",\"LCGjV4\":\"Pridobivanje podatkov o toku ...\",\"6gRgw8\":\"Ponovitev\",\"Qe1vaN\":\"Preskusni vzorec RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Obračanje\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplikacija RTMP za objavo.\",\"7ggERB\":\"Izhod RTMP\",\"V82lE+\":\"Pristanišče RTMP\",\"itARjB\":\"Strežnik RTMP\",\"WWZqzz\":\"Strežnik RTMP ni omogočen\",\"HhOPCL\":\"Naslov za poslušanje strežnika RTMP.\",\"DbHOhO\":\"žeton RTMP za objavo in predvajanje. Token je vrednost parametra poizvedbe URL 'token'.\",\"OAZeFE\":\"Pristanišče RTMPS\",\"Wt/wFL\":\"Strežnik RTMPS\",\"xwonDv\":\"Naslov za poslušanje strežnika RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Pravilo\",\"HneYgw\":\"Vzorčenje\",\"tfDRzk\":\"Shrani\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Lestvica\",\"6aaceW\":\"Velikost lestvice\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Sekunde za shranjevanje datotek v predpomnilniku.\",\"geM4Wc\":\"Sekunde do ponovnega zagona procesa.\",\"iF7dnC\":\"Sekunde do zaključka procesa, ki je bil zaustavljen.\",\"mydmGn\":\"Sekunde do posodobitve posnetka/malenkosti vira videoposnetka.\",\"a3LDKx\":\"Varnost\",\"Gkr6zI\":\"Varnostni žeton\",\"/Ocrtf\":\"Barva vidnega polja\",\"4lDlYf\":\"Dolžina segmenta (sekunde)\",\"XfNrg+\":\"Segment bo po preteku tega časa prekinjen na naslednjem ključnem okvirju. Priporočljivo je 2.\",\"jHCoDy\":\"Segmentacija\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Izberite napravo:\",\"O+ruJ3\":\"Izberite vir zvoka:\",\"6MTTpq\":\"Izberite RTMP ali SRT (če je omogočeno) za manjšo zakasnitev.\",\"E7haRr\":\"Izberite vir ...\",\"PlZ1aw\":\"Izberite vir videoposnetka:\",\"YYlcWm\":\"Izberite, ali boste tok prenesli iz <0>omrežnega vira (na primer omrežne kamere) ali <1>internega strežnika RTMP (npr. tokovi OBS v napravo Restreamer).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Izberite nastavitev kodiranja:\",\"aT3o8A\":\"Izberite nastavitve filtra (neobvezno):\",\"ylXj1N\":\"Izbrani\",\"kYpw4+\":\"Izbrani kanal\",\"p7/fS2\":\"Izbor\",\"SOePwi\":\"Pošljite anonimne metrike (pomagajo nam pri prihodnjem razvoju)\",\"kOhBl+\":\"Pošlji tok na naslov ...\",\"E1X5xY\":\"Pošljite tok na ta naslov:\",\"d/IMf3\":\"Pošlji videoposnetek v Framebuffer\",\"sGH11W\":\"Strežnik\",\"9rG25a\":\"URL strežnika\",\"T3bXxK\":\"Storitev\",\"KPPdUO\":\"Ime storitve\",\"DOrSw/\":\"Storitveni žeton za spremljanje.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Seje\",\"xwK3ty\":\"Nastavitev konfiguracije rav1e z uporabo :-razdeljenega seznama parametrov ključ=vrednost.\",\"FIIk8R\":\"Nastavi omejitev pasovne širine v Mbit na sekundo za izhodni prenos podatkov HLS. V izračun so vključene vse storitve, kot so RTMP in odhodni procesi. Če je pasovna širina presežena, gledalci HLS prejmejo kodo stanja HTTP 509 (Presežena omejitev pasovne širine). 0 pomeni neomejeno.\",\"cOG/FK\":\"Nastavi omejitev gledalcev za seje HLS. Če je omejitev presežena, gledalci HLS prejmejo kodo stanja HTTP 509 (omejitev pasovne širine presežena). 0 pomeni neomejeno.\",\"mcJFKm\":\"Nastavitev za povezavo s storitvijo.\",\"Tz0i8g\":\"Nastavitve\",\"IiOZ6R\":\"Nastavitve (strokovni način)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Nastavitve za pot /data. Dostop je zaščiten z\",\"Ytdvyh\":\"Nastavitve za pot /memfs.\",\"1w3lYe\":\"Shranjene nastavitve. Vse spremembe se bodo uporabile po ponovnem zagonu aplikacije.\",\"XUw3i9\":\"Gumb za deljenje\",\"oD0Oes\":\"Prikaže referenco na projekt.\",\"+vv4q2\":\"Prijavite se (brezplačno)\",\"JXVFAm\":\"Tišina\",\"VSK9FJ\":\"Tišina zvoka\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Ime spletnega mesta\",\"Cj2Gtd\":\"Velikost\",\"yTZe+y\":\"Posnetek\",\"pSUgnY\":\"Prijava v družabnem omrežju (OAuth2, 2FA)\",\"qe9jaI\":\"Časovna omejitev vtičnice (mikrosekunde)\",\"bRN5nm\":\"Programska oprema\",\"wdxz7K\":\"Vir:\",\"sywlQb\":\"Vir in kodiranje\",\"l9wI00\":\"Hitrost\",\"vdhBFK\":\"Prednastavitev hitrosti\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Izhod SRT\",\"YqnAto\":\"Strežnik SRT\",\"k6hpqB\":\"Strežnik SRT ni omogočen\",\"SzqwHY\":\"Naslov za poslušanje strežnika SRT.\",\"KwbjpB\":\"Žeton SRT za objavo in predvajanje. Token je vrednost parametra streamid 'token'.\",\"Aj28wT\":\"Časovna omejitev za zastaranje (sekunde)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistika\",\"BrrIs8\":\"Shranjevanje\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Na disk shrani statistiko pregledovalnika.\",\"hou0tP\":\"Tok\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Ključ toka\",\"bqiH5R\":\"Ključ toka\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Ime toka\",\"eXELiS\":\"Imena tokov\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Vir toka za storitev objave (eksperimentalno).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL toka\",\"+fVH0Y\":\"Podpora datarhei Restreamer\",\"5HSoct\":\"Podpira HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT in druge.\",\"D+NlUC\":\"Sistem\",\"jkuW2z\":\"Ciljni naslov\",\"/K2CvV\":\"Predloga\",\"2Ivkf/\":\"Predloga, ki se uporablja za ustvarjanje spletnega mesta publikacije. Gumb za brisanje izbire odstrani izbiro iz sistema.\",\"4Y5H+g\":\"Pogoji\",\"tRNH6x\":\"Preskusni vzorec\",\"EtlVOt\":\"Preskusni vzorec (razširjen)\",\"wGPolR\":\"Barve besedila\",\"m0TUJj\":\"Amplituda (0,0 - 1,0) ustvarjenega zvočnega toka\",\"8C6xwe\":\"Aplikacija uporablja starejšo različico nastavitev.\",\"VPQVR2\":\"Razpoložljivi binarni program FFmpeg ne podpira nobenega od zahtevanih protokolov.\",\"Gx9PPK\":\"Bitna hitrost zvočnega toka.\",\"T2kk3f\":\"Nosilna frekvenca\",\"JAOLK8\":[\"Kanala \\\"\",[\"0\"],\"\\\" ni bilo mogoče izbrisati\"],\"jNaBhy\":[\"Kanal \\\"\",[\"0\"],\"\\\" je bil izbrisan\"],\"SD8pYJ\":\"Izbrisa tega kanala ni mogoče obnoviti. Vse objave tega kanala bodo odstranjene.\",\"bnkV//\":\"Vhodni profil ni popoln. Opredelite vir videa in zvoka.\",\"wCYjmB\":\"Vhodni profil ni popoln. Opredelite vir videa in/ali zvoka.\",\"JMaqWu\":\"Postavitev zvočnega toka.\",\"0dqo+p\":\"Največje število segmentov seznama predvajanja. 0 vsebuje vse segmente. Priporočljivo je 6.\",\"BDgbiW\":\"Barva šuma\",\"SxGu7I\":\"Oseba, ki je delo povezala s tem dejanjem, je delo namenila javni domeni tako, da se je odpovedala vsem svojim pravicam do dela po vsem svetu v skladu z zakonom o avtorskih pravicah, vključno z vsemi sorodnimi in sosedskimi pravicami, kolikor je to dovoljeno z zakonom. Delo lahko kopirate, spreminjate, razširjate in izvajate, tudi v komercialne namene, vse to brez prošnje za dovoljenje.\",\"XISvrq\":\"Javno dosegljivo ime domene gostitelja, v katerem deluje ta predvajalnik. Več domenskih imen ločite z vejico.\",\"yt3d3G\":[\"Storitve objave \\\"\",[\"0\"],\"\\\" ni bilo mogoče izbrisati\"],\"zYcO/c\":[\"Storitev objave \\\"\",[\"0\"],\"\\\" je bila ustvarjena\"],\"AQE+oz\":[\"Storitev objave \\\"\",[\"0\"],\"\\\" je bila izbrisana\"],\"qVLWvp\":\"Storitev objave je bila ustvarjena\",\"njj2Wn\":\"Za izhod RTMP je potreben strežnik RTMP.\",\"WRxiP8\":\"Vzorčna frekvenca zvočnega toka.\",\"/pZjRr\":\"Izbrana datoteka je prevelika (<0/>). Dovoljene so samo <1/>.\",\"VBaSn9\":[\"Izbrana vrsta datoteke (\",[\"0\"],\") ni dovoljena. Dovoljene vrste datotek so \",[\"1\"]],\"fM410X\":[\"Nastavitve za \\\"\",[\"0\"],\"\\\" so bile shranjene\"],\"02ii2e\":\"Vir ne zagotavlja nobenih zvočnih tokov.\",\"+2cAEU\":\"Vir ne zagotavlja nobenih zvočnih tokov. Preverite <0>podrobnosti sonde.\",\"pfqmY7\":\"Vir ne zagotavlja združljivih zvočnih tokov.\",\"VO9KeK\":\"Vir ne zagotavlja združljivih videoprenosov. Preverite <0>zahteve.\",\"007foU\":\"Vir ne zagotavlja nobenih videoprenosov. Preverite <0>podrobnosti sonde.\",\"lAsMdV\":\"Vir ne zagotavlja nobenih videoprenosov. Preverite napravo.\",\"XlnvcR\":\"Za izhod SRT je potreben strežnik SRT.\",\"w6uuIE\":\"Vir videoposnetka ne zagotavlja združljivega zvočnega toka. Priporoča se <0>Tihi zvok. Storitve, kot so YouTube, Facebook in druge, zahtevajo zvočni kanal.\",\"YJJ2RL\":\"Vir videoposnetka je združljiv. Izberite želeno ločljivost:\",\"wEiZHy\":\"Na voljo so posodobitve. Tukaj dobite več informacij.\",\"4p1MgS\":\"Pri shranjevanju nastavitev je prišlo do težave. Nastavitve niso shranjene.\",\"YJhhwT\":[\"Pri povezovanju z jedrom Restreamer Core je prišlo do napake na naslovu \",[\"0\"],\".\"],\"q42VsF\":[\"Med nalaganjem je prišlo do napake: \",[\"0\"]],\"HM96PJ\":\"Pri nastavljanju toka je prišlo do napake.\",\"LoDP+Y\":\"V nastavitvah je bilo nekaj napak. Nastavitve niso bile shranjene.\",\"l92ZKN\":\"Na voljo ni načina prijave.\",\"cPKuc8\":\"To je navidezna storitev, ki vam razloži koncepte storitve.\",\"Ku8nyu\":\"To ni nujno napaka. Vendar lahko traja nekoliko dlje, da se Restreamer Core ponovno zažene.\",\"vCRP3w\":\"Pri tem je treba omeniti predpise o avtorskih pravicah za ciljno skupino te storitve.\",\"Hx7k3c\":\"Ta licenca omogoča ponovni uporabi kopiranje in razširjanje gradiva v katerem koli mediju ali formatu samo v neprilagojeni obliki in samo pod pogojem, da je naveden avtor. Licenca dovoljuje komercialno uporabo.\",\"6OeMYB\":\"Ta licenca omogoča ponovni uporabi kopiranje in razširjanje gradiva v katerem koli mediju ali formatu v neprilagojeni obliki, samo v nekomercialne namene in samo pod pogojem, da je naveden avtor.\",\"TUuhsB\":\"Ta licenca omogoča ponovni uporabi distribucijo, remiks, prilagoditev in nadgradnjo gradiva v katerem koli mediju ali formatu samo v nekomercialne namene in le, če je naveden avtor.\",\"kVtKRl\":\"Ta licenca omogoča ponovni uporabi distribucijo, remiks, prilagoditev in nadgradnjo gradiva v katerem koli mediju ali formatu samo v nekomercialne namene in le, če je naveden avtor. Če gradivo remiksirate, prilagajate ali gradite na njem, morate spremenjeno gradivo licencirati pod enakimi pogoji.\",\"FpX5mp\":\"Ta licenca omogoča ponovni uporabi, da gradivo distribuirajo, remiksirajo, prilagajajo in nadgrajujejo v katerem koli mediju ali formatu, če navedejo avtorja. Licenca dovoljuje komercialno uporabo.\",\"SDvwLd\":\"Ta licenca omogoča ponovni uporabi, da gradivo distribuirajo, remiksirajo, prilagajajo in nadgrajujejo v katerem koli mediju ali formatu, če navedejo avtorja. Licenca dovoljuje komercialno uporabo. Če gradivo remiksirate, prilagodite ali gradite na njem, morate spremenjeno gradivo licencirati pod enakimi pogoji.\",\"H144rX\":\"Ta protokol je neznan ali ga razpoložljivi binarni program FFmpeg ne podpira.\",\"nlOxxw\":\"Tega vira med uporabo ni mogoče urejati. Če želite nadaljevati, morate vir odklopiti.\",\"mbSyrG\":[\"Ta različica uporabniškega vmesnika ne podpira razpoložljive binarne datoteke FFmpeg (\",[\"0\"],\"). Uporabniški vmesnik zahteva \",[\"1\"],\". Uporabite podprto binarno datoteko FFmpeg.\"],\"N/tTgz\":[\"Ta različica uporabniškega vmesnika ne podpira povezanega jedra (\",[\"0\"],\"). Uporabniški vmesnik zahteva \",[\"1\"],\". Uporabite združljivo različico uporabniškega vmesnika.\"],\"2Vq5tr\":\"Ta različica uporabniškega vmesnika je združljiva.\",\"QxX9Z5\":\"Prag (sekunde)\",\"sNmspt\":\"Stolpci za ploščice\",\"sYGp2E\":\"Vrstice ploščic\",\"wbOpwP\":\"Ploščice\",\"H59P7E\":\"Čas, dokler se neaktivna povezava gledalca ne obravnava kot zaprta.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Za stabilizacijo sistema povečajte dolžino segmenta HLS za interval ključnih slik za 2-3 * (Obdelava in nadzor).\",\"TP9/K5\":\"Žeton\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Vrhunsko področje\",\"7mjsuh\":\"Prenos živega prenosa v kanal Telegram.\",\"Gxlq7L\":\"Prenos posnetkov glavnega vira v strežnik HTTP/S. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"SdyhUl\":\"Prenos zvočnega kanala glavnega vira v strežnik Icecast. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"MayU3b\":\"Prenos glavnega vira v strežnik HTTP/S v obliki prenosa v živo (HLS). Več podrobnosti o nastavitvah najdete <0>tu.\",\"3K8kpL\":\"Prenos glavnega vira kot MPEG-DASH v strežnik HTTP/S. Več podrobnosti o nastavitvah lahko najdete <0>tu.\",\"P/J230\":\"Posredujte glavni vir v storitev Brightcove Live. Več podrobnosti o nastavitvah najdete <0>tukaj.\",\"u0MhFy\":\"Prenos glavnega vira v storitev CDN77 RTMP. Več o nastavitvi <0>tukaj.\",\"zkgT7c\":\"Prenos glavnega vira v storitev DaCast RTMP. Več o nastavitvi <0>tukaj.\",\"in9xJz\":\"Prenos glavnega vira na datarhei Core Ressource. Več podrobnosti o nastavitvah lahko najdete <0>tu.\",\"PcgwEU\":\"Glavni vir prenesite v vir livespotting.com Ressource. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"D7jwpf\":\"Prenos glavnega vira v storitev MPEG-TS. Več podrobnosti o nastavitvah je na voljo tukaj <0>tu.\",\"SpSgUV\":\"Prenos glavnega vira v strežnik Red5/Pro. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"lIpqI/\":\"Prenos glavnega vira v strežnik RTMP(e|s|t|te|ts). Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"pqR6nq\":\"Prenos glavnega vira v strežnik RTSP. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"Q4dSnZ\":\"Prenos glavnega vira v strežnik SRT. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"fx9S4p\":\"Prenos glavnega vira v strežnik UDP. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"GLXY2N\":\"Prenos glavnega vira v strežnik WOWZA. Več podrobnosti o nastavitvah lahko najdete <0>tu.\",\"AsMKFi\":\"Prenos glavnega vira v medijske storitve Akamai (MSL) v živo. Več podrobnosti o nastavitvah kodirnika MSL najdete na <0>tu.\",\"FB364G\":\"Prenos glavnega vira v storitev Livepush RTMP. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"CC9yS5\":\"Prenos glavnega vira v storitev Nimo TV RTMP. Več podrobnosti o nastavitvah najdete <0>tu.\",\"fP8ZYg\":\"Prenos glavnega vira v storitev Picarto TV RTMP. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"D9A0LK\":\"Prenos glavnega vira v storitev Restream RTMP. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"YL800g\":\"Prenos v Azure Media Services. Več podrobnosti lahko najdete <0>tukaj.\",\"Abgy4c\":\"Pošljite v omrežje LinkedIn. Več podrobnosti najdete <0>tu.\",\"dhCZoS\":\"Posredujte svoj Livestream v storitev Dailymotion RTMP. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"tQNclD\":\"Posredujte svoj prenos v živo v storitev RTMP podjetja Kick.com. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"mQ0sjr\":\"Prenesite svoj prenos v živo v strežnik Owncast. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"AqYRa3\":\"Posredujte svoj prenos v živo v storitev Rumble RTMP. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Prenaša vaš videoprenos z zahtevanim ključem, ki je bil ustvarjen v programu Twitter Producer. Več informacij o vzpostavitvi prenosa v živo najdete na spletnem mestu Twitter <0>Producer.\",\"ADKef2\":\"Uglaševanje\",\"8jwViA\":\"Prenos UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Konfiguracije ni mogoče naložiti.\",\"MWrgON\":\"Edinstvena identiteta storitve.\",\"Ef7StM\":\"Neznano\",\"wiIpKZ\":\"Neznana napaka pri nalaganju\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Neizbrano\",\"j9zg7e\":\"Podrobnosti posodobitve (Changelog)\",\"ONWvwQ\":\"Naložite\",\"OXItQT\":[\"Naložite zvočno datoteko (\",[\"0\"],\"), da bi jo zazankali.\"],\"75yxb7\":[\"Naložite sliko ali videoposnetek (\",[\"0\"],\"), če želite ustvariti zanko.\"],\"iAkPTY\":\"Nalaganje datoteke ni uspelo\",\"Jmy6pK\":\"Nalaganje logotipa ni bilo uspešno\",\"xl1xFp\":\"Nalaganje plakata ni uspelo\",\"TjrbDj\":\"Čas delovanja\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Uporabite Auth0 za delujoče jedro Restreamer Core. Več <0>podrobnosti.\",\"JX4TqK\":\"Za hitro in enostavno nastavitev uporabite čarovnika (<0/>) ali pa vire urejate (<1/>) neposredno v načinu po meri.\",\"YYTBz0\":\"Uporabite svoje avtorske pravice in izberite pravilno licenco za slike. Naj bo brezplačna za vse ali zelo omejena. Na kratko razpravljajte o tem, kaj lahko drugi počnejo z vašo sliko.\",\"2UPEb1\":\"Uporabite svoje avtorske pravice in izberite pravo licenco za slike. Ne glede na to, ali je brezplačna za vse ali zelo omejena. Na kratko razpravljajte o tem, kaj lahko drugi počnejo z vašo sliko.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Registracija uporabnika\",\"7sNhEz\":\"Uporabniško ime\",\"Gv3pbp\":\"Uporabniško ime za avtorizacijo.\",\"RQSvXZ\":\"Uporabniško ime za napravo.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M je eksperimentalen.\",\"PvM7Yi\":\"Spremenljiva hitrost sličic (VFR)\",\"hpBTpL\":\"žamet\",\"uIAsxu\":\"Navpični flip\",\"vSJd18\":\"Videoposnetek\",\"auaWhL\":\"Video naprava\",\"/skRGV\":\"Nastavitve videoposnetkov\",\"EzOjvB\":\"Nastavitev videoposnetka\",\"QcQXbU\":\"Vir videoposnetka\",\"M/TIv1\":\"Pregledovalnik\",\"L2hKw+\":\"vijolična\",\"hA6FFn\":\"Virtualni vir\",\"/cF7Rs\":\"Zvezek\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Priporočamo OpenMAX IL za Raspberry PI (3/4) z 32-bitnim operacijskim sistemom.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Dobrodošli v Restreamerju v2, rešitvi za hitro in enostavno objavljanje videoposnetkov. Brezplačno za zasebno in komercialno uporabo. Dodatna pomoč v <0>dokumentih.\",\"hJfWkA\":\"Katero prednastavitev hitrosti uporabiti.\",\"6Pz2IF\":\"Kam shraniti seznam predvajanja HLS in segmente. Priporočljivo je v pomnilniku.\",\"aWHAbR\":\"bela\",\"aFWU1n\":\"Širina\",\"e0wV2Y\":\"Zaščita pri pisanju\",\"l75CjT\":\"Da\",\"WPUsOF\":\"Čarovnika ne morete prekiniti, ker mora biti opredeljen vsaj en vnos.\",\"qwY9F9\":\"Spremenili ste konfiguracijo. Da bi spremembe začele veljati, morate znova zagnati aplikacijo. Ali želite zdaj znova zagnati aplikacijo?\",\"nxq2ni\":\"Ponovno povezavo morate vzpostaviti ročno.\",\"RM3CEc\":\"Spremembe niso shranjene. Pred ponovnim nadzorom storitve jih shranite.\",\"/cg7qS\":\"Vaš tok je treba kodirati, vendar ni na voljo ustreznega kodirnika.\",\"BwrOm6\":\"Vaš tok je treba kodirati. Izberite želeni kodirnik:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Preskusni vzorec YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Seznam združljivosti\",\"TkRUk0\":\"<0>Podrobnosti preizkusa\",\"tBy4Bb\":\"1. Preklopite na vmesnik ciljnega predvajalnika.\",\"2JnpXL\":\"2. Ustvarite nov kanal in izberite strežnik RTMP ali SRT.\",\"YidyJl\":\"3. Kopirajte URL in ga prilepite v polje \\\"Ciljni naslov\\\".\",\"X1MZZp\":\"6 (+ zajamčen začetek z okvirjem ključa)\",\"JVJkxU\":\"7 (+ razdrobljen format MP4)\",\"ssjjFt\":\"Prekliči\",\"uyJsf6\":\"O\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Dodaj\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Dodajanje zunanjih gradnikov in slogov na spletno mesto objave. Nekaj primerov najdete na strani s pomočjo.\",\"tsJWSj\":\"Dodajanje novega kanala\",\"PLTLdv\":\"Dodaj objavo\",\"35l+l6\":[\"Dodaj: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Naslov\",\"8M7jVn\":\"Povezava do slike za ozadje.\",\"Vu9yiv\":\"Naslov za sprejem HTTP zahtev.\",\"AQDW5r\":\"Naslov za sprejem HTTPS zahtev.\",\"tPrmjP\":\"Naslov:\",\"owt8Ow\":\"Barve in ozadje mesta za objavo prilagodite po želji.\",\"uNXGDK\":\"Napredno spremljanje\",\"VNgKZz\":\"Napredne nastavitve\",\"eiGNYb\":\"Napredna nastavitev\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Opozarjanje po e-pošti\",\"N40H+G\":\"Vse\",\"Hw5q+W\":\"Vsi okvirji\",\"f2zxGk\":\"Vse pomembne sistemske nastavitve.\",\"lle3bd\":\"Dovolite vse napotitelje\",\"bgFbIB\":\"Omogoča štetje, koliko gledalcev ima tok.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Zvočna amplituda\",\"ngteek\":\"To vrednost določa spremenljivka okolja.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Končna točka API ni bila najdena. Nastavitve niso shranjene.\",\"LMUw1U\":\"App\",\"IrC12v\":\"Aplikacija\",\"xnCC/2\":\"Ali ste prepričani, da želite prekiniti čarovnika?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Zvok\",\"n3RW8K\":\"Zvočna naprava\",\"sYyYfE\":\"Zvočna naprava\",\"2he4Ra\":\"Zvok iz naprave\",\"MvY15a\":\"Nastavitve zvoka\",\"NoLJ6g\":\"Nastavitev zvoka\",\"IsqyDB\":\"Preverjanje pristnosti (Auth0)\",\"9odWb+\":\"Auth0 trenutno ni na voljo, ker je ta vmesnik naložen iz nezanesljivega izvora.\",\"aKsflb\":\"Auth0 Najemnik\",\"VbeIOx\":\"Avtor\",\"NJgJy9\":\"Avtorizacija\",\"R9Khdg\":\"Samodejno\",\"6yEk/V\":\"Samodejno čiščenje vseh medijskih podatkov\",\"jT50Rz\":\"Samodejno predvajanje\",\"csDS2L\":\"Na voljo\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Nazaj\",\"1KfyNL\":\"Barve ozadja\",\"23c2Uw\":\"Slika v ozadju\",\"r0bEmM\":\"Varnostni strežnik\",\"JFjQhH\":\"Nadomesten vir\",\"bkJ+QE\":\"Nadomesten URL\",\"OlXThP\":\"Pasovna širina\",\"QYaaBO\":\"Pretočna kontrola\",\"KSSL9f\":\"Baner\",\"0wJVK+\":\"Osnovni\",\"YR04fn\":\"Dejavnik piskanja\",\"5bhON1\":\"Bitrate\",\"Os3B4i\":\"Vrste blokovnega predpomnilnika\",\"zOC7cT\":\"modra\",\"359XuU\":\"Spodnje polje\",\"aC3kWW\":\"Na kratko opišite, kaj bodo gledalci videli med prenosom v živo.\",\"SehDNd\":\"rjava\",\"Ptp9MF\":\"Barva gumba\",\"Lp4WkO\":\"Po višini\",\"IeV/4P\":\"Po širini\",\"KxP5AO\":\"Predpomnilnik za datoteke na /data.\",\"qX8ffo\":\"Čas predpomnilnika (sekunde)\",\"4dRAku\":\"Vrste predpomnilnika\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Buffer za zajemanje\",\"aL2+1d\":\"Zajem klikov\",\"EOfLfP\":\"Kazalec za zajemanje\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" shranjen\"],\"lfFsZ4\":\"Kanali\",\"WMCwmR\":\"Preveri za posodobitve\",\"vM6kpc\":\"Preveri zahteve\",\"Wzgqhl\":\"Izberi video vir\",\"JpTR0/\":\"Izberi zvočni vir\",\"BTNyrQ\":\"Izberi vhodno napravo ...\",\"f9QIui\":\"Izberite vhodni tok ...\",\"/Y6zrN\":\"Izbira med CFR in VFR (samodejno)\",\"gObOjh\":\"Izberi kodek ...\",\"v7lrmU\":\"Izberite najemnika...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Zapri\",\"r8NEPc\":\"Vbrizgavanje kode\",\"BaUuhR\":\"Kodek\",\"jZlrte\":\"Barva\",\"sjVfrA\":\"Ukaz\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Konfiguracija\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Potrditev gesla\",\"iSLIjg\":\"Poveži\",\"NL3Gev\":\"Povezana naprava\",\"ywAvGr\":\"Povezan od <0/>\",\"lNg25t\":\"Povezujem ...\",\"y6+BXa\":\"Povezovanje z Restreamer Core ...\",\"Td5lm6\":\"Povezava z jedrom Restreamerja ni uspela, verjetno zaradi mešane vsebine.\",\"awE5Py\":\"Konstantna hitrost sličic (CFR)\",\"DT0Af/\":\"Način konstantnega kvantizatorja (-1 do 255).\",\"4b3oEV\":\"Vsebina\",\"U34RbB\":\"URL vsebine\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Jedra\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"Omejitev procesorja (v odstotkih)\",\"uW5tVo\":\"Omejitev uporabe procesorja v odstotkih (0-100 %), 0 pomeni neomejeno.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Po meri ...\",\"kH80Lk\":\"Zvočna naprava po meri\",\"fW1XQD\":\"Zvočni indeks po meri\",\"bzREp0\":\"Bitna hitrost po meri (kbit/s)\",\"w9oKek\":\"Vbrizgavanje kode po meri\",\"jYaP01\":\"Zakasnitev po meri\",\"2Gw+zZ\":\"Naprava po meri\",\"WCXGNp\":\"Format po meri\",\"ZkpZ06\":\"Kadriranje po meri\",\"1OXCgh\":\"Konfiguracija JSON po meri za datarhei Core.\",\"kl56NX\":\"Interval med ključnimi okviri po meri\",\"prIqWa\":\"Postavitev po meri\",\"HSB43e\":\"Vzorčenje po meri (Hz)\",\"Efe3BI\":\"Lestvica po meri\",\"E/2KdS\":\"Velikost po meri\",\"Se794B\":\"Video naprava po meri\",\"aqv915\":\"Indeks videoposnetkov po meri\",\"v8OlX8\":\"Podatki, kopirani v odložišče\",\"J/VBax\":\"Barva smrti\",\"d2TTfK\":\"Decibeli (dB)\",\"W034oz\":\"Dekoder\",\"ovBPCi\":\"Privzeto\",\"gFwPaj\":[\"Privzeto \",[\"0\"]],\"JQnkrI\":[\"Privzeto \",[\"0\"],\" (\",[\"1\"],\" sekund)\"],\"A7rne1\":\"Prepletanje (bwdif)\",\"yLth2B\":\"Odprava prepletanja deint\",\"g3JmiG\":\"Način prepletanja\",\"aro6lN\":\"Odprava prepletanja paritete\",\"YeWQto\":\"Zakasnitev\",\"qBC9g9\":\"Zakasnitev (ms)\",\"cnGeoo\":\"Odstrani\",\"ScK3zL\":\"Brisanja storitve objave ni mogoče preklicati. Objava se takoj ustavi.\",\"cEx3oI\":\"Način dostave\",\"Nu4oKW\":\"Opis\",\"f8fH8W\":\"Oblikovanje\",\"PEHQTf\":\"Naprava\",\"+K0AvT\":\"Prekini\",\"miKA/E\":\"Odklop in nadaljevanje\",\"5/pMTZ\":\"Prekinjam ...\",\"sPFHpI\":\"Disk\",\"qczNPP\":\"Diskovni predpomnilnik\",\"PUqOjv\":\"Shranjevanje diskov\",\"uTwT/l\":\"Ali res želite zdaj znova zagnati aplikacijo?\",\"FgxcNT\":[\"Ali želite izbrisati \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Ali želite izbrisati \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Želite prekiniti povezavo \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Dokumenti\",\"TvY/XA\":\"Dokumentacija\",\"jPtEhI\":\"Dvojni okvirji\",\"diaSRH\":\"Vsako polje\",\"u2SnNO\":\"Vsak okvir\",\"ePK91l\":\"Uredi\",\"INCFjw\":\"Uredite vire zvoka in videa za prenos v živo. Dodajte opis in nastavite želeno licenco za vsebino.\",\"+7Wr2a\":[\"Uredi: \",[\"title\"]],\"e3GLqI\":\"EDIT: Igralec\",\"dTPDyf\":\"EDIT: Spletna stran publikacije\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"E-pošta\",\"KKBlUU\":\"Vdelaj\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Omogočite\",\"No9svk\":\"Omogočite periodični zvočni signal vsako sekundo s to vrednostjo, pomnoženo z nosilno frekvenco.\",\"R7s0Th\":\"Omogočite rezervni tok\",\"xA5zBY\":\"Omogočite statistiko nerdov\",\"r0zP4o\":\"Omogoči zdaj\",\"JwR989\":\"Omogočite primarni tok\",\"blkDNw\":\"Omogoči strežnik RTMP ...\",\"FgEhO4\":\"Omogoči prenos RTMPS\",\"uGvvxq\":\"Omogočanje posnetkov\",\"IuL64N\":\"Omogočite strežnik SRT ...\",\"NJsnxf\":\"Omogočanje avtorizacije je zelo priporočljivo. V nasprotnem primeru lahko do tega primerka dostopa vsakdo.\",\"xwS6bX\":\"Priporočamo, da omogočite osnovno avtentikacijo. V nasprotnem primeru lahko podatke v /memfs zapiše kdor koli.\",\"0zaXWu\":\"Enkoder\",\"o0XA5y\":\"Enkodiranje\",\"q1srUM\":\"Zaščita\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Vnesite ime novega kanala.\",\"f7sXvi\":\"Vnesite geslo\",\"5QCNrf\":\"Vnesite naslov vira omrežja:\",\"WLnvCZ\":\"Vnesite uporabniško ime\",\"ijwVVM\":\"Kodirnik entropije\",\"SlfejT\":\"Napaka\",\"sHoMKO\":\"Napaka pri kopiranju podatkov v odložišče\",\"TpqeIh\":[\"Napaka: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Razširi območje nad seznamom kanalov (klepet v živo).\",\"IBJg8n\":\"Razširi območje pod opisom kanala (polja za komentarje).\",\"XeunlQ\":\"Strokovni način\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"Razširitev seznama kanalov\",\"tG09kC\":\"Razširitev vsebine\",\"bPWJOj\":\"Razširitev noge\",\"SeaRa5\":\"Razširitev glave\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Ni uspelo ustvariti storitve objave (\",[\"0\"],\")\"],\"yT6MEY\":\"Ni uspelo ustvariti datotek spletne strani objave.\",\"FGdPhH\":\"Ni uspelo preveriti vira. Prosimo, preverite <0>podrobnosti o sondi.\",\"DvfYM2\":[\"Ni uspelo osvežiti žetona: \",[\"0\"]],\"J0Jclh\":\"Ni uspelo shraniti metapodatkov o zaužitju\",\"RPXHsU\":\"Ni uspelo zaustaviti procesa\",\"AhS7uc\":\"Ni uspelo shraniti nastavitve velikosti predvajalnika.\",\"PcJRf4\":[\"Ni uspelo shraniti storitve objave (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Ni uspelo posodobiti procesa zaužitja (\",[\"0\"],\")\"],\"t1E1OU\":[\"Ni uspelo posodobiti procesa zajetja posnetka (\",[\"0\"],\")\"],\"bssUbs\":\"Ni uspelo posodobiti predvajalnika\",\"4SzVSX\":\"Ni uspelo posodobiti mesta igralcev\",\"H8gP5T\":\"Ni uspelo preveriti vira. Preverite naslov.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Pot do datoteke\",\"o7J4JM\":\"Filter\",\"JmZ/+d\":\"Zaključi\",\"k4A6IZ\":\"Določite velikost\",\"Xgkhyj\":\"Zastave\",\"+L0/av\":\"Za Javascripts.\",\"VBU6dD\":\"Za slogovne liste.\",\"XDTTEp\":\"Vsilite vhodno frekvenco sličic\",\"Y5YNoi\":\"Prisilni okvirji ključev\",\"kI1qVD\":\"Zapis\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Padci okvirjev\",\"lPICcX\":\"Okvir je posredovan (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Frammerate\",\"RFrfTY\":\"Pretvarjanje hitrosti posnetkov (interpolacija posnetkov)\",\"xDfHbM\":\"Način hitrosti posnetka\",\"4xNpe4\":\"Frekvenca (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Splošno\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Strojna naprava\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Naslov\",\"+670Zw\":\"Naslov\",\"PFFhCT\":\"Višina\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"Izhod HLS\",\"oMxmoP\":\"Strežnik HLS\",\"5/G5c1\":\"Statistika HLS za shranjevanje v pomnilniku\",\"wXoUQx\":\"Vodoravni flip\",\"8iPCh6\":\"Gostovani vmesnik Restreamer\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP in HTTPS\",\"YmRLab\":\"Vrata HTTP\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Vrata HTTPS\",\"Ptrvx5\":\"Človeku berljivo ime storitve.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Če ste spremenili vrata, se je morda Restreamer Core že ponovno zagnal, vendar je zdaj na voljo na drugih vratih.\",\"OQONQS\":\"Če ste omogočili funkcijo Let's Encrypt TLS, bo pridobivanje potrdil morda trajalo nekaj časa. Prepričajte se, da je Restreamer Core iz interneta dosegljiv prek vrat 80. Preverite dnevnik konzole Restreamer Core.\",\"yWR5EY\":\"koda iframe\",\"7ZKroD\":\"Ignoriranje območij IP\",\"VyUuZb\":\"URL naslov slike\",\"5n8FKh\":\"Odtis\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Poleg predvajalnika Restreamer ponuja tudi popolno pristajalno stran, ki jo lahko uporabite za enostavno in hitro predstavitev prenosa v živo.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"V pomnilniku\",\"EwM+sw\":\"Shranjevanje v pomnilniku\",\"xmsVuq\":\"Nezdružljivo\",\"exUN1j\":\"Dediči\",\"CDdi1R\":\"Vbrizgavanje 1\",\"MJlrvd\":\"Vbrizgavanje 2\",\"MppU96\":\"Vbrizgavanje 3\",\"zBVRQb\":\"Vbrizgavanje 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Vhodni tok\",\"jnyWFc\":\"Domena instance\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Interval (sekunde)\",\"C4WaV1\":\"Opozorilo o problemu\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Interval med ključnimi kadri (sekunde)\",\"rdU729\":\"Postavitev\",\"Cpw3fU\":\"Certificiranje Let's Encrypt\",\"LgUs17\":\"Program Let's Encrypt zahteva eno ali več javnih domenskih imen in dostopna vrata 80/TCP.\",\"oCHfGC\":\"Raven\",\"eyLS1J\":\"Raven sistemskega protokola.\",\"iQmbPb\":\"Licenca\",\"mQImez\":\"Barva življenja\",\"6BDqha\":\"Omejitve\",\"1pbzRr\":\"Linecolor\",\"Ce6Hrg\":\"Vrstice\",\"yzF66j\":\"Povezava\",\"NBxw5Y\":\"Povezava, premik z miško\",\"xCrpEt\":\"Seznam končnic datotek, ki jih ne želite predpomniti (npr. \\\".m3u8\\\"), po ena v vrstici. Pustite prazno za nobena.\",\"m2l8c3\":\"Seznam končnic datotek za predpomnilnik (npr. \\\".html\\\"), po ena v vrstici. Pustite prazno, če želite predpomnilnik za vse vrste datotek.\",\"QYw6tl\":\"Seznam območij IP v zapisu CIDR, npr. 127.0.0.1/32, ki jih statistika ne bo zabeležila - eno območje IP na vrstico. Pustite prazno, če želite beležiti vse seje.\",\"ELFO4F\":\"Velikost seznama (segmenti)\",\"D0Nwch\":\"Prenos v živo v storitev dlive Live RTMP.\",\"n2VKys\":\"Prenos v živo v storitev Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Prenos v živo v storitev RTMP medijskega omrežja.\",\"w9zSAv\":\"Prenos v živo v storitev PeerTube v3+ RTMP/S.\",\"SZ9Q++\":\"Prenos v živo v storitev Trovo Live RTMP.\",\"JJGagy\":\"Prenos v živo v storitev Twitch Live RTMP.\",\"4TnPVp\":\"Prenos v živo v storitev Vimeo Live RTMP\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"ID življenjskega vira\",\"0aIqC4\":\"Raven dnevnika\",\"x7PDL5\":\"Prijava\",\"z0t9bb\":\"Prijava\",\"+fL+Rj\":[\"Prijava ni uspela: \",[\"0\"]],\"4cd7gw\":\"Prijava ni uspela: Ni bilo mogoče naložiti podrobnosti API\",\"sNqu7k\":\"Prijava/JWT avtorizacija\",\"iG7KNr\":\"Logotip\",\"nOhz3x\":\"Odjava\",\"DYX2fZ\":\"Zanka\",\"SzaPTL\":\"Normalizacija glasnosti\",\"QGvS9k\":\"Majhna zakasnitev (medpomnilnik)\",\"GaV7al\":\"Glavni kanal\",\"Wsn0Uw\":\"Glavni kanal ni najden\",\"tROIde\":\"Shranjen glavni kanal\",\"nLVSux\":\"Kanal glavne strani (index.html).\",\"rd3Pv7\":\"Glavni vir\",\"f4txA1\":\"Vzdrževalec:\",\"3iTz2L\":\"Kanal je na voljo kot tok RTMP (eksperimentalno).\",\"mMiku6\":\"Kanal je na voljo kot tok SRT (eksperimentalno).\",\"6dZ9NS\":\"Označeni okvirji\",\"iuA3xD\":\"Glavni seznam predvajanja (poveča združljivost brskalnikov/odjemalcev)\",\"WBpxnA\":\"Največja dovoljena velikost predpomnilnika, 0 za neomejeno.\",\"NzaPGT\":\"Največji dovoljeni megabajti pomnilnika RAM za /memfs, 0 za neomejeno.\",\"aaso5s\":\"Največja dovoljena poraba megabajtov s trdega diska. 0 za neomejeno.\",\"4hp5D2\":\"Največja pasovna širina Mbit/s\",\"L+uBOR\":\"Največja zamuda v milisekundah.\",\"hkoCqq\":\"Največja velikost datoteke (v megabajtih)\",\"i96JfZ\":\"Največja velikost datoteke, ki jo je treba shraniti v predpomnilnik.\",\"Q9HspI\":\"Največji histroj dnevnika\",\"bS9ZHz\":\"Največje število vrstic dnevnika\",\"6sayfE\":\"Največja velikost (v megabajtih)\",\"09BWQO\":\"Najdaljši čas mirovanja gledalca (sekunde)\",\"hW0DV1\":\"Največ gledalcev\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Spomin\",\"KReOHe\":\"Omejitev pomnilnika (megabajti)\",\"fViWSz\":\"Omejitev uporabe pomnilnika v megabajtih, 0 za neomejeno.\",\"emJ6M7\":\"Meta informacije\",\"6GBt0m\":\"Metapodatki\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", privzeto \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Plesni\",\"QA/rur\":\"Več o licencah tukaj\",\"fyGu1l\":\"Več o storitvi\",\"yBsv2n\":\"Več o avtorskih pravicah Twitterja <0>tukaj.\",\"ZpfAc9\":\"Več o avtorskih pravicah v YouTubu <0>tukaj.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Mora biti večja od največje velikosti datoteke v predpomnilniku.\",\"gC9RIS\":\"Mora biti manjši od največje velikosti predpomnilnika.\",\"R7SsBE\":\"Izklopite glasnost\",\"K0rCAk\":\"Izklopite zvok kanala.\",\"Jv/kid\":\"Izklop mikrofona na levi strani\",\"FsCP6P\":\"Utišajte desno stran\",\"6YtxFj\":\"Ime\",\"0ZkQqR\":\"Ime predloge. Če ime že obstaja, se prepiše.\",\"OR475H\":\"Omrežje\",\"KZDcDr\":\"Vir omrežja\",\"hXzOVo\":\"Naslednji\",\"JZrXI6\":\"Naslednji: Zvok\",\"kZFy+Q\":\"Naslednji: Nastavitev videoposnetka\",\"1UzENP\":\"Ne\",\"p6Fxed\":\"Brez zvoka\",\"bIDO3H\":\"Zvočni tok ni na voljo\",\"nn9C5B\":\"Vhodna naprava ni na voljo\",\"dEwhMr\":\"Tok v živo ni bil zaznan. Preverite programsko opremo, ki pošilja tok.\",\"1FJdZA\":\"Ni izbran noben vir\",\"3TfuWb\":\"Viri niso na voljo\",\"fiXA/y\":\"Ni bil najden ustrezen kodirnik.\",\"acY4BT\":\"Ni bil najden ustrezen filter.\",\"/02FxK\":\"Brez videoposnetka\",\"AVWnC9\":\"Video tok ni na voljo\",\"wZ7CK3\":\"ID vozlišča\",\"9J5l/O\":\"Hrup\",\"EdQY6l\":\"Ni\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Opombe\",\"/a9y2d\":\"Število vrstic dnevnika, ki jih želite ohraniti.\",\"ZD0urA\":\"Število dnevnikov, ki se hranijo za vsak proces.\",\"Aia5w3\":\"Število sekund, v katerih je dovoljeno prekoračiti omejitve.\",\"1lZb7D\":\"Število stolpcev ploščic za kodiranje.\",\"InpHMl\":\"Število ploščic za kodiranje.\",\"wnRD5D\":\"Število vrstic ploščic za kodiranje.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"V REDU\",\"+Xj01r\":\"En referer v vsaki vrstici, npr. http://www.example.com\",\"1TNIig\":\"Odpri\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Izhodni buffer\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Passphrase\",\"Y+p0Tt\":\"geslo za šifriranje SRT.\",\"fpQo1i\":\"geslo mora biti dolgo od 10 do 79 znakov.\",\"3GZXaB\":\"Prepust (kopiranje) lahko onemogočite le, če je to potrebno. Vsako kodiranje zahteva dodatne vire CPU/GPU.\",\"8ZsakT\":\"Geslo\",\"b+AuuK\":\"Geslo za avtorizacijo.\",\"oREnCY\":\"Geslo za napravo.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Ohranite statistiko gledalcev\",\"ANX1b0\":\"roza\",\"c8aBfM\":\"Format pikslov\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Načrt: <0>Začetnik\",\"Ejic1p\":\"Platforme\",\"gtQk6c\":\"Predvajanje\",\"vRayGs\":\"Igralec\",\"tWB9Gz\":\"Shranjene nastavitve predvajalnika\",\"GIxxiU\":\"URL igralca\",\"PUmLMn\":\"Spletna stran za igralce\",\"LKPR6G\":\"Seznam predvajanja\",\"luDqS5\":\"Različica seznama predvajanja (M3U8). Različica 3 ima najboljšo združljivost z brskalniki/odjemalci.\",\"84gH7g\":\"Preverite <0>dnevnik procesa\",\"OMpKNS\":\"Obrnite se na operaterja storitve in preverite, kaj se dogaja.\",\"4lATxE\":\"Vnesite svoj e-poštni naslov, da se strinjate s pogoji uporabe storitve Let's Encrypt CA in da boste obveščeni v primeru težav.\",\"bdMiXb\":\"Stopite v stik z operaterjem storitve in preverite, kaj se bo zgodilo.\",\"wPZBpR\":\"Izberite datoteko, ki jo želite naložiti.\",\"YcGRmx\":\"Če je mogoče, uporabite \\\"Passthrough (kopija)\\\". Kodiranje zahteva dodatne vire CPU/GPU.\",\"06qnxB\":\"Počakajte. Podatki o toku sonde ...\",\"FTIPkL\":\"Počakajte. Nastavitev toka ...\",\"hZ6znB\":\"Pristanišče\",\"p/78dY\":\"Položaj\",\"d62Stt\":\"Plakat\",\"PNap/Y\":\"URL naslov slike plakata\",\"6o2Onc\":\"Prednastavljeno\",\"lxxyq5\":\"Primarni tok\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Sonda\",\"1B9XX0\":\"Proces\",\"DL/nrw\":\"Nadzor procesa\",\"fzYV2N\":\"Podrobnosti o postopku\",\"zNVLia\":\"Poročilo o postopku\",\"PwMwvX\":\"Obdelava in nadzor\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokol\",\"hEksWI\":\"Protokoli\",\"aLZh9m\":\"Javna domena/e\",\"7lbVwY\":\"Storitev objave ni bila najdena\",\"ia1vIb\":\"Shranjene nastavitve spletnega mesta objave\",\"XHw75Y\":\"Publikacije\",\"dsOSCf\":\"Način vlečenja\",\"lQQ/zA\":\"Izvlecite ali prejmite podatke:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Kakovost\",\"i9d+3B\":\"Kamera Raspberry Pi\",\"tbXj/A\":\"Nadzor hitrosti\",\"iaocTt\":\"Razmerje\",\"WnSPyE\":\"rav1e Parametri\",\"6PpdQP\":\"Branje vhodnih podatkov z izvirno hitrostjo\",\"bqsSkO\":\"Način sprejema\",\"gcoiFh\":\"Ponovna povezava\",\"lakzvL\":\"Zakasnitev ponovne povezave (sekunde)\",\"HC1Dci\":[\"Ponovno povezovanje v \",[\"0\"],\"s\"],\"uSDaLA\":[\"Ponovno vzpostavljanje povezave z jedrom Restreamer Core v zadnjih \",[\"RETRIES\"],\" sekundah ni uspelo.\"],\"N7ojfh\":\"Ponovno vzpostavljanje povezave z jedrom Restreamer Core ni uspelo.\",\"lCF0wC\":\"Osvežitev\",\"uJ+Ve2\":\"Regija\",\"CNipTv\":\"Registracija uporabnika\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Ponovno polnjenje\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Odstranite najstarejše vnose, če je /memfs poln\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Zahteva aktivacijo\",\"XMbkus\":\"Ponastavitev logotipa\",\"36SXzE\":\"Ponastavitev plakata\",\"6z9W13\":\"Ponovni zagon\",\"dKwnjv\":\"Potreben ponovni zagon\",\"0Er6+M\":\"Ponovni zagon spletne strani\",\"X1sT1j\":\"Ponovni zagon jedra Restreamerja ...\",\"o5q6jb\":\"Ponovni zagon aplikacije ni uspel.\",\"x8cAsq\":\"Navodila za ponovno snemanje\",\"24fLVm\":\"Storitev ponastavljanja\",\"LCGjV4\":\"Pridobivanje podatkov o toku ...\",\"6gRgw8\":\"Ponovitev\",\"Qe1vaN\":\"Preskusni vzorec RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Obračanje\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Aplikacija RTMP za objavo.\",\"7ggERB\":\"Izhod RTMP\",\"V82lE+\":\"Pristanišče RTMP\",\"itARjB\":\"Strežnik RTMP\",\"WWZqzz\":\"Strežnik RTMP ni omogočen\",\"HhOPCL\":\"Naslov za poslušanje strežnika RTMP.\",\"DbHOhO\":\"žeton RTMP za objavo in predvajanje. Token je vrednost parametra poizvedbe URL 'token'.\",\"OAZeFE\":\"Pristanišče RTMPS\",\"Wt/wFL\":\"Strežnik RTMPS\",\"xwonDv\":\"Naslov za poslušanje strežnika RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Pravilo\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Vzorčenje\",\"tfDRzk\":\"Shrani\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Lestvica\",\"6aaceW\":\"Velikost lestvice\",\"xbb037\":\"Sekunde za shranjevanje datotek v predpomnilniku.\",\"geM4Wc\":\"Sekunde do ponovnega zagona procesa.\",\"iF7dnC\":\"Sekunde do zaključka procesa, ki je bil zaustavljen.\",\"mydmGn\":\"Sekunde do posodobitve posnetka/malenkosti vira videoposnetka.\",\"a3LDKx\":\"Varnost\",\"Gkr6zI\":\"Varnostni žeton\",\"/Ocrtf\":\"Barva vidnega polja\",\"4lDlYf\":\"Dolžina segmenta (sekunde)\",\"XfNrg+\":\"Segment bo po preteku tega časa prekinjen na naslednjem ključnem okvirju. Priporočljivo je 2.\",\"jHCoDy\":\"Segmentacija\",\"htbsw4\":\"Izberite napravo:\",\"O+ruJ3\":\"Izberite vir zvoka:\",\"6MTTpq\":\"Izberite RTMP ali SRT (če je omogočeno) za manjšo zakasnitev.\",\"E7haRr\":\"Izberite vir ...\",\"PlZ1aw\":\"Izberite vir videoposnetka:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Izberite nastavitev kodiranja:\",\"aT3o8A\":\"Izberite nastavitve filtra (neobvezno):\",\"ylXj1N\":\"Izbrani\",\"kYpw4+\":\"Izbrani kanal\",\"p7/fS2\":\"Izbor\",\"SOePwi\":\"Pošljite anonimne metrike (pomagajo nam pri prihodnjem razvoju)\",\"kOhBl+\":\"Pošlji tok na naslov ...\",\"E1X5xY\":\"Pošljite tok na ta naslov:\",\"d/IMf3\":\"Pošlji videoposnetek v Framebuffer\",\"sGH11W\":\"Strežnik\",\"9rG25a\":\"URL strežnika\",\"T3bXxK\":\"Storitev\",\"KPPdUO\":\"Ime storitve\",\"DOrSw/\":\"Storitveni žeton za spremljanje.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Seje\",\"xwK3ty\":\"Nastavitev konfiguracije rav1e z uporabo :-razdeljenega seznama parametrov ključ=vrednost.\",\"FIIk8R\":\"Nastavi omejitev pasovne širine v Mbit na sekundo za izhodni prenos podatkov HLS. V izračun so vključene vse storitve, kot so RTMP in odhodni procesi. Če je pasovna širina presežena, gledalci HLS prejmejo kodo stanja HTTP 509 (Presežena omejitev pasovne širine). 0 pomeni neomejeno.\",\"cOG/FK\":\"Nastavi omejitev gledalcev za seje HLS. Če je omejitev presežena, gledalci HLS prejmejo kodo stanja HTTP 509 (omejitev pasovne širine presežena). 0 pomeni neomejeno.\",\"mcJFKm\":\"Nastavitev za povezavo s storitvijo.\",\"Tz0i8g\":\"Nastavitve\",\"IiOZ6R\":\"Nastavitve (strokovni način)\",\"t64OSP\":\"Nastavitve za pot /data. Dostop je zaščiten z\",\"Ytdvyh\":\"Nastavitve za pot /memfs.\",\"1w3lYe\":\"Shranjene nastavitve. Vse spremembe se bodo uporabile po ponovnem zagonu aplikacije.\",\"XUw3i9\":\"Gumb za deljenje\",\"oD0Oes\":\"Prikaže referenco na projekt.\",\"+vv4q2\":\"Prijavite se (brezplačno)\",\"JXVFAm\":\"Tišina\",\"VSK9FJ\":\"Tišina zvoka\",\"L8Jb2l\":\"Sine\",\"MxZN16\":\"Ime spletnega mesta\",\"Cj2Gtd\":\"Velikost\",\"yTZe+y\":\"Posnetek\",\"pSUgnY\":\"Prijava v družabnem omrežju (OAuth2, 2FA)\",\"qe9jaI\":\"Časovna omejitev vtičnice (mikrosekunde)\",\"bRN5nm\":\"Programska oprema\",\"wdxz7K\":\"Vir:\",\"sywlQb\":\"Vir in kodiranje\",\"l9wI00\":\"Hitrost\",\"vdhBFK\":\"Prednastavitev hitrosti\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Izhod SRT\",\"YqnAto\":\"Strežnik SRT\",\"k6hpqB\":\"Strežnik SRT ni omogočen\",\"SzqwHY\":\"Naslov za poslušanje strežnika SRT.\",\"KwbjpB\":\"Žeton SRT za objavo in predvajanje. Token je vrednost parametra streamid 'token'.\",\"Aj28wT\":\"Časovna omejitev za zastaranje (sekunde)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Statistika\",\"BrrIs8\":\"Shranjevanje\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Na disk shrani statistiko pregledovalnika.\",\"hou0tP\":\"Tok\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Ključ toka\",\"bqiH5R\":\"Ključ toka\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Ime toka\",\"eXELiS\":\"Imena tokov\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Vir toka za storitev objave (eksperimentalno).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL toka\",\"+fVH0Y\":\"Podpora datarhei Restreamer\",\"5HSoct\":\"Podpira HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT in druge.\",\"D+NlUC\":\"Sistem\",\"jkuW2z\":\"Ciljni naslov\",\"/K2CvV\":\"Predloga\",\"2Ivkf/\":\"Predloga, ki se uporablja za ustvarjanje spletnega mesta publikacije. Gumb za brisanje izbire odstrani izbiro iz sistema.\",\"4Y5H+g\":\"Pogoji\",\"tRNH6x\":\"Preskusni vzorec\",\"EtlVOt\":\"Preskusni vzorec (razširjen)\",\"wGPolR\":\"Barve besedila\",\"m0TUJj\":\"Amplituda (0,0 - 1,0) ustvarjenega zvočnega toka\",\"8C6xwe\":\"Aplikacija uporablja starejšo različico nastavitev.\",\"VPQVR2\":\"Razpoložljivi binarni program FFmpeg ne podpira nobenega od zahtevanih protokolov.\",\"Gx9PPK\":\"Bitna hitrost zvočnega toka.\",\"T2kk3f\":\"Nosilna frekvenca\",\"JAOLK8\":[\"Kanala \\\"\",[\"0\"],\"\\\" ni bilo mogoče izbrisati\"],\"jNaBhy\":[\"Kanal \\\"\",[\"0\"],\"\\\" je bil izbrisan\"],\"SD8pYJ\":\"Izbrisa tega kanala ni mogoče obnoviti. Vse objave tega kanala bodo odstranjene.\",\"bnkV//\":\"Vhodni profil ni popoln. Opredelite vir videa in zvoka.\",\"wCYjmB\":\"Vhodni profil ni popoln. Opredelite vir videa in/ali zvoka.\",\"JMaqWu\":\"Postavitev zvočnega toka.\",\"0dqo+p\":\"Največje število segmentov seznama predvajanja. 0 vsebuje vse segmente. Priporočljivo je 6.\",\"BDgbiW\":\"Barva šuma\",\"SxGu7I\":\"Oseba, ki je delo povezala s tem dejanjem, je delo namenila javni domeni tako, da se je odpovedala vsem svojim pravicam do dela po vsem svetu v skladu z zakonom o avtorskih pravicah, vključno z vsemi sorodnimi in sosedskimi pravicami, kolikor je to dovoljeno z zakonom. Delo lahko kopirate, spreminjate, razširjate in izvajate, tudi v komercialne namene, vse to brez prošnje za dovoljenje.\",\"XISvrq\":\"Javno dosegljivo ime domene gostitelja, v katerem deluje ta predvajalnik. Več domenskih imen ločite z vejico.\",\"yt3d3G\":[\"Storitve objave \\\"\",[\"0\"],\"\\\" ni bilo mogoče izbrisati\"],\"zYcO/c\":[\"Storitev objave \\\"\",[\"0\"],\"\\\" je bila ustvarjena\"],\"AQE+oz\":[\"Storitev objave \\\"\",[\"0\"],\"\\\" je bila izbrisana\"],\"qVLWvp\":\"Storitev objave je bila ustvarjena\",\"njj2Wn\":\"Za izhod RTMP je potreben strežnik RTMP.\",\"WRxiP8\":\"Vzorčna frekvenca zvočnega toka.\",\"/pZjRr\":\"Izbrana datoteka je prevelika (<0/>). Dovoljene so samo <1/>.\",\"VBaSn9\":[\"Izbrana vrsta datoteke (\",[\"0\"],\") ni dovoljena. Dovoljene vrste datotek so \",[\"1\"]],\"fM410X\":[\"Nastavitve za \\\"\",[\"0\"],\"\\\" so bile shranjene\"],\"02ii2e\":\"Vir ne zagotavlja nobenih zvočnih tokov.\",\"+2cAEU\":\"Vir ne zagotavlja nobenih zvočnih tokov. Preverite <0>podrobnosti sonde.\",\"pfqmY7\":\"Vir ne zagotavlja združljivih zvočnih tokov.\",\"VO9KeK\":\"Vir ne zagotavlja združljivih videoprenosov. Preverite <0>zahteve.\",\"007foU\":\"Vir ne zagotavlja nobenih videoprenosov. Preverite <0>podrobnosti sonde.\",\"lAsMdV\":\"Vir ne zagotavlja nobenih videoprenosov. Preverite napravo.\",\"XlnvcR\":\"Za izhod SRT je potreben strežnik SRT.\",\"w6uuIE\":\"Vir videoposnetka ne zagotavlja združljivega zvočnega toka. Priporoča se <0>Tihi zvok. Storitve, kot so YouTube, Facebook in druge, zahtevajo zvočni kanal.\",\"YJJ2RL\":\"Vir videoposnetka je združljiv. Izberite želeno ločljivost:\",\"wEiZHy\":\"Na voljo so posodobitve. Tukaj dobite več informacij.\",\"4p1MgS\":\"Pri shranjevanju nastavitev je prišlo do težave. Nastavitve niso shranjene.\",\"YJhhwT\":[\"Pri povezovanju z jedrom Restreamer Core je prišlo do napake na naslovu \",[\"0\"],\".\"],\"q42VsF\":[\"Med nalaganjem je prišlo do napake: \",[\"0\"]],\"HM96PJ\":\"Pri nastavljanju toka je prišlo do napake.\",\"LoDP+Y\":\"V nastavitvah je bilo nekaj napak. Nastavitve niso bile shranjene.\",\"l92ZKN\":\"Na voljo ni načina prijave.\",\"cPKuc8\":\"To je navidezna storitev, ki vam razloži koncepte storitve.\",\"Ku8nyu\":\"To ni nujno napaka. Vendar lahko traja nekoliko dlje, da se Restreamer Core ponovno zažene.\",\"vCRP3w\":\"Pri tem je treba omeniti predpise o avtorskih pravicah za ciljno skupino te storitve.\",\"Hx7k3c\":\"Ta licenca omogoča ponovni uporabi kopiranje in razširjanje gradiva v katerem koli mediju ali formatu samo v neprilagojeni obliki in samo pod pogojem, da je naveden avtor. Licenca dovoljuje komercialno uporabo.\",\"6OeMYB\":\"Ta licenca omogoča ponovni uporabi kopiranje in razširjanje gradiva v katerem koli mediju ali formatu v neprilagojeni obliki, samo v nekomercialne namene in samo pod pogojem, da je naveden avtor.\",\"TUuhsB\":\"Ta licenca omogoča ponovni uporabi distribucijo, remiks, prilagoditev in nadgradnjo gradiva v katerem koli mediju ali formatu samo v nekomercialne namene in le, če je naveden avtor.\",\"kVtKRl\":\"Ta licenca omogoča ponovni uporabi distribucijo, remiks, prilagoditev in nadgradnjo gradiva v katerem koli mediju ali formatu samo v nekomercialne namene in le, če je naveden avtor. Če gradivo remiksirate, prilagajate ali gradite na njem, morate spremenjeno gradivo licencirati pod enakimi pogoji.\",\"FpX5mp\":\"Ta licenca omogoča ponovni uporabi, da gradivo distribuirajo, remiksirajo, prilagajajo in nadgrajujejo v katerem koli mediju ali formatu, če navedejo avtorja. Licenca dovoljuje komercialno uporabo.\",\"SDvwLd\":\"Ta licenca omogoča ponovni uporabi, da gradivo distribuirajo, remiksirajo, prilagajajo in nadgrajujejo v katerem koli mediju ali formatu, če navedejo avtorja. Licenca dovoljuje komercialno uporabo. Če gradivo remiksirate, prilagodite ali gradite na njem, morate spremenjeno gradivo licencirati pod enakimi pogoji.\",\"H144rX\":\"Ta protokol je neznan ali ga razpoložljivi binarni program FFmpeg ne podpira.\",\"nlOxxw\":\"Tega vira med uporabo ni mogoče urejati. Če želite nadaljevati, morate vir odklopiti.\",\"mbSyrG\":[\"Ta različica uporabniškega vmesnika ne podpira razpoložljive binarne datoteke FFmpeg (\",[\"0\"],\"). Uporabniški vmesnik zahteva \",[\"1\"],\". Uporabite podprto binarno datoteko FFmpeg.\"],\"N/tTgz\":[\"Ta različica uporabniškega vmesnika ne podpira povezanega jedra (\",[\"0\"],\"). Uporabniški vmesnik zahteva \",[\"1\"],\". Uporabite združljivo različico uporabniškega vmesnika.\"],\"2Vq5tr\":\"Ta različica uporabniškega vmesnika je združljiva.\",\"QxX9Z5\":\"Prag (sekunde)\",\"sNmspt\":\"Stolpci za ploščice\",\"sYGp2E\":\"Vrstice ploščic\",\"wbOpwP\":\"Ploščice\",\"H59P7E\":\"Čas, dokler se neaktivna povezava gledalca ne obravnava kot zaprta.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Za stabilizacijo sistema povečajte dolžino segmenta HLS za interval ključnih slik za 2-3 * (Obdelava in nadzor).\",\"TP9/K5\":\"Žeton\",\"q+c+Fv\":\"Vrhunsko področje\",\"7mjsuh\":\"Prenos živega prenosa v kanal Telegram.\",\"Gxlq7L\":\"Prenos posnetkov glavnega vira v strežnik HTTP/S. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"SdyhUl\":\"Prenos zvočnega kanala glavnega vira v strežnik Icecast. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"MayU3b\":\"Prenos glavnega vira v strežnik HTTP/S v obliki prenosa v živo (HLS). Več podrobnosti o nastavitvah najdete <0>tu.\",\"3K8kpL\":\"Prenos glavnega vira kot MPEG-DASH v strežnik HTTP/S. Več podrobnosti o nastavitvah lahko najdete <0>tu.\",\"P/J230\":\"Posredujte glavni vir v storitev Brightcove Live. Več podrobnosti o nastavitvah najdete <0>tukaj.\",\"u0MhFy\":\"Prenos glavnega vira v storitev CDN77 RTMP. Več o nastavitvi <0>tukaj.\",\"zkgT7c\":\"Prenos glavnega vira v storitev DaCast RTMP. Več o nastavitvi <0>tukaj.\",\"in9xJz\":\"Prenos glavnega vira na datarhei Core Ressource. Več podrobnosti o nastavitvah lahko najdete <0>tu.\",\"PcgwEU\":\"Glavni vir prenesite v vir livespotting.com Ressource. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"D7jwpf\":\"Prenos glavnega vira v storitev MPEG-TS. Več podrobnosti o nastavitvah je na voljo tukaj <0>tu.\",\"SpSgUV\":\"Prenos glavnega vira v strežnik Red5/Pro. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"lIpqI/\":\"Prenos glavnega vira v strežnik RTMP(e|s|t|te|ts). Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"pqR6nq\":\"Prenos glavnega vira v strežnik RTSP. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"Q4dSnZ\":\"Prenos glavnega vira v strežnik SRT. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"fx9S4p\":\"Prenos glavnega vira v strežnik UDP. Več podrobnosti o nastavitvah je na voljo <0>tukaj.\",\"GLXY2N\":\"Prenos glavnega vira v strežnik WOWZA. Več podrobnosti o nastavitvah lahko najdete <0>tu.\",\"AsMKFi\":\"Prenos glavnega vira v medijske storitve Akamai (MSL) v živo. Več podrobnosti o nastavitvah kodirnika MSL najdete na <0>tu.\",\"FB364G\":\"Prenos glavnega vira v storitev Livepush RTMP. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"CC9yS5\":\"Prenos glavnega vira v storitev Nimo TV RTMP. Več podrobnosti o nastavitvah najdete <0>tu.\",\"fP8ZYg\":\"Prenos glavnega vira v storitev Picarto TV RTMP. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"D9A0LK\":\"Prenos glavnega vira v storitev Restream RTMP. Več podrobnosti o nastavitvah lahko najdete <0>tukaj.\",\"YL800g\":\"Prenos v Azure Media Services. Več podrobnosti lahko najdete <0>tukaj.\",\"Abgy4c\":\"Pošljite v omrežje LinkedIn. Več podrobnosti najdete <0>tu.\",\"dhCZoS\":\"Posredujte svoj Livestream v storitev Dailymotion RTMP. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"tQNclD\":\"Posredujte svoj prenos v živo v storitev RTMP podjetja Kick.com. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"mQ0sjr\":\"Prenesite svoj prenos v živo v strežnik Owncast. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"AqYRa3\":\"Posredujte svoj prenos v živo v storitev Rumble RTMP. <0>Tudi najdete več podrobnosti o nastavitvah.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Prenaša vaš videoprenos z zahtevanim ključem, ki je bil ustvarjen v programu Twitter Producer. Več informacij o vzpostavitvi prenosa v živo najdete na spletnem mestu Twitter <0>Producer.\",\"ADKef2\":\"Uglaševanje\",\"8jwViA\":\"Prenos UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Konfiguracije ni mogoče naložiti.\",\"MWrgON\":\"Edinstvena identiteta storitve.\",\"Ef7StM\":\"Neznano\",\"wiIpKZ\":\"Neznana napaka pri nalaganju\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Neizbrano\",\"j9zg7e\":\"Podrobnosti posodobitve (Changelog)\",\"ONWvwQ\":\"Naložite\",\"OXItQT\":[\"Naložite zvočno datoteko (\",[\"0\"],\"), da bi jo zazankali.\"],\"75yxb7\":[\"Naložite sliko ali videoposnetek (\",[\"0\"],\"), če želite ustvariti zanko.\"],\"iAkPTY\":\"Nalaganje datoteke ni uspelo\",\"Jmy6pK\":\"Nalaganje logotipa ni bilo uspešno\",\"xl1xFp\":\"Nalaganje plakata ni uspelo\",\"TjrbDj\":\"Čas delovanja\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Uporabite Auth0 za delujoče jedro Restreamer Core. Več <0>podrobnosti.\",\"JX4TqK\":\"Za hitro in enostavno nastavitev uporabite čarovnika (<0/>) ali pa vire urejate (<1/>) neposredno v načinu po meri.\",\"YYTBz0\":\"Uporabite svoje avtorske pravice in izberite pravilno licenco za slike. Naj bo brezplačna za vse ali zelo omejena. Na kratko razpravljajte o tem, kaj lahko drugi počnejo z vašo sliko.\",\"2UPEb1\":\"Uporabite svoje avtorske pravice in izberite pravo licenco za slike. Ne glede na to, ali je brezplačna za vse ali zelo omejena. Na kratko razpravljajte o tem, kaj lahko drugi počnejo z vašo sliko.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Registracija uporabnika\",\"7sNhEz\":\"Uporabniško ime\",\"Gv3pbp\":\"Uporabniško ime za avtorizacijo.\",\"RQSvXZ\":\"Uporabniško ime za napravo.\",\"zze3B5\":\"V4L2_M2M je eksperimentalen.\",\"PvM7Yi\":\"Spremenljiva hitrost sličic (VFR)\",\"hpBTpL\":\"žamet\",\"uIAsxu\":\"Navpični flip\",\"vSJd18\":\"Videoposnetek\",\"auaWhL\":\"Video naprava\",\"/skRGV\":\"Nastavitve videoposnetkov\",\"EzOjvB\":\"Nastavitev videoposnetka\",\"QcQXbU\":\"Vir videoposnetka\",\"M/TIv1\":\"Pregledovalnik\",\"L2hKw+\":\"vijolična\",\"hA6FFn\":\"Virtualni vir\",\"/cF7Rs\":\"Zvezek\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Priporočamo OpenMAX IL za Raspberry PI (3/4) z 32-bitnim operacijskim sistemom.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Dobrodošli v Restreamerju v2, rešitvi za hitro in enostavno objavljanje videoposnetkov. Brezplačno za zasebno in komercialno uporabo. Dodatna pomoč v <0>dokumentih.\",\"hJfWkA\":\"Katero prednastavitev hitrosti uporabiti.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Kam shraniti seznam predvajanja HLS in segmente. Priporočljivo je v pomnilniku.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"bela\",\"aFWU1n\":\"Širina\",\"e0wV2Y\":\"Zaščita pri pisanju\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Da\",\"WPUsOF\":\"Čarovnika ne morete prekiniti, ker mora biti opredeljen vsaj en vnos.\",\"qwY9F9\":\"Spremenili ste konfiguracijo. Da bi spremembe začele veljati, morate znova zagnati aplikacijo. Ali želite zdaj znova zagnati aplikacijo?\",\"nxq2ni\":\"Ponovno povezavo morate vzpostaviti ročno.\",\"RM3CEc\":\"Spremembe niso shranjene. Pred ponovnim nadzorom storitve jih shranite.\",\"/cg7qS\":\"Vaš tok je treba kodirati, vendar ni na voljo ustreznega kodirnika.\",\"BwrOm6\":\"Vaš tok je treba kodirati. Izberite želeni kodirnik:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Preskusni vzorec YUV\"}")}; \ No newline at end of file diff --git a/src/locales/sl/messages.po b/src/locales/sl/messages.po index adc4234..b6fb425 100644 --- a/src/locales/sl/messages.po +++ b/src/locales/sl/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Seznam združljivosti" msgid "<0>Show probe details" msgstr "<0>Podrobnosti preizkusa" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Preklopite na vmesnik ciljnega predvajalnika." @@ -76,11 +76,16 @@ msgstr "Prekliči" msgid "About" msgstr "O" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Zvok" @@ -302,10 +311,6 @@ msgstr "Avtor" msgid "Authorization" msgstr "Avtorizacija" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Samodejno" @@ -322,10 +327,6 @@ msgstr "Samodejno predvajanje" msgid "Available" msgstr "Na voljo" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Čas predpomnilnika (sekunde)" msgid "Cache types" msgstr "Vrste predpomnilnika" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Barva" msgid "Command" msgstr "Ukaz" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Konfiguracija" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Povezana naprava" msgid "Connected since <0/>" msgstr "Povezan od <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Povezujem ..." @@ -616,15 +618,19 @@ msgstr "Način konstantnega kvantizatorja (-1 do 255)." msgid "Content" msgstr "Vsebina" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL vsebine" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Omejitev procesorja (v odstotkih)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Omejitev uporabe procesorja v odstotkih (0-100 %), 0 pomeni neomejeno." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Način prepletanja" msgid "Deinterlace parity" msgstr "Odprava prepletanja paritete" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Zakasnitev" @@ -851,14 +841,6 @@ msgstr "Brisanja storitve objave ni mogoče preklicati. Objava se takoj ustavi." msgid "Delivering mode" msgstr "Način dostave" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Prekini" msgid "Disconnect & Continue" msgstr "Odklop in nadaljevanje" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "EDIT: Igralec" msgid "EDIT: Publication Website" msgstr "EDIT: Spletna stran publikacije" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "E-pošta" msgid "Embed" msgstr "Vdelaj" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Enkodiranje" msgid "Encryption" msgstr "Zaščita" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Vnesite ime novega kanala." @@ -1101,12 +1099,12 @@ msgstr "Napaka" msgid "Error while copying data to clipboard" msgstr "Napaka pri kopiranju podatkov v odložišče" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Napaka: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Pot do datoteke" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filter" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Splošno" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Google Analytics Tracker Name" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Strojna naprava" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Naslov" msgid "Height" msgstr "Višina" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Statistika HLS za shranjevanje v pomnilniku" msgid "Horizontal Flip" msgstr "Vodoravni flip" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Gostovani vmesnik Restreamer" @@ -1438,8 +1429,8 @@ msgstr "Vrata HTTPS" msgid "Human readable name on the service." msgstr "Človeku berljivo ime storitve." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Nezdružljivo" msgid "Inherit" msgstr "Dediči" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Vbrizgavanje 1" @@ -1527,6 +1514,14 @@ msgstr "Vbrizgavanje 3" msgid "Inject 4" msgstr "Vbrizgavanje 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Interval med ključnimi kadri (sekunde)" msgid "Layout" msgstr "Postavitev" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Certificiranje Let's Encrypt" @@ -1668,6 +1659,10 @@ msgstr "Prenos v živo v storitev Twitch Live RTMP." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Prenos v živo v storitev Vimeo Live RTMP" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "ID življenjskega vira" @@ -1726,7 +1721,7 @@ msgstr "Normalizacija glasnosti" msgid "Low latency (Buffer)" msgstr "Majhna zakasnitev (medpomnilnik)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Glavni kanal" @@ -1848,6 +1843,10 @@ msgstr "Metapodatki" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, privzeto {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Plesni" @@ -1870,7 +1869,7 @@ msgstr "Več o avtorskih pravicah Twitterja <0>tukaj." msgid "More about YouTube's copyright <0>here." msgstr "Več o avtorskih pravicah v YouTubu <0>tukaj." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Brez zvoka" msgid "No audio stream available" msgstr "Zvočni tok ni na voljo" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Vhodna naprava ni na voljo" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Tok v živo ni bil zaznan. Preverite programsko opremo, ki pošilja tok." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Ni izbran noben vir" @@ -1989,7 +1972,7 @@ msgstr "Ni bil najden ustrezen kodirnik." msgid "No suitable filter found." msgstr "Ni bil najden ustrezen filter." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Brez videoposnetka" @@ -1998,10 +1981,6 @@ msgstr "Brez videoposnetka" msgid "No video stream available" msgstr "Video tok ni na voljo" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "ID vozlišča" @@ -2052,10 +2031,6 @@ msgstr "Število ploščic za kodiranje." msgid "Number of tiles rows to encode with." msgstr "Število vrstic ploščic za kodiranje." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "En referer v vsaki vrstici, npr. http://www.example.com" msgid "Open" msgstr "Odpri" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Izhodni buffer" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Geslo za napravo." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Seznam predvajanja" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Različica seznama predvajanja (M3U8). Različica 3 ima najboljšo združljivost z brskalniki/odjemalci." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Preverite <0>dnevnik procesa" @@ -2309,16 +2284,9 @@ msgstr "Prednastavljeno" msgid "Primary stream" msgstr "Primarni tok" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Proces" msgid "Process control" msgstr "Nadzor procesa" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Podrobnosti o postopku" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protokol" msgid "Protocols" msgstr "Protokoli" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Javna domena/e" @@ -2437,6 +2401,10 @@ msgstr "Način vlečenja" msgid "Pull or recieve the data:" msgstr "Izvlecite ali prejmite podatke:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Ponovna povezava" msgid "Reconnect delay (seconds)" msgstr "Zakasnitev ponovne povezave (sekunde)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Regija" msgid "Register user" msgstr "Registracija uporabnika" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Odstranite najstarejše vnose, če je /memfs poln" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Navodila za ponovno snemanje" msgid "Restreamer Service" msgstr "Storitev ponastavljanja" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Pridobivanje podatkov o toku ..." @@ -2618,15 +2578,15 @@ msgstr "Ponovitev" msgid "RGB test pattern" msgstr "Preskusni vzorec RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Obračanje" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Pravilo" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Lestvica" msgid "Scale size" msgstr "Velikost lestvice" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Sekunde za shranjevanje datotek v predpomnilniku." @@ -2778,10 +2738,6 @@ msgstr "Segment bo po preteku tega časa prekinjen na naslednjem ključnem okvir msgid "Segmentation" msgstr "Segmentacija" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Izberite vir ..." msgid "Select video source:" msgstr "Izberite vir videoposnetka:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Izberite, ali boste tok prenesli iz <0>omrežnega vira (na primer omrežne kamere) ali <1>internega strežnika RTMP (npr. tokovi OBS v napravo Restreamer)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Ime storitve" msgid "Service token for monitoring." msgstr "Storitveni žeton za spremljanje." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Nastavitve" msgid "Settings (expert mode)" msgstr "Nastavitve (strokovni način)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Nastavitve za pot /data. Dostop je zaščiten z" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Velikost" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Posnetek" @@ -3005,7 +2957,7 @@ msgstr "Hitrost" msgid "Speed Preset" msgstr "Prednastavitev hitrosti" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Ploščice" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Čas, dokler se neaktivna povezava gledalca ne obravnava kot zaprta." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Za stabilizacijo sistema povečajte dolžino segmenta HLS za interval ključnih slik za 2-3 * (Obdelava in nadzor)." @@ -3477,18 +3413,6 @@ msgstr "Za stabilizacijo sistema povečajte dolžino segmenta HLS za interval kl msgid "Token" msgstr "Žeton" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Vrhunsko področje" @@ -3627,12 +3551,12 @@ msgstr "Uglaševanje" msgid "UDP transport" msgstr "Prenos UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Neznano" msgid "Unknown upload error" msgstr "Neznana napaka pri nalaganju" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Nalaganje plakata ni uspelo" msgid "Uptime" msgstr "Čas delovanja" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Uporabite svoje avtorske pravice in izberite pravo licenco za slike. Ne msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Registracija uporabnika" @@ -3773,10 +3693,6 @@ msgstr "Uporabniško ime za avtorizacijo." msgid "Username for the device." msgstr "Uporabniško ime za napravo." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M je eksperimentalen." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Priporočamo OpenMAX IL za Raspberry PI (3/4) z 32-bitnim operacijskim sistemom." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Dobrodošli v Restreamerju v2, rešitvi za hitro in enostavno objavljanj msgid "What speed preset to use." msgstr "Katero prednastavitev hitrosti uporabiti." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Kam shraniti seznam predvajanja HLS in segmente. Priporočljivo je v pomnilniku." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "bela" @@ -3881,6 +3809,10 @@ msgstr "Širina" msgid "Write protection" msgstr "Zaščita pri pisanju" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Da" @@ -3893,7 +3825,7 @@ msgstr "Čarovnika ne morete prekiniti, ker mora biti opredeljen vsaj en vnos." msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Spremenili ste konfiguracijo. Da bi spremembe začele veljati, morate znova zagnati aplikacijo. Ali želite zdaj znova zagnati aplikacijo?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Ponovno povezavo morate vzpostaviti ročno." @@ -3910,14 +3842,6 @@ msgstr "Vaš tok je treba kodirati, vendar ni na voljo ustreznega kodirnika." msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Vaš tok je treba kodirati. Izberite želeni kodirnik:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/tr/messages.js b/src/locales/tr/messages.js index 43e7b5a..76d99bf 100644 --- a/src/locales/tr/messages.js +++ b/src/locales/tr/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Uyumluluk listesi\",\"TkRUk0\":\"<0>İnceleme ayrıntılarını göster\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Hedef Restreamer'ın arayüzüne geçin.\",\"2JnpXL\":\"Yeni bir kanal oluştur ve RTMP ya da SRT seçeneklerinden birini seç\",\"YidyJl\":\"Adresi kopyala ve \\\"Hedef Adres\\\" alanına yapıştır. \",\"X1MZZp\":\"6 (+ bir Anahtar çerçeve ile başlama garantisi)\",\"JVJkxU\":\"7 (+ parçalanmış MP4 biçimi)\",\"ssjjFt\":\"Durdur\",\"uyJsf6\":\"Hakkında\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Ekle\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Yayın sitesine harici widget'lar ve stiller ekleyin. Yardım sayfasında bazı örnekler bulabilirsiniz.\",\"tsJWSj\":\"Yeni kanal ekle\",\"PLTLdv\":\"Yayın Ekle\",\"35l+l6\":[\"Ekle: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adres\",\"8M7jVn\":\"Arka plan resmi için adres\",\"Vu9yiv\":\"HTTP istekleri için dinlenecek adres.\",\"AQDW5r\":\"HTTPS istekleri için dinlenecek adres.\",\"tPrmjP\":\"Adres:\",\"owt8Ow\":\"Yayın sitesi renklerini ve arka planını istediğiniz gibi ayarlayın.\",\"uNXGDK\":\"Gelişmiş izleme\",\"VNgKZz\":\"Gelişmiş ayarlar\",\"eiGNYb\":\"Gelişmiş kurulum\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"E-posta ile uyarı\",\"N40H+G\":\"Tümü\",\"Hw5q+W\":\"Tüm çerçeveler\",\"f2zxGk\":\"Tüm önemli sistem ayarları.\",\"lle3bd\":\"Tüm yönlendirenlere izin ver\",\"bgFbIB\":\"Akışın kaç izleyicisi olduğunu saymaya izin verin.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Genlik\",\"ngteek\":\"Bir ortam değişkeni bu değeri ayarlar.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API uç noktası bulunamadı. Ayarlar kaydedilmedi.\",\"LMUw1U\":\"Uygulama\",\"IrC12v\":\"Uygulama\",\"xnCC/2\":\"Sihirbazı iptal etmek istediğinizden emin misiniz?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Ses\",\"n3RW8K\":\"Ses cihazı\",\"sYyYfE\":\"Ses aygıtı\",\"2he4Ra\":\"Cihazdan gelen ses\",\"MvY15a\":\"Ses ayarları\",\"NoLJ6g\":\"Ses kurulumu\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Bu arayüz güvensiz bir kaynaktan yüklendiği için Auth0 şu anda kullanılamıyor.\",\"aKsflb\":\"Auth0 Kiracı\",\"VbeIOx\":\"Yazar\",\"NJgJy9\":\"Yetkilendirme\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Otomatik\",\"6yEk/V\":\"Tüm medya verilerinin otomatik olarak temizlenmesi\",\"jT50Rz\":\"Otomatik Oynatma\",\"csDS2L\":\"Mevcut\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Geri\",\"1KfyNL\":\"Arka plan renkleri\",\"23c2Uw\":\"Arka plan görüntüsü\",\"r0bEmM\":\"Yedek sunucu\",\"JFjQhH\":\"Yedekleme akışı\",\"bkJ+QE\":\"Yedekleme URL'si\",\"OlXThP\":\"Bant Genişliği\",\"QYaaBO\":\"Bant genişliği kontrolü\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Temel\",\"YR04fn\":\"Bip faktörü\",\"5bhON1\":\"Bit Hızı\",\"Os3B4i\":\"Blok önbellek türleri\",\"zOC7cT\":\"mavi\",\"359XuU\":\"Alt alan\",\"aC3kWW\":\"Canlı yayın sırasında izleyicilerin ne göreceğini kısaca açıklayın.\",\"SehDNd\":\"kahverengi\",\"Ptp9MF\":\"Düğme rengi\",\"Lp4WkO\":\"Yüksekliğe göre\",\"IeV/4P\":\"Genişliğe göre\",\"KxP5AO\":\"/data üzerindeki dosyalar için önbellek.\",\"qX8ffo\":\"Önbellek süresi (Saniye)\",\"4dRAku\":\"Önbellek türleri\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampon yakalama\",\"aL2+1d\":\"Tıklamaları yakalayın\",\"EOfLfP\":\"İmleci yakala\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" kaydedildi\"],\"lfFsZ4\":\"Kanallar\",\"WMCwmR\":\"Güncellemeleri kontrol edin\",\"vM6kpc\":\"Gereksinimleri kontrol edin\",\"Wzgqhl\":\"Bir video akışı seçin\",\"JpTR0/\":\"Bir ses akışı seçin\",\"BTNyrQ\":\"Bir giriş cihazı seçin ...\",\"f9QIui\":\"Bir giriş akışı seçin ...\",\"/Y6zrN\":\"CFR veya VFR arasında seçim yap (Otomatik)\",\"gObOjh\":\"Kodek seçin ...\",\"v7lrmU\":\"Kiracı seçin ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"yz7wBu\":\"Kapat\",\"r8NEPc\":\"Kod enjeksiyonu\",\"BaUuhR\":\"Kodek\",\"jZlrte\":\"Renk\",\"sjVfrA\":\"Komuta\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Yapılandırma\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Şifreyi onayla\",\"iSLIjg\":\"Bağlan\",\"NL3Gev\":\"Bağlı cihaz\",\"ywAvGr\":\"<0/>'dan beri bağlı\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"Bağlanıyor ...\",\"y6+BXa\":\"Restreamer Çekirdeğine Bağlanma ...\",\"Td5lm6\":\"Restreamer Core'a bağlanmak muhtemelen karışık içerik nedeniyle başarısız oldu.\",\"awE5Py\":\"Sabit kare hızı (CFR)\",\"DT0Af/\":\"Sabit Quantizer Modu (-1 ila 255).\",\"4b3oEV\":\"İçerik\",\"U34RbB\":\"İçerik URL'si\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Çekirdekler\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU Sınırı (yüzde)\",\"uW5tVo\":\"CPU kullanım sınırı yüzde olarak (0-100%), sınırsız için 0.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Özel ...\",\"kH80Lk\":\"Özel ses cihazı\",\"fW1XQD\":\"Özel ses dizini\",\"bzREp0\":\"Özel bit hızı (kbit/s)\",\"w9oKek\":\"Özel kod enjeksiyonu\",\"jYaP01\":\"Özel gecikme\",\"2Gw+zZ\":\"Özel cihaz\",\"WCXGNp\":\"Özel format\",\"ZkpZ06\":\"Özel kare hızı\",\"1OXCgh\":\"datarhei Core için özel JSON yapılandırması.\",\"kl56NX\":\"Özel animasyon kare aralığı\",\"prIqWa\":\"Özel düzen\",\"HSB43e\":\"Özel örnekleme (Hz)\",\"Efe3BI\":\"Özel ölçek\",\"E/2KdS\":\"Özel boyut\",\"Se794B\":\"Özel video cihazı\",\"aqv915\":\"Özel video dizini\",\"v8OlX8\":\"Panoya kopyalanan veriler\",\"J/VBax\":\"Yayın kapalı rengi\",\"d2TTfK\":\"Desibel (dB)\",\"W034oz\":\"Kod Çözücü\",\"ovBPCi\":\"Varsayılan\",\"gFwPaj\":[\"Varsayılan \",[\"0\"]],\"JQnkrI\":[\"Varsayılan \",[\"0\"],\" (\",[\"1\"],\" saniye)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Deinterlace modu\",\"aro6lN\":\"Deinterlace paritesi\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Gecikme\",\"qBC9g9\":\"Gecikme (ms)\",\"cnGeoo\":\"Sil\",\"ScK3zL\":\"Bir yayın hizmetinin silinmesi geri alınamaz. Yayın derhal durdurulur.\",\"cEx3oI\":\"Teslimat modu\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Açıklama\",\"f8fH8W\":\"Tasarım\",\"PEHQTf\":\"Cihaz\",\"+K0AvT\":\"Bağlantıyı Kes\",\"miKA/E\":\"Bağlantıyı Kes ve Devam Et\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Bağlantı kesiliyor ...\",\"sPFHpI\":\"Depolama Alanı\",\"qczNPP\":\"Disk önbelleği\",\"PUqOjv\":\"Disk kapasitesi\",\"uTwT/l\":\"Uygulamayı gerçekten şimdi yeniden başlatmak istiyor musunuz?\",\"FgxcNT\":[\"\\\"\",[\"0\"],\"\\\" silmek istiyor musunuz?\"],\"NogZqg\":[[\"title\"],\"'ı silmek istiyor musunuz?\"],\"0p+Mpn\":[\"\\\"\",[\"0\"],\"\\\" bağlantısını kesmek istiyor musunuz?\"],\"TbjyhA\":\"Dokümanlar\",\"TvY/XA\":\"Dokümantasyon\",\"jPtEhI\":\"Çoğaltılmış çerçeveler\",\"diaSRH\":\"Her bir alan\",\"u2SnNO\":\"Her çerçeve\",\"ePK91l\":\"Düzenle\",\"INCFjw\":\"Canlı akış için ses ve video kaynaklarını düzenleyin. Bir açıklama ekleyin ve istediğiniz içerik lisansını ayarlayın.\",\"+7Wr2a\":[\"Düzenleme: \",[\"title\"]],\"e3GLqI\":\"DÜZENLEME: Oynatıcı\",\"dTPDyf\":\"DÜZENLEME: Yayın Web Sitesi\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Eposta\",\"KKBlUU\":\"Siteye Ekle\",\"PaQ3df\":\"Etkinleştir\",\"No9svk\":\"Taşıyıcı frekansının bu değerle çarpımıyla her saniye de bir periyodik bip sesini etkinleştirin\",\"R7s0Th\":\"Yedek akışı etkinleştir\",\"xA5zBY\":\"İnek istatistiklerini etkinleştirin\",\"r0zP4o\":\"Şuan etkin\",\"JwR989\":\"Birincil akışı etkinleştirin\",\"blkDNw\":\"RTMP sunucusunu etkinleştir ...\",\"FgEhO4\":\"RTMPS aktarımını etkinleştir\",\"uGvvxq\":\"Anlık görüntüleri etkinleştirin\",\"IuL64N\":\"SRT sunucusunu etkinleştir ...\",\"NJsnxf\":\"Yetkilendirmenin etkinleştirilmesi şiddetle tavsiye edilir. Aksi takdirde, herkes bu örneğe erişebilir.\",\"xwS6bX\":\"Temel yetkilendirmenin etkinleştirilmesi şiddetle tavsiye edilir. Aksi takdirde, herhangi biri /memfs'e veri yazabilir.\",\"0zaXWu\":\"Kodlayıcı\",\"o0XA5y\":\"Kodlama\",\"q1srUM\":\"Şifreleme\",\"qS2y97\":\"Yeni kanal için bir ad girin.\",\"f7sXvi\":\"Şifre girin\",\"5QCNrf\":\"Ağ kaynağınızın adresini girin:\",\"WLnvCZ\":\"Kullanıcı adı girin\",\"ijwVVM\":\"Entropi kodlayıcı\",\"SlfejT\":\"Hata\",\"sHoMKO\":\"Veriler panoya kopyalanırken hata oluştu\",\"TpqeIh\":[\"Hata: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Kanal listesinin (canlı sohbet) üzerindeki alanı genişletir.\",\"IBJg8n\":\"Kanal açıklamasının (yorum kutuları) altındaki alanı genişletir.\",\"XeunlQ\":\"Uzman modu\",\"qNpEXB\":\"EXT-X-VERSİYON\",\"/svCaE\":\"Kanal listesini genişletme\",\"tG09kC\":\"İçeriği genişletin\",\"bPWJOj\":\"Altbilgiyi genişlet\",\"SeaRa5\":\"Başlığı genişlet\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Yayın hizmeti oluşturulamadı (\",[\"0\"],\")\"],\"yT6MEY\":\"Yayın web sitesi dosyaları oluşturulamadı.\",\"FGdPhH\":\"Kaynak araştırması başarısız oldu. Lütfen <0>inceleme detaylarını kontrol edin.\",\"DvfYM2\":[\"Yenileme tokeni hatalı: \",[\"0\"]],\"J0Jclh\":\"Alma meta verileri kaydedilemedi\",\"RPXHsU\":\"İşlem durdurulamadı\",\"AhS7uc\":\"Oyuncu boyutu ayarı kaydedilemedi.\",\"PcJRf4\":[\"Yayın hizmeti depolanamadı (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Alma işlemi güncellenemedi (\",[\"0\"],\")\"],\"t1E1OU\":[\"Anlık görüntü alma işlemi güncellenemedi (\",[\"0\"],\")\"],\"bssUbs\":\"Oynatıcı güncellenemedi\",\"4SzVSX\":\"Oyuncu sitesi güncellenemedi\",\"H8gP5T\":\"Kaynak doğrulanamadı. Lütfen adresi kontrol edin.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Dosya yolu\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Filtre\",\"JmZ/+d\":\"Tamamla\",\"k4A6IZ\":\"Sabit boyut\",\"Xgkhyj\":\"Bayraklar\",\"+L0/av\":\"Javascripts için.\",\"VBU6dD\":\"Stil Sayfaları için.\",\"XDTTEp\":\"Giriş kare hızını zorla\",\"Y5YNoi\":\"Anahtar çerçevelerini zorla\",\"kI1qVD\":\"Biçim\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Çerçeve düşmeleri\",\"lPICcX\":\"Çerçeve geçirilir (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Çerçeve hızı\",\"RFrfTY\":\"Kare hızı dönüştürme (kare enterpolasyonu)\",\"xDfHbM\":\"Kare hızı modu\",\"4xNpe4\":\"Frekans (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Genel\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analiz Kimliği\",\"S/8Noo\":\"Google Analiz İzleyici Adı\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Donanım cihazı\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Başlık\",\"+670Zw\":\"Manşet\",\"PFFhCT\":\"Yükseklik\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS çıktısı\",\"oMxmoP\":\"HLS sunucu\",\"5/G5c1\":\"Bellek içi depolama için HLS istatistiği\",\"wXoUQx\":\"Yan çevir\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Barındırılan Restreamer arayüzü\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP ve HTTPS\",\"YmRLab\":\"HTTP bağlantı noktası\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS bağlantı noktası\",\"Ptrvx5\":\"Hizmette insan tarafından okunabilir ad.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Bağlantı noktalarını değiştirdiyseniz, Restreamer Core zaten yeniden başlatılmış olabilir, ancak şimdi farklı bir bağlantı noktasında kullanılabilir.\",\"OQONQS\":\"Let's Encrypt TLS'yi etkinleştirdiyseniz sertifikaların alınması biraz zaman alabilir. Restreamer Core'a internetten 80 numaralı bağlantı noktası üzerinden erişilebildiğinden emin olun. Lütfen Restreamer Core'un konsol günlüğünü kontrol edin.\",\"yWR5EY\":\"iframe kodu\",\"7ZKroD\":\"IP aralıklarını yoksay\",\"VyUuZb\":\"Resim URL'si\",\"5n8FKh\":\"Künye\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Oynatıcıya ek olarak Restreamer, canlı yayınınızı kolay ve hızlı bir şekilde sunmak için kullanabileceğiniz eksiksiz bir açılış sayfası sunar.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"Bellek içi\",\"EwM+sw\":\"Bellek içi depolama\",\"xmsVuq\":\"Uyumsuz\",\"exUN1j\":\"Miras\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Enjekte 1\",\"MJlrvd\":\"Enjekte 2\",\"MppU96\":\"Enjekte 3\",\"zBVRQb\":\"Enjekte 4\",\"Adqgqr\":\"Girdi akışı\",\"jnyWFc\":\"Örnek etki alanı\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Aralık (saniye)\",\"C4WaV1\":\"Sorun uyarısı\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Anahtar kare aralığı (saniye)\",\"rdU729\":\"Düzen\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Let's Encrypt sertifikası\",\"LgUs17\":\"Let's Encrypt bir veya daha fazla genel alan adı ve erişilebilir bir port 80/TCP gerektirir.\",\"oCHfGC\":\"Seviye\",\"eyLS1J\":\"Sistem protokolü seviyesi.\",\"iQmbPb\":\"Lisans\",\"mQImez\":\"Yaşam rengi\",\"6BDqha\":\"Sınırlar\",\"1pbzRr\":\"Çizgi rengi\",\"Ce6Hrg\":\"Çizgiler\",\"yzF66j\":\"Bağlantı\",\"NBxw5Y\":\"Bağlantı, fareyle üzerine gelme\",\"xCrpEt\":\"Önbelleğe kaydedilmesi istenmeyen dosya uzantılarını her biri birer satırda listeleyin.\",\"m2l8c3\":\"Önbelleğe alınacak dosya uzantılarının listesi (örn. \\\".html\\\"), her satır için bir tane. Tüm dosya türlerini önbelleğe almak için boş bırakın.\",\"QYw6tl\":\"İstatistiklerin kaydetmeyeceği CIDR gösterimindeki IP aralıklarının listesi, örneğin 127.0.0.1/32, her satır için bir IP aralığı. Tüm oturumları kaydetmek için boş bırakın.\",\"ELFO4F\":\"Liste boyutu (segmentler)\",\"D0Nwch\":\"dlive Canlı RTMP Hizmetine Canlı Akış.\",\"n2VKys\":\"Facebook Live RTMP hizmetine Canlı Yayın\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Medya Ağı RTMP Hizmetine Canlı Akış.\",\"w9zSAv\":\"PeerTube v3+ RTMP/S Hizmetine Canlı Yayın.\",\"SZ9Q++\":\"Trovo Live RTMP Hizmetine Canlı Akış.\",\"JJGagy\":\"Twitch Canlı RTMP Hizmetine Canlı Yayın.\",\"4TnPVp\":\"Vimeo Live RTMP Hizmetine Canlı Akış\",\"G4x3PY\":\"Canlı Kaynak Kimliği\",\"0aIqC4\":\"Günlük seviyesi\",\"x7PDL5\":\"Günlük kaydı\",\"z0t9bb\":\"Giriş yap\",\"+fL+Rj\":[\"Giriş başarısız oldu: \",[\"0\"]],\"4cd7gw\":\"Giriş başarısız oldu: API ayrıntıları yüklenemedi\",\"sNqu7k\":\"Giriş/JWT yetkilendirmesi\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Oturum Kapatma\",\"DYX2fZ\":\"Döngü\",\"SzaPTL\":\"Ses Yüksekliği Normalizasyonu\",\"QGvS9k\":\"Düşük gecikme süresi (Tampon)\",\"GaV7al\":\"Ana kanal\",\"Wsn0Uw\":\"Ana kanal bulunamadı\",\"tROIde\":\"Ana kanal kaydedildi\",\"nLVSux\":\"Ana sayfa kanalı (index.html).\",\"rd3Pv7\":\"Ana Kaynak\",\"f4txA1\":\"Geliştirici:\",\"3iTz2L\":\"Kanalı bir RTMP akışı olarak kullanılabilir hale getirin (deneysel).\",\"mMiku6\":\"Kanalı bir SRT akışı olarak kullanılabilir hale getirin (deneysel).\",\"6dZ9NS\":\"İşaretli çerçeveler\",\"iuA3xD\":\"Ana oynatma listesi (tarayıcı/istemci uyumluluğunu artırır)\",\"WBpxnA\":\"İzin verilen maksimum önbellek boyutu, sınırsız için 0.\",\"NzaPGT\":\"Memfs için izin verilen maksimum megabayt RAM, sınırsız için 0.\",\"aaso5s\":\"Sabit diskten tüketilmesine izin verilen maksimum megabayt. Sınırsız için 0.\",\"4hp5D2\":\"Maksimum bant genişliği Mbit/s\",\"L+uBOR\":\"Milisaniye cinsinden maksimum gecikme.\",\"hkoCqq\":\"Maksimum dosya boyutu (Megabayt)\",\"i96JfZ\":\"Önbelleğe koymak için maksimum dosya boyutu.\",\"Q9HspI\":\"Maksimum günlük geçmişi\",\"bS9ZHz\":\"Maksimum günlük satırları\",\"6sayfE\":\"Maksimum boyut (Megabayt)\",\"09BWQO\":\"Maksimum izleyici boşta kalma süresi (Saniye)\",\"hW0DV1\":\"Maksimum izleyici\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Bellek\",\"KReOHe\":\"Bellek Sınırı (megabayt)\",\"fViWSz\":\"Megabayt cinsinden bellek kullanım sınırı, sınırsız için 0.\",\"emJ6M7\":\"Meta bilgisi\",\"6GBt0m\":\"Metadata\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", varsayılan \",[\"1\"]],\"riWPSk\":\"Kalıp\",\"QA/rur\":\"Lisanslar hakkında daha fazla bilgi için\",\"fyGu1l\":\"Hizmet hakkında daha fazla bilgi\",\"yBsv2n\":\"Twitter'ın telif hakkı hakkında daha fazla bilgi <0>burada.\",\"ZpfAc9\":\"YouTube'un telif hakkı hakkında daha fazla bilgi <0>burada.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Önbellekteki maksimum dosya boyutundan daha büyük olmalıdır.\",\"gC9RIS\":\"Maksimum önbellek boyutundan daha küçük olmalıdır.\",\"R7SsBE\":\"Sessiz\",\"K0rCAk\":\"Bir kanalın sesini kapatın.\",\"Jv/kid\":\"Sessiz sol\",\"FsCP6P\":\"Sessiz sağ\",\"6YtxFj\":\"Adı\",\"0ZkQqR\":\"Şablon için ad. İsim zaten mevcutsa, üzerine yazılacaktır.\",\"OR475H\":\"Ağ\",\"KZDcDr\":\"Ağ kaynağı\",\"hXzOVo\":\"Sonraki\",\"JZrXI6\":\"Sonraki: Ses\",\"kZFy+Q\":\"Sonraki: Video kurulumu\",\"1UzENP\":\"Hayır\",\"p6Fxed\":\"Ses yok\",\"bIDO3H\":\"Ses akışı mevcut değil\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Giriş cihazı mevcut değil\",\"dEwhMr\":\"Canlı yayın algılanmadı. Lütfen akışı gönderen yazılımı kontrol edin.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Kaynak seçilmedi\",\"3TfuWb\":\"Kaynak mevcut değil\",\"fiXA/y\":\"Uygun kodlayıcı bulunamadı.\",\"acY4BT\":\"Uygun filtre bulunamadı.\",\"/02FxK\":\"Video yok\",\"AVWnC9\":\"Video akışı yok\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Düğüm Kimliği\",\"9J5l/O\":\"Gürültü\",\"EdQY6l\":\"Hiçbiri\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notlar\",\"/a9y2d\":\"Tutulacak günlük satırı sayısı.\",\"ZD0urA\":\"Her işlem için tutulacak günlük sayısı.\",\"Aia5w3\":\"Limitlerin aşılmasına izin verilen saniye sayısı.\",\"1lZb7D\":\"Kodlanacak karo sütunlarının sayısı.\",\"InpHMl\":\"Kodlanan karo sayısı.\",\"wnRD5D\":\"Kodlanacak karo satır sayısı.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"TAMAM\",\"+Xj01r\":\"Satır başına bir yönlendirici, örneğin http://www.example.com\",\"1TNIig\":\"Açık\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Çıkış tamponu\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Pan\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Parola\",\"Y+p0Tt\":\"SRT şifrelemesi için parola.\",\"fpQo1i\":\"Parola 10 ila 79 karakter uzunluğunda olmalıdır\",\"3GZXaB\":\"Passthrough (kopyalama) yalnızca gerekli olduğunda devre dışı bırakılmalıdır. Her kodlama ek CPU/GPU kaynakları gerektirir.\",\"8ZsakT\":\"Şifre\",\"b+AuuK\":\"Yetkilendirme için şifre.\",\"oREnCY\":\"Cihaz için şifre.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"İzleyici istatistiklerini sürdür\",\"ANX1b0\":\"pembe\",\"c8aBfM\":\"Piksel biçimi\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Başlangıç\",\"Ejic1p\":\"Platformlar\",\"gtQk6c\":\"Oynatma\",\"vRayGs\":\"Oyuncu\",\"tWB9Gz\":\"Oynatıcı ayarları kaydedildi\",\"GIxxiU\":\"Oyuncu URL'si\",\"PUmLMn\":\"Oynatıcı Sitesi\",\"LKPR6G\":\"Çalma Listesi\",\"luDqS5\":\"Oynatma listesi sürümü (M3U8). Sürüm 3 en iyi tarayıcı/istemci uyumluluğuna sahiptir.\",\"84gH7g\":\"Lütfen <0>process log kontrol edin\",\"OMpKNS\":\"Lütfen servis operatörüyle iletişime geçin ve ne olduğunu kontrol edin.\",\"4lATxE\":\"Let's Encrypt CA'nın hizmet koşullarını kabul ettiğinizi belirtmek ve sorun olması durumunda bilgilendirilmek için lütfen e-posta adresinizi girin.\",\"bdMiXb\":\"Lütfen hizmetin operatörü ile iletişime geçin ve neler olduğunu kontrol edin.\",\"wPZBpR\":\"Lütfen yüklemek için bir dosya seçin.\",\"YcGRmx\":\"Lütfen mümkünse \\\"Passthrough (kopya)\\\" kullanın. Kodlama ek CPU/GPU kaynakları gerektirir.\",\"06qnxB\":\"Lütfen bekleyin. Prob akışı verileri ...\",\"FTIPkL\":\"Lütfen bekleyin. Akış kurulumu ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Konum\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"Poster resmi URL'si\",\"6o2Onc\":\"Ön ayar\",\"lxxyq5\":\"Birincil akış\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Prob\",\"1B9XX0\":\"İşlem\",\"DL/nrw\":\"Süreç kontrolü\",\"fzYV2N\":\"Süreç ayrıntıları\",\"zNVLia\":\"Süreç raporu\",\"PwMwvX\":\"İşleme ve Kontrol\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokol\",\"hEksWI\":\"Protokoller\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Kamu malı/ları\",\"7lbVwY\":\"Yayın hizmeti bulunamadı\",\"ia1vIb\":\"Yayın web sitesi ayarları kaydedildi\",\"XHw75Y\":\"Yayınlar\",\"dsOSCf\":\"Çekme Modu\",\"lQQ/zA\":\"Verileri çekin veya alın:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Kalite\",\"i9d+3B\":\"Raspberry Pi kamera\",\"tbXj/A\":\"Oran kontrolü\",\"iaocTt\":\"Oran\",\"WnSPyE\":\"rav1e Parametreler\",\"6PpdQP\":\"Girdiyi yerel hızda okuyun\",\"bqsSkO\":\"Alma Modu\",\"gcoiFh\":\"Yeniden Bağlan\",\"lakzvL\":\"Yeniden bağlanma gecikmesi (saniye)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[[\"0\"],\" sn içinde yeniden bağlanıyor\"],\"uSDaLA\":[\"Restreamer Core'a yeniden bağlanma son \",[\"RETRIES\"],\" saniye için başarısız oldu.\"],\"N7ojfh\":\"Restreamer Core'a yeniden bağlanma başarısız oldu.\",\"lCF0wC\":\"Yenile\",\"uJ+Ve2\":\"Bölge\",\"CNipTv\":\"Kullanıcı oluştur\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Yeniden Yükle\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"/memfs doluysa en eski girdileri kaldırın\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Aktivasyon gerektirir\",\"XMbkus\":\"Logoyu sil\",\"36SXzE\":\"Posteri sıfırla\",\"6z9W13\":\"Yeniden Başlat\",\"dKwnjv\":\"Yeniden başlatma gerekli\",\"0Er6+M\":\"Yeniden Başlatma\",\"X1sT1j\":\"Restreamer Çekirdeği Yeniden Başlatılıyor ...\",\"o5q6jb\":\"Uygulama yeniden başlatılamadı.\",\"x8cAsq\":\"Restreamer talimatları\",\"24fLVm\":\"Restreamer Hizmeti\",\"LCGjV4\":\"Akış verileri alınıyor...\",\"6gRgw8\":\"Yeniden dene\",\"Qe1vaN\":\"RGB test deseni\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Döndür\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Yayınlamak için RTMP uygulaması.\",\"7ggERB\":\"RTMP çıkışı\",\"V82lE+\":\"RTMP Bağlantı Noktası\",\"itARjB\":\"RTMP sunucusu\",\"WWZqzz\":\"RTMP sunucusu etkin değil\",\"HhOPCL\":\"RTMP sunucusu dinleme adresi.\",\"DbHOhO\":\"Yayınlama ve oynatma için RTMP belirteci. Belirteç, URL sorgu parametresi 'token'ın değeridir.\",\"OAZeFE\":\"RTMPS Bağlantı Noktası\",\"Wt/wFL\":\"RTMPS sunucusu\",\"xwonDv\":\"RTMPS sunucusu dinleme adresi.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Kural\",\"HneYgw\":\"Örnek\",\"tfDRzk\":\"Kaydet\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Ölçekle\",\"6aaceW\":\"Ölçek boyutu\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Dosyaları önbellekte tutmak için saniye.\",\"geM4Wc\":\"Bir işlem yeniden başlatılana kadar geçen saniye.\",\"iF7dnC\":\"Kararlı bir işlem sonlandırılıncaya kadar geçen saniye.\",\"mydmGn\":\"Video kaynağının anlık görüntüsü/küçük resmi güncellenene kadar geçen saniye.\",\"a3LDKx\":\"Güvenlik\",\"Gkr6zI\":\"Güvenlik belirteci\",\"/Ocrtf\":\"Seekbar rengi\",\"4lDlYf\":\"Bölüm uzunluğu (saniye)\",\"XfNrg+\":\"Segment, bu süre geçtikten sonra bir sonraki ana karede kesilecektir. 2 tavsiye edilir.\",\"jHCoDy\":\"Parçalara ayrılma\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Bir cihaz seçin:\",\"O+ruJ3\":\"Ses kaynağını seçin:\",\"6MTTpq\":\"Daha az gecikme için RTMP veya SRT'yi (etkinleştirilmişse) seçin.\",\"E7haRr\":\"Kaynak seçin...\",\"PlZ1aw\":\"Video kaynağını seçin:\",\"YYlcWm\":\"Akışı bir <0>ağ kaynağından (ağ kamerası gibi) mı yoksa <1>dahili RTMP sunucusundan mı çekeceğinizi seçin (örneğin, Restreamer'a OBS akışları).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Kodlama ayarınızı seçin:\",\"aT3o8A\":\"Filtre ayarlarınızı seçin (isteğe bağlı):\",\"ylXj1N\":\"Seçilmiş\",\"kYpw4+\":\"Seçilen kanal\",\"p7/fS2\":\"Seçim\",\"SOePwi\":\"Anonim ölçümler gönderin (gelecekteki gelişim için bize yardımcı olur)\",\"kOhBl+\":\"Akışı adrese gönder ...\",\"E1X5xY\":\"Bu adrese akış gönderin:\",\"d/IMf3\":\"Videoyu Framebuffer'a gönder\",\"sGH11W\":\"Sunucu\",\"9rG25a\":\"Sunucu adresi\",\"T3bXxK\":\"Hizmet\",\"KPPdUO\":\"Hizmet adı\",\"DOrSw/\":\"İzleme için hizmet belirteci.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Oturumlar\",\"xwK3ty\":\"Anahtar=değer parametrelerinin :-ayrılmış bir listesini kullanarak rav1e yapılandırmasını ayarlayın.\",\"FIIk8R\":\"Giden HLS veri aktarımı için saniyede Mbit cinsinden bir bant genişliği sınırı belirler. RTMP ve giden işlemler gibi tüm hizmetler hesaplamaya dahil edilir. Bant genişliği aşılırsa, HLS izleyicileri HTTP durum kodu 509 (Bant Genişliği Sınırı Aşıldı) alır. 0 sınırsızdır.\",\"cOG/FK\":\"HLS oturumları için bir görüntüleyici sınırı belirler. Sınır aşılırsa, HLS izleyicileri HTTP durum kodu 509 (Bant Genişliği Sınırı Aşıldı) alır. 0 sınırsızdır.\",\"mcJFKm\":\"Hizmete bağlantı için ayar.\",\"Tz0i8g\":\"Ayarlar\",\"IiOZ6R\":\"Ayarlar (uzman modu)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Veri yolu için ayarlar. Erişim şu şekilde korunur\",\"Ytdvyh\":\"Memfs yolu için ayarlar.\",\"1w3lYe\":\"Ayarlar kaydedildi. Tüm değişiklikler uygulama yeniden başlatıldıktan sonra uygulanacaktır.\",\"XUw3i9\":\"Paylaş düğmesi\",\"oD0Oes\":\"Projeye bir referans gösterir.\",\"+vv4q2\":\"Kaydolun (ücretsiz)\",\"JXVFAm\":\"Sessizlik\",\"VSK9FJ\":\"Sesi Sustur\",\"L8Jb2l\":\"Sinüs\",\"MxZN16\":\"Site adı\",\"Cj2Gtd\":\"Boyut\",\"yTZe+y\":\"Anlık görüntü\",\"pSUgnY\":\"Sosyal giriş (OAuth2, 2FA)\",\"qe9jaI\":\"Soket zaman aşımı (mikrosaniye)\",\"bRN5nm\":\"Yazılım\",\"wdxz7K\":\"Kaynak\",\"sywlQb\":\"Kaynak ve Kodlama\",\"l9wI00\":\"Hız\",\"vdhBFK\":\"Hız Ön Ayarı\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT çıkışı\",\"YqnAto\":\"SRT sunucusu\",\"k6hpqB\":\"SRT sunucu etkin değil\",\"SzqwHY\":\"SRT sunucusu dinleme adresi.\",\"KwbjpB\":\"Yayınlama ve oynatma için SRT belirteci. Belirteç, streamid parametresi 'token'ın değeridir.\",\"Aj28wT\":\"Eski zaman aşımı (saniye)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"İstatistikler\",\"BrrIs8\":\"Depolama\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Görüntüleyici istatistiklerini diske kaydeder.\",\"hou0tP\":\"Akış\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Akış anahtarı\",\"bqiH5R\":\"Akış Anahtarı\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Akış adı\",\"eXELiS\":\"Akış adları\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Yayın hizmeti için akış kaynağı (deneysel).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Akış URL'si\",\"+fVH0Y\":\"Destek datarhei Restreamer\",\"5HSoct\":\"HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT ve daha fazlasını destekler.\",\"D+NlUC\":\"Sistem\",\"jkuW2z\":\"Hedef adres\",\"/K2CvV\":\"Şablon\",\"2Ivkf/\":\"Yayın web sitesini oluşturmak için kullanılacak şablon. Sil düğmesi seçimi sistemden kaldırır.\",\"4Y5H+g\":\"Şartlar\",\"tRNH6x\":\"Test şablonu\",\"EtlVOt\":\"Test şablonu (genişletilmiş)\",\"wGPolR\":\"Metin renkleri\",\"m0TUJj\":\"Oluşturulan ses akışının genliği (0.0 - 1.0)\",\"8C6xwe\":\"Uygulama, ayarların eski bir sürümünü kullanıyor.\",\"VPQVR2\":\"Mevcut FFmpeg ikili dosyası gerekli protokollerin hiçbirini desteklemiyor.\",\"Gx9PPK\":\"Ses akışının bit hızı.\",\"T2kk3f\":\"Taşıyıcı frekansı\",\"JAOLK8\":[\"\\\"\",[\"0\"],\"\\\" kanalı silinemedi\"],\"jNaBhy\":[\"\\\"\",[\"0\"],\"\\\" kanalı silindi\"],\"SD8pYJ\":\"Bu kanalın silinmesi geri alınamaz. Bu kanalın tüm yayınları kaldırılacaktır.\",\"bnkV//\":\"Giriş profili tamamlanmadı. Lütfen bir video ve ses kaynağı tanımlayın.\",\"wCYjmB\":\"Giriş profili tam değil. Lütfen bir video ve/veya ses kaynağı tanımlayın.\",\"JMaqWu\":\"Ses akışının düzeni.\",\"0dqo+p\":\"Çalma listesi segmentlerinin maksimum sayısı. 0 tüm segmentleri içerecektir. 6 tavsiye edilir.\",\"BDgbiW\":\"Gürültü rengi\",\"SxGu7I\":\"Bir çalışmayı bu senetle ilişkilendiren kişi, yasaların izin verdiği ölçüde, tüm ilgili ve komşu haklar da dahil olmak üzere, telif hakkı yasası uyarınca dünya çapında çalışma üzerindeki tüm haklarından feragat ederek çalışmayı kamu malı haline getirmiştir. Çalışmayı, ticari amaçlarla bile olsa, izin almaksızın kopyalayabilir, değiştirebilir, dağıtabilir ve icra edebilirsiniz.\",\"XISvrq\":\"Bu Restreamer'ın üzerinde çalıştığı ana bilgisayarın genel erişilebilir alan adı. Birden fazla alan adını virgülle ayırın.\",\"yt3d3G\":[\"\\\"\",[\"0\"],\"\\\" yayın hizmeti silinemedi\"],\"zYcO/c\":[\"\\\"\",[\"0\"],\"\\\" yayın hizmeti oluşturuldu\"],\"AQE+oz\":[\"\\\"\",[\"0\"],\"\\\" yayın hizmeti silindi\"],\"qVLWvp\":\"Yayın hizmeti oluşturuldu\",\"njj2Wn\":\"RTMP çıktısı için RTMP Sunucusu gerekir.\",\"WRxiP8\":\"Ses akışının örnekleme hızı.\",\"/pZjRr\":\"Seçilen dosya çok büyük (<0/>). Yalnızca <1/>'e izin verilir.\",\"VBaSn9\":[\"Seçilen dosya türüne (\",[\"0\"],\") izin verilmiyor. İzin verilen dosya türleri şunlardır \",[\"1\"]],\"fM410X\":[\"\\\"\",[\"0\"],\"\\\" için ayarlar kaydedildi\"],\"02ii2e\":\"Kaynak herhangi bir ses akışı sağlamıyor.\",\"+2cAEU\":\"Kaynak herhangi bir ses akışı sağlamıyor. Lütfen <0>inceleme ayrıntılarını kontrol edin.\",\"pfqmY7\":\"Kaynak herhangi bir uyumlu ses akışı sağlamıyor.\",\"VO9KeK\":\"Kaynak herhangi bir uyumlu video akışı sağlamıyor. Lütfen <0>gereksinimleri kontrol edin.\",\"007foU\":\"Kaynak herhangi bir video akışı sağlamıyor. Lütfen <0>inceleme ayrıntılarını kontrol edin.\",\"lAsMdV\":\"Kaynak herhangi bir video akışı sağlamıyor. Lütfen cihazı kontrol edin.\",\"XlnvcR\":\"SRT çıktısı için SRT Sunucusu gerekir.\",\"w6uuIE\":\"Video kaynağı uyumlu bir ses akışı sağlamıyor. <0>Sessiz ses önerilir. YouTube, Facebook & Co. gibi hizmetler bir ses kanalı gerektirir.\",\"YJJ2RL\":\"Video kaynağı uyumludur. İstediğiniz çözünürlüğü seçin:\",\"wEiZHy\":\"Mevcut güncellemeler var. Buradan daha fazla bilgi alabilirsiniz.\",\"4p1MgS\":\"Ayarların kaydedilmesinde bir sorun oluştu. Ayarlar kaydedilmedi.\",\"YJhhwT\":[\"Restreamer Core'a \",[\"0\"],\" adresinden bağlanırken bir hata oluştu.\"],\"q42VsF\":[\"Yükleme sırasında bir hata oluştu: \",[\"0\"]],\"HM96PJ\":\"Akışın kurulumunda bir hata oluştu.\",\"LoDP+Y\":\"Ayarlarda bazı hatalar vardı. Ayarlar kaydedilmedi.\",\"l92ZKN\":\"Herhangi bir giriş yöntemi mevcut değildir.\",\"cPKuc8\":\"Bu, size hizmet kavramlarını açıklayan sahte bir hizmettir.\",\"Ku8nyu\":\"Bu mutlaka bir hata değildir. Ancak, Restreamer Core'un yeniden başlatılması biraz daha uzun sürebilir...\",\"vCRP3w\":\"Bu, bu hizmetin hedefi için telif hakkı düzenlemelerinden bahsetmektir.\",\"Hx7k3c\":\"Bu lisans, yeniden kullanıcıların materyali herhangi bir ortamda veya formatta yalnızca uyarlanmamış biçimde ve yalnızca yaratıcısına atıfta bulunulduğu sürece kopyalamasına ve dağıtmasına izin verir. Lisans ticari kullanıma izin verir.\",\"6OeMYB\":\"Bu lisans, yeniden kullanıcıların materyali herhangi bir ortamda veya formatta uyarlanmamış biçimde, yalnızca ticari olmayan amaçlarla ve yalnızca yaratıcısına atıfta bulunulduğu sürece kopyalamasına ve dağıtmasına izin verir.\",\"TUuhsB\":\"Bu lisans, yeniden kullanıcıların, yalnızca ticari olmayan amaçlarla ve yalnızca yaratıcıya atıfta bulunulduğu sürece, materyali herhangi bir ortamda veya formatta dağıtmasına, yeniden düzenlemesine, uyarlamasına ve üzerine inşa etmesine izin verir.\",\"kVtKRl\":\"Bu lisans, yeniden kullanıcıların materyali yalnızca ticari olmayan amaçlarla ve yalnızca oluşturucuya atıfta bulunulduğu sürece herhangi bir ortamda veya formatta dağıtmasına, yeniden düzenlemesine, uyarlamasına ve üzerine inşa etmesine izin verir. Materyali yeniden karıştırır, uyarlar veya üzerine inşa ederseniz, değiştirilmiş materyali aynı koşullar altında lisanslamanız gerekir.\",\"FpX5mp\":\"Bu lisans, yaratıcıya atıfta bulunulduğu sürece, yeniden kullanıcıların materyali herhangi bir ortam veya formatta dağıtmasına, remikslemesine, uyarlamasına ve üzerine inşa etmesine izin verir. Lisans ticari kullanıma izin verir.\",\"SDvwLd\":\"Bu lisans, yaratıcıya atıfta bulunulduğu sürece, yeniden kullanıcıların materyali herhangi bir ortam veya formatta dağıtmasına, remikslemesine, uyarlamasına ve üzerine inşa etmesine izin verir. Lisans ticari kullanıma izin verir. Materyali yeniden karıştırır, uyarlar veya üzerine inşa ederseniz, değiştirilmiş materyali aynı koşullar altında lisanslamanız gerekir.\",\"H144rX\":\"Bu profil bilinmiyor ya da FFmpeg tarafından desteklenmiyor.\",\"nlOxxw\":\"Bu kaynak kullanımdayken düzenlenemez. Devam etmek için kaynağın bağlantısını kesmeniz gerekir.\",\"mbSyrG\":[\"Kullanıcı arayüzünün bu sürümü mevcut FFmpeg ikili dosyasını (\",[\"0\"],\") desteklemiyor. Kullanıcı arayüzü \",[\"1\"],\" gerektirir. Lütfen desteklenen bir FFmpeg ikilisi kullanın.\"],\"N/tTgz\":[\"Kullanıcı Arayüzünün bu sürümü bağlı Çekirdeği (\",[\"0\"],\") desteklemez. Kullanıcı arayüzü \",[\"1\"],\" gerektirir. Lütfen kullanıcı arayüzünün uyumlu bir sürümünü kullanın.\"],\"2Vq5tr\":\"Kullanıcı arayüzünün bu sürümü uyumludur.\",\"QxX9Z5\":\"Eşik (saniye)\",\"sNmspt\":\"Karo Kolonlar\",\"sYGp2E\":\"Karo Sıraları\",\"wbOpwP\":\"Fayanslar\",\"H59P7E\":\"Etkin olmayan bir görüntüleyici bağlantısının kapalı olarak değerlendirilmesine kadar geçen süre.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Sistemi stabilize etmek için, ana kare aralığı için HLS segment uzunluğunu 2-3 * (İşleme ve Kontrol) kadar artırın.\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Üst alan\",\"7mjsuh\":\"Bir Canlı Yayını bir Telegram Kanalına aktarın.\",\"Gxlq7L\":\"Ana kaynağın anlık görüntülerini bir HTTP/S Sunucusuna iletir. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"SdyhUl\":\"Ana kaynağın ses kanalını bir Icecast Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"MayU3b\":\"Ana kaynağı HTTP-Live-Streaming (HLS) olarak bir HTTP/S Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"3K8kpL\":\"Ana kaynağı MPEG-DASH olarak bir HTTP/S Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"P/J230\":\"Ana kaynağı bir Brightcove Canlı Hizmetine aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"u0MhFy\":\"Ana kaynağı bir CDN77 RTMP Hizmetine iletin. Kurulum hakkında daha fazla bilgi <0>burada.\",\"zkgT7c\":\"Ana kaynağı bir DaCast RTMP Hizmetine iletin. Kurulum hakkında daha fazla bilgi <0>burada.\",\"in9xJz\":\"Ana kaynağı bir datarhei Core Ressource'a aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"PcgwEU\":\"Ana kaynağı bir livespotting.com Ressource'a aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"D7jwpf\":\"Ana kaynağı bir MPEG-TS Servisine iletin. Ayarlar hakkında daha fazla ayrıntı burada <0>burada bulunabilir.\",\"SpSgUV\":\"Ana kaynağı bir Red5/Pro Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"lIpqI/\":\"Ana kaynağı bir RTMP(e|s|t|te|ts) Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"pqR6nq\":\"Ana kaynağı bir RTSP Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"Q4dSnZ\":\"Ana kaynağı bir SRT Sunucusuna iletir. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"fx9S4p\":\"Ana kaynağı bir UDP Sunucusuna iletir. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"GLXY2N\":\"Ana kaynağı bir WOWZA Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"AsMKFi\":\"Ana kaynağı Akamai (MSL) Media Services Live'a iletin. MSL Kodlayıcı ayarları hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"FB364G\":\"Ana kaynağı Livepush RTMP Hizmetine iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"CC9yS5\":\"Ana kaynağı Nimo TV RTMP Hizmetine iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"fP8ZYg\":\"Ana kaynağı Picarto TV RTMP Servisine aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"D9A0LK\":\"Ana kaynağı Restream RTMP Hizmetine iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"YL800g\":\"Azure Media Services'a aktarın. Daha fazla ayrıntı <0>burada bulunabilir.\",\"Abgy4c\":\"LinkedIn'e aktarın. Daha fazla ayrıntı <0>burada bulunabilir.\",\"dhCZoS\":\"Canlı Akışınızı bir Dailymotion RTMP hizmetine aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"tQNclD\":\"Canlı Akışınızı bir Kick.com RTMP hizmetine aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"mQ0sjr\":\"Canlı Akışınızı bir Owncast sunucusuna aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"AqYRa3\":\"Canlı Akışınızı bir Rumble RTMP hizmetine aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Video akışınızı, Twitter Producer'da oluşturulan gerekli anahtarla iletir. Canlı yayın ayarlama hakkında daha fazla bilgiyi Twitter'ın <0>Producer adresinde bulabilirsiniz.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"UDP aktarımı\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Yapılandırma yüklenemiyor.\",\"MWrgON\":\"Hizmette benzersiz kimlik.\",\"Ef7StM\":\"Bilinmiyor\",\"wiIpKZ\":\"Bilinmeyen yükleme hatası\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Seçilmemiş\",\"j9zg7e\":\"Güncelleme ayrıntıları (Changelog)\",\"ONWvwQ\":\"Yükle\",\"OXItQT\":[\"Döngü yapmak için bir ses dosyası (\",[\"0\"],\") yükleyin.\"],\"75yxb7\":[\"Döngü oluşturmak için bir resim veya video dosyası (\",[\"0\"],\") yükleyin.\"],\"iAkPTY\":\"Dosya yüklemesi başarısız oldu\",\"Jmy6pK\":\"Logo yüklemesi başarısız oldu\",\"xl1xFp\":\"Posterin yüklenmesi başarısız oldu\",\"TjrbDj\":\"Çalışma Süresi\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Çalışan Restreamer Çekirdeğiniz için Auth0 kullanın. Daha fazla <0>detay.\",\"JX4TqK\":\"Hızlı ve kolay bir kurulum için sihirbazı (<0/>) kullanın veya kaynakları doğrudan özel modda düzenleyin (<1/>).\",\"YYTBz0\":\"Telif hakkınızı kullanın ve doğru görsel lisansını seçin. Herkes için ücretsiz veya oldukça kısıtlı olsun. Başkalarının resminizle ne yapmasına izin verildiğini kısaca tartışın.\",\"2UPEb1\":\"Telif hakkınızı kullanın ve doğru görsel lisansını seçin. İster herkes için ücretsiz ister oldukça kısıtlı olsun. Başkalarının görselinizle ne yapmasına izin verildiğini kısaca tartışın.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Kullanıcı kaydı\",\"7sNhEz\":\"Kullanıcı Adı\",\"Gv3pbp\":\"Yetkilendirme için kullanıcı adı.\",\"RQSvXZ\":\"Cihaz için kullanıcı adı.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M deneyseldir.\",\"PvM7Yi\":\"Değişken kare hızı (VFR)\",\"hpBTpL\":\"kadife\",\"uIAsxu\":\"Dikey Çevirme\",\"vSJd18\":\"Video\",\"auaWhL\":\"Video cihazı\",\"/skRGV\":\"Video ayarları\",\"EzOjvB\":\"Video kurulumu\",\"QcQXbU\":\"Video kaynağı\",\"M/TIv1\":\"Görüntüleyici\",\"L2hKw+\":\"menekşe\",\"hA6FFn\":\"Sanal kaynak\",\"/cF7Rs\":\"Ses Düzeyi \",\"/gnt8J\":\"VPU Kimliği\",\"wRy4hg\":\"32-bit işletim sistemine sahip Raspberry PI (3/4) için OpenMAX IL'yi öneriyoruz.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Hızlı ve kolay video yayınlama çözümü Restreamer v2'ye hoş geldiniz. Özel ve ticari kullanım için ücretsiz. Daha fazla yardım için <0>belgelere.\",\"hJfWkA\":\"Hangi hız ön ayarının kullanılacağı.\",\"6Pz2IF\":\"HLS çalma listesinin ve segmentlerin nerede saklanacağı. Bellek İçi önerilir.\",\"aWHAbR\":\"beyaz\",\"aFWU1n\":\"Genişlik\",\"e0wV2Y\":\"Koruma yazın\",\"l75CjT\":\"Evet\",\"WPUsOF\":\"Sihirbazı iptal edemezsiniz çünkü en az bir girdi tanımlanmış olmalıdır.\",\"qwY9F9\":\"Yapılandırmayı değiştirdiniz. Değişikliklerin etkili olması için uygulamayı yeniden başlatmanız gerekir. Şimdi yeniden başlatmak istiyor musunuz?\",\"nxq2ni\":\"Manuel olarak yeniden bağlanmanız gerekir\",\"RM3CEc\":\"Kaydedilmemiş değişiklikleriniz var. Hizmeti tekrar kontrol edebilmeniz için lütfen bunları kaydedin.\",\"/cg7qS\":\"Akışınızın kodlanması gerekiyor, ancak uygun bir kodlayıcı mevcut değil.\",\"BwrOm6\":\"Akışınızın kodlanması gerekir. İstediğiniz kodlayıcıyı seçin:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV test deseni\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Uyumluluk listesi\",\"TkRUk0\":\"<0>İnceleme ayrıntılarını göster\",\"tBy4Bb\":\"1. Hedef Restreamer'ın arayüzüne geçin.\",\"2JnpXL\":\"Yeni bir kanal oluştur ve RTMP ya da SRT seçeneklerinden birini seç\",\"YidyJl\":\"Adresi kopyala ve \\\"Hedef Adres\\\" alanına yapıştır. \",\"X1MZZp\":\"6 (+ bir Anahtar çerçeve ile başlama garantisi)\",\"JVJkxU\":\"7 (+ parçalanmış MP4 biçimi)\",\"ssjjFt\":\"Durdur\",\"uyJsf6\":\"Hakkında\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Ekle\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Yayın sitesine harici widget'lar ve stiller ekleyin. Yardım sayfasında bazı örnekler bulabilirsiniz.\",\"tsJWSj\":\"Yeni kanal ekle\",\"PLTLdv\":\"Yayın Ekle\",\"35l+l6\":[\"Ekle: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Adres\",\"8M7jVn\":\"Arka plan resmi için adres\",\"Vu9yiv\":\"HTTP istekleri için dinlenecek adres.\",\"AQDW5r\":\"HTTPS istekleri için dinlenecek adres.\",\"tPrmjP\":\"Adres:\",\"owt8Ow\":\"Yayın sitesi renklerini ve arka planını istediğiniz gibi ayarlayın.\",\"uNXGDK\":\"Gelişmiş izleme\",\"VNgKZz\":\"Gelişmiş ayarlar\",\"eiGNYb\":\"Gelişmiş kurulum\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"E-posta ile uyarı\",\"N40H+G\":\"Tümü\",\"Hw5q+W\":\"Tüm çerçeveler\",\"f2zxGk\":\"Tüm önemli sistem ayarları.\",\"lle3bd\":\"Tüm yönlendirenlere izin ver\",\"bgFbIB\":\"Akışın kaç izleyicisi olduğunu saymaya izin verin.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Genlik\",\"ngteek\":\"Bir ortam değişkeni bu değeri ayarlar.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"API uç noktası bulunamadı. Ayarlar kaydedilmedi.\",\"LMUw1U\":\"Uygulama\",\"IrC12v\":\"Uygulama\",\"xnCC/2\":\"Sihirbazı iptal etmek istediğinizden emin misiniz?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Ses\",\"n3RW8K\":\"Ses cihazı\",\"sYyYfE\":\"Ses aygıtı\",\"2he4Ra\":\"Cihazdan gelen ses\",\"MvY15a\":\"Ses ayarları\",\"NoLJ6g\":\"Ses kurulumu\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Bu arayüz güvensiz bir kaynaktan yüklendiği için Auth0 şu anda kullanılamıyor.\",\"aKsflb\":\"Auth0 Kiracı\",\"VbeIOx\":\"Yazar\",\"NJgJy9\":\"Yetkilendirme\",\"R9Khdg\":\"Otomatik\",\"6yEk/V\":\"Tüm medya verilerinin otomatik olarak temizlenmesi\",\"jT50Rz\":\"Otomatik Oynatma\",\"csDS2L\":\"Mevcut\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Geri\",\"1KfyNL\":\"Arka plan renkleri\",\"23c2Uw\":\"Arka plan görüntüsü\",\"r0bEmM\":\"Yedek sunucu\",\"JFjQhH\":\"Yedekleme akışı\",\"bkJ+QE\":\"Yedekleme URL'si\",\"OlXThP\":\"Bant Genişliği\",\"QYaaBO\":\"Bant genişliği kontrolü\",\"KSSL9f\":\"Banner\",\"0wJVK+\":\"Temel\",\"YR04fn\":\"Bip faktörü\",\"5bhON1\":\"Bit Hızı\",\"Os3B4i\":\"Blok önbellek türleri\",\"zOC7cT\":\"mavi\",\"359XuU\":\"Alt alan\",\"aC3kWW\":\"Canlı yayın sırasında izleyicilerin ne göreceğini kısaca açıklayın.\",\"SehDNd\":\"kahverengi\",\"Ptp9MF\":\"Düğme rengi\",\"Lp4WkO\":\"Yüksekliğe göre\",\"IeV/4P\":\"Genişliğe göre\",\"KxP5AO\":\"/data üzerindeki dosyalar için önbellek.\",\"qX8ffo\":\"Önbellek süresi (Saniye)\",\"4dRAku\":\"Önbellek türleri\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Tampon yakalama\",\"aL2+1d\":\"Tıklamaları yakalayın\",\"EOfLfP\":\"İmleci yakala\",\"ieS3Wc\":[\"Kanal \\\"\",[\"0\"],\"\\\" kaydedildi\"],\"lfFsZ4\":\"Kanallar\",\"WMCwmR\":\"Güncellemeleri kontrol edin\",\"vM6kpc\":\"Gereksinimleri kontrol edin\",\"Wzgqhl\":\"Bir video akışı seçin\",\"JpTR0/\":\"Bir ses akışı seçin\",\"BTNyrQ\":\"Bir giriş cihazı seçin ...\",\"f9QIui\":\"Bir giriş akışı seçin ...\",\"/Y6zrN\":\"CFR veya VFR arasında seçim yap (Otomatik)\",\"gObOjh\":\"Kodek seçin ...\",\"v7lrmU\":\"Kiracı seçin ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Chunk\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Kapat\",\"r8NEPc\":\"Kod enjeksiyonu\",\"BaUuhR\":\"Kodek\",\"jZlrte\":\"Renk\",\"sjVfrA\":\"Komuta\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Yapılandırma\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Şifreyi onayla\",\"iSLIjg\":\"Bağlan\",\"NL3Gev\":\"Bağlı cihaz\",\"ywAvGr\":\"<0/>'dan beri bağlı\",\"lNg25t\":\"Bağlanıyor ...\",\"y6+BXa\":\"Restreamer Çekirdeğine Bağlanma ...\",\"Td5lm6\":\"Restreamer Core'a bağlanmak muhtemelen karışık içerik nedeniyle başarısız oldu.\",\"awE5Py\":\"Sabit kare hızı (CFR)\",\"DT0Af/\":\"Sabit Quantizer Modu (-1 ila 255).\",\"4b3oEV\":\"İçerik\",\"U34RbB\":\"İçerik URL'si\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Çekirdekler\",\"FSbpS7\":\"CPU\",\"n8Ycrf\":\"CPU Sınırı (yüzde)\",\"uW5tVo\":\"CPU kullanım sınırı yüzde olarak (0-100%), sınırsız için 0.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Creative Commons\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Özel ...\",\"kH80Lk\":\"Özel ses cihazı\",\"fW1XQD\":\"Özel ses dizini\",\"bzREp0\":\"Özel bit hızı (kbit/s)\",\"w9oKek\":\"Özel kod enjeksiyonu\",\"jYaP01\":\"Özel gecikme\",\"2Gw+zZ\":\"Özel cihaz\",\"WCXGNp\":\"Özel format\",\"ZkpZ06\":\"Özel kare hızı\",\"1OXCgh\":\"datarhei Core için özel JSON yapılandırması.\",\"kl56NX\":\"Özel animasyon kare aralığı\",\"prIqWa\":\"Özel düzen\",\"HSB43e\":\"Özel örnekleme (Hz)\",\"Efe3BI\":\"Özel ölçek\",\"E/2KdS\":\"Özel boyut\",\"Se794B\":\"Özel video cihazı\",\"aqv915\":\"Özel video dizini\",\"v8OlX8\":\"Panoya kopyalanan veriler\",\"J/VBax\":\"Yayın kapalı rengi\",\"d2TTfK\":\"Desibel (dB)\",\"W034oz\":\"Kod Çözücü\",\"ovBPCi\":\"Varsayılan\",\"gFwPaj\":[\"Varsayılan \",[\"0\"]],\"JQnkrI\":[\"Varsayılan \",[\"0\"],\" (\",[\"1\"],\" saniye)\"],\"A7rne1\":\"Deinterlace (bwdif)\",\"yLth2B\":\"Deinterlace deint\",\"g3JmiG\":\"Deinterlace modu\",\"aro6lN\":\"Deinterlace paritesi\",\"YeWQto\":\"Gecikme\",\"qBC9g9\":\"Gecikme (ms)\",\"cnGeoo\":\"Sil\",\"ScK3zL\":\"Bir yayın hizmetinin silinmesi geri alınamaz. Yayın derhal durdurulur.\",\"cEx3oI\":\"Teslimat modu\",\"Nu4oKW\":\"Açıklama\",\"f8fH8W\":\"Tasarım\",\"PEHQTf\":\"Cihaz\",\"+K0AvT\":\"Bağlantıyı Kes\",\"miKA/E\":\"Bağlantıyı Kes ve Devam Et\",\"5/pMTZ\":\"Bağlantı kesiliyor ...\",\"sPFHpI\":\"Depolama Alanı\",\"qczNPP\":\"Disk önbelleği\",\"PUqOjv\":\"Disk kapasitesi\",\"uTwT/l\":\"Uygulamayı gerçekten şimdi yeniden başlatmak istiyor musunuz?\",\"FgxcNT\":[\"\\\"\",[\"0\"],\"\\\" silmek istiyor musunuz?\"],\"NogZqg\":[[\"title\"],\"'ı silmek istiyor musunuz?\"],\"0p+Mpn\":[\"\\\"\",[\"0\"],\"\\\" bağlantısını kesmek istiyor musunuz?\"],\"TbjyhA\":\"Dokümanlar\",\"TvY/XA\":\"Dokümantasyon\",\"jPtEhI\":\"Çoğaltılmış çerçeveler\",\"diaSRH\":\"Her bir alan\",\"u2SnNO\":\"Her çerçeve\",\"ePK91l\":\"Düzenle\",\"INCFjw\":\"Canlı akış için ses ve video kaynaklarını düzenleyin. Bir açıklama ekleyin ve istediğiniz içerik lisansını ayarlayın.\",\"+7Wr2a\":[\"Düzenleme: \",[\"title\"]],\"e3GLqI\":\"DÜZENLEME: Oynatıcı\",\"dTPDyf\":\"DÜZENLEME: Yayın Web Sitesi\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Eposta\",\"KKBlUU\":\"Siteye Ekle\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Etkinleştir\",\"No9svk\":\"Taşıyıcı frekansının bu değerle çarpımıyla her saniye de bir periyodik bip sesini etkinleştirin\",\"R7s0Th\":\"Yedek akışı etkinleştir\",\"xA5zBY\":\"İnek istatistiklerini etkinleştirin\",\"r0zP4o\":\"Şuan etkin\",\"JwR989\":\"Birincil akışı etkinleştirin\",\"blkDNw\":\"RTMP sunucusunu etkinleştir ...\",\"FgEhO4\":\"RTMPS aktarımını etkinleştir\",\"uGvvxq\":\"Anlık görüntüleri etkinleştirin\",\"IuL64N\":\"SRT sunucusunu etkinleştir ...\",\"NJsnxf\":\"Yetkilendirmenin etkinleştirilmesi şiddetle tavsiye edilir. Aksi takdirde, herkes bu örneğe erişebilir.\",\"xwS6bX\":\"Temel yetkilendirmenin etkinleştirilmesi şiddetle tavsiye edilir. Aksi takdirde, herhangi biri /memfs'e veri yazabilir.\",\"0zaXWu\":\"Kodlayıcı\",\"o0XA5y\":\"Kodlama\",\"q1srUM\":\"Şifreleme\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Yeni kanal için bir ad girin.\",\"f7sXvi\":\"Şifre girin\",\"5QCNrf\":\"Ağ kaynağınızın adresini girin:\",\"WLnvCZ\":\"Kullanıcı adı girin\",\"ijwVVM\":\"Entropi kodlayıcı\",\"SlfejT\":\"Hata\",\"sHoMKO\":\"Veriler panoya kopyalanırken hata oluştu\",\"TpqeIh\":[\"Hata: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Kanal listesinin (canlı sohbet) üzerindeki alanı genişletir.\",\"IBJg8n\":\"Kanal açıklamasının (yorum kutuları) altındaki alanı genişletir.\",\"XeunlQ\":\"Uzman modu\",\"qNpEXB\":\"EXT-X-VERSİYON\",\"/svCaE\":\"Kanal listesini genişletme\",\"tG09kC\":\"İçeriği genişletin\",\"bPWJOj\":\"Altbilgiyi genişlet\",\"SeaRa5\":\"Başlığı genişlet\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Yayın hizmeti oluşturulamadı (\",[\"0\"],\")\"],\"yT6MEY\":\"Yayın web sitesi dosyaları oluşturulamadı.\",\"FGdPhH\":\"Kaynak araştırması başarısız oldu. Lütfen <0>inceleme detaylarını kontrol edin.\",\"DvfYM2\":[\"Yenileme tokeni hatalı: \",[\"0\"]],\"J0Jclh\":\"Alma meta verileri kaydedilemedi\",\"RPXHsU\":\"İşlem durdurulamadı\",\"AhS7uc\":\"Oyuncu boyutu ayarı kaydedilemedi.\",\"PcJRf4\":[\"Yayın hizmeti depolanamadı (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Alma işlemi güncellenemedi (\",[\"0\"],\")\"],\"t1E1OU\":[\"Anlık görüntü alma işlemi güncellenemedi (\",[\"0\"],\")\"],\"bssUbs\":\"Oynatıcı güncellenemedi\",\"4SzVSX\":\"Oyuncu sitesi güncellenemedi\",\"H8gP5T\":\"Kaynak doğrulanamadı. Lütfen adresi kontrol edin.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Dosya yolu\",\"o7J4JM\":\"Filtre\",\"JmZ/+d\":\"Tamamla\",\"k4A6IZ\":\"Sabit boyut\",\"Xgkhyj\":\"Bayraklar\",\"+L0/av\":\"Javascripts için.\",\"VBU6dD\":\"Stil Sayfaları için.\",\"XDTTEp\":\"Giriş kare hızını zorla\",\"Y5YNoi\":\"Anahtar çerçevelerini zorla\",\"kI1qVD\":\"Biçim\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Çerçeve düşmeleri\",\"lPICcX\":\"Çerçeve geçirilir (Passthrough)\",\"T8wPu0\":\"Framebuffer\",\"Ou/g2q\":\"Çerçeve hızı\",\"RFrfTY\":\"Kare hızı dönüştürme (kare enterpolasyonu)\",\"xDfHbM\":\"Kare hızı modu\",\"4xNpe4\":\"Frekans (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Genel\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analiz Kimliği\",\"S/8Noo\":\"Google Analiz İzleyici Adı\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Donanım cihazı\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Başlık\",\"+670Zw\":\"Manşet\",\"PFFhCT\":\"Yükseklik\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS çıktısı\",\"oMxmoP\":\"HLS sunucu\",\"5/G5c1\":\"Bellek içi depolama için HLS istatistiği\",\"wXoUQx\":\"Yan çevir\",\"8iPCh6\":\"Barındırılan Restreamer arayüzü\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP ve HTTPS\",\"YmRLab\":\"HTTP bağlantı noktası\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS bağlantı noktası\",\"Ptrvx5\":\"Hizmette insan tarafından okunabilir ad.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Bağlantı noktalarını değiştirdiyseniz, Restreamer Core zaten yeniden başlatılmış olabilir, ancak şimdi farklı bir bağlantı noktasında kullanılabilir.\",\"OQONQS\":\"Let's Encrypt TLS'yi etkinleştirdiyseniz sertifikaların alınması biraz zaman alabilir. Restreamer Core'a internetten 80 numaralı bağlantı noktası üzerinden erişilebildiğinden emin olun. Lütfen Restreamer Core'un konsol günlüğünü kontrol edin.\",\"yWR5EY\":\"iframe kodu\",\"7ZKroD\":\"IP aralıklarını yoksay\",\"VyUuZb\":\"Resim URL'si\",\"5n8FKh\":\"Künye\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Oynatıcıya ek olarak Restreamer, canlı yayınınızı kolay ve hızlı bir şekilde sunmak için kullanabileceğiniz eksiksiz bir açılış sayfası sunar.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"Bellek içi\",\"EwM+sw\":\"Bellek içi depolama\",\"xmsVuq\":\"Uyumsuz\",\"exUN1j\":\"Miras\",\"CDdi1R\":\"Enjekte 1\",\"MJlrvd\":\"Enjekte 2\",\"MppU96\":\"Enjekte 3\",\"zBVRQb\":\"Enjekte 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Girdi akışı\",\"jnyWFc\":\"Örnek etki alanı\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Aralık (saniye)\",\"C4WaV1\":\"Sorun uyarısı\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"Anahtar kare aralığı (saniye)\",\"rdU729\":\"Düzen\",\"Cpw3fU\":\"Let's Encrypt sertifikası\",\"LgUs17\":\"Let's Encrypt bir veya daha fazla genel alan adı ve erişilebilir bir port 80/TCP gerektirir.\",\"oCHfGC\":\"Seviye\",\"eyLS1J\":\"Sistem protokolü seviyesi.\",\"iQmbPb\":\"Lisans\",\"mQImez\":\"Yaşam rengi\",\"6BDqha\":\"Sınırlar\",\"1pbzRr\":\"Çizgi rengi\",\"Ce6Hrg\":\"Çizgiler\",\"yzF66j\":\"Bağlantı\",\"NBxw5Y\":\"Bağlantı, fareyle üzerine gelme\",\"xCrpEt\":\"Önbelleğe kaydedilmesi istenmeyen dosya uzantılarını her biri birer satırda listeleyin.\",\"m2l8c3\":\"Önbelleğe alınacak dosya uzantılarının listesi (örn. \\\".html\\\"), her satır için bir tane. Tüm dosya türlerini önbelleğe almak için boş bırakın.\",\"QYw6tl\":\"İstatistiklerin kaydetmeyeceği CIDR gösterimindeki IP aralıklarının listesi, örneğin 127.0.0.1/32, her satır için bir IP aralığı. Tüm oturumları kaydetmek için boş bırakın.\",\"ELFO4F\":\"Liste boyutu (segmentler)\",\"D0Nwch\":\"dlive Canlı RTMP Hizmetine Canlı Akış.\",\"n2VKys\":\"Facebook Live RTMP hizmetine Canlı Yayın\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Medya Ağı RTMP Hizmetine Canlı Akış.\",\"w9zSAv\":\"PeerTube v3+ RTMP/S Hizmetine Canlı Yayın.\",\"SZ9Q++\":\"Trovo Live RTMP Hizmetine Canlı Akış.\",\"JJGagy\":\"Twitch Canlı RTMP Hizmetine Canlı Yayın.\",\"4TnPVp\":\"Vimeo Live RTMP Hizmetine Canlı Akış\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Canlı Kaynak Kimliği\",\"0aIqC4\":\"Günlük seviyesi\",\"x7PDL5\":\"Günlük kaydı\",\"z0t9bb\":\"Giriş yap\",\"+fL+Rj\":[\"Giriş başarısız oldu: \",[\"0\"]],\"4cd7gw\":\"Giriş başarısız oldu: API ayrıntıları yüklenemedi\",\"sNqu7k\":\"Giriş/JWT yetkilendirmesi\",\"iG7KNr\":\"Logo\",\"nOhz3x\":\"Oturum Kapatma\",\"DYX2fZ\":\"Döngü\",\"SzaPTL\":\"Ses Yüksekliği Normalizasyonu\",\"QGvS9k\":\"Düşük gecikme süresi (Tampon)\",\"GaV7al\":\"Ana kanal\",\"Wsn0Uw\":\"Ana kanal bulunamadı\",\"tROIde\":\"Ana kanal kaydedildi\",\"nLVSux\":\"Ana sayfa kanalı (index.html).\",\"rd3Pv7\":\"Ana Kaynak\",\"f4txA1\":\"Geliştirici:\",\"3iTz2L\":\"Kanalı bir RTMP akışı olarak kullanılabilir hale getirin (deneysel).\",\"mMiku6\":\"Kanalı bir SRT akışı olarak kullanılabilir hale getirin (deneysel).\",\"6dZ9NS\":\"İşaretli çerçeveler\",\"iuA3xD\":\"Ana oynatma listesi (tarayıcı/istemci uyumluluğunu artırır)\",\"WBpxnA\":\"İzin verilen maksimum önbellek boyutu, sınırsız için 0.\",\"NzaPGT\":\"Memfs için izin verilen maksimum megabayt RAM, sınırsız için 0.\",\"aaso5s\":\"Sabit diskten tüketilmesine izin verilen maksimum megabayt. Sınırsız için 0.\",\"4hp5D2\":\"Maksimum bant genişliği Mbit/s\",\"L+uBOR\":\"Milisaniye cinsinden maksimum gecikme.\",\"hkoCqq\":\"Maksimum dosya boyutu (Megabayt)\",\"i96JfZ\":\"Önbelleğe koymak için maksimum dosya boyutu.\",\"Q9HspI\":\"Maksimum günlük geçmişi\",\"bS9ZHz\":\"Maksimum günlük satırları\",\"6sayfE\":\"Maksimum boyut (Megabayt)\",\"09BWQO\":\"Maksimum izleyici boşta kalma süresi (Saniye)\",\"hW0DV1\":\"Maksimum izleyici\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"Bellek\",\"KReOHe\":\"Bellek Sınırı (megabayt)\",\"fViWSz\":\"Megabayt cinsinden bellek kullanım sınırı, sınırsız için 0.\",\"emJ6M7\":\"Meta bilgisi\",\"6GBt0m\":\"Metadata\",\"SCcIsq\":[\"Mininum \",[\"0\"],\", varsayılan \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Kalıp\",\"QA/rur\":\"Lisanslar hakkında daha fazla bilgi için\",\"fyGu1l\":\"Hizmet hakkında daha fazla bilgi\",\"yBsv2n\":\"Twitter'ın telif hakkı hakkında daha fazla bilgi <0>burada.\",\"ZpfAc9\":\"YouTube'un telif hakkı hakkında daha fazla bilgi <0>burada.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Önbellekteki maksimum dosya boyutundan daha büyük olmalıdır.\",\"gC9RIS\":\"Maksimum önbellek boyutundan daha küçük olmalıdır.\",\"R7SsBE\":\"Sessiz\",\"K0rCAk\":\"Bir kanalın sesini kapatın.\",\"Jv/kid\":\"Sessiz sol\",\"FsCP6P\":\"Sessiz sağ\",\"6YtxFj\":\"Adı\",\"0ZkQqR\":\"Şablon için ad. İsim zaten mevcutsa, üzerine yazılacaktır.\",\"OR475H\":\"Ağ\",\"KZDcDr\":\"Ağ kaynağı\",\"hXzOVo\":\"Sonraki\",\"JZrXI6\":\"Sonraki: Ses\",\"kZFy+Q\":\"Sonraki: Video kurulumu\",\"1UzENP\":\"Hayır\",\"p6Fxed\":\"Ses yok\",\"bIDO3H\":\"Ses akışı mevcut değil\",\"nn9C5B\":\"Giriş cihazı mevcut değil\",\"dEwhMr\":\"Canlı yayın algılanmadı. Lütfen akışı gönderen yazılımı kontrol edin.\",\"1FJdZA\":\"Kaynak seçilmedi\",\"3TfuWb\":\"Kaynak mevcut değil\",\"fiXA/y\":\"Uygun kodlayıcı bulunamadı.\",\"acY4BT\":\"Uygun filtre bulunamadı.\",\"/02FxK\":\"Video yok\",\"AVWnC9\":\"Video akışı yok\",\"wZ7CK3\":\"Düğüm Kimliği\",\"9J5l/O\":\"Gürültü\",\"EdQY6l\":\"Hiçbiri\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Notlar\",\"/a9y2d\":\"Tutulacak günlük satırı sayısı.\",\"ZD0urA\":\"Her işlem için tutulacak günlük sayısı.\",\"Aia5w3\":\"Limitlerin aşılmasına izin verilen saniye sayısı.\",\"1lZb7D\":\"Kodlanacak karo sütunlarının sayısı.\",\"InpHMl\":\"Kodlanan karo sayısı.\",\"wnRD5D\":\"Kodlanacak karo satır sayısı.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"TAMAM\",\"+Xj01r\":\"Satır başına bir yönlendirici, örneğin http://www.example.com\",\"1TNIig\":\"Açık\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Çıkış tamponu\",\"vjgq8y\":\"Pan\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Parola\",\"Y+p0Tt\":\"SRT şifrelemesi için parola.\",\"fpQo1i\":\"Parola 10 ila 79 karakter uzunluğunda olmalıdır\",\"3GZXaB\":\"Passthrough (kopyalama) yalnızca gerekli olduğunda devre dışı bırakılmalıdır. Her kodlama ek CPU/GPU kaynakları gerektirir.\",\"8ZsakT\":\"Şifre\",\"b+AuuK\":\"Yetkilendirme için şifre.\",\"oREnCY\":\"Cihaz için şifre.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"İzleyici istatistiklerini sürdür\",\"ANX1b0\":\"pembe\",\"c8aBfM\":\"Piksel biçimi\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"Plan: <0>Başlangıç\",\"Ejic1p\":\"Platformlar\",\"gtQk6c\":\"Oynatma\",\"vRayGs\":\"Oyuncu\",\"tWB9Gz\":\"Oynatıcı ayarları kaydedildi\",\"GIxxiU\":\"Oyuncu URL'si\",\"PUmLMn\":\"Oynatıcı Sitesi\",\"LKPR6G\":\"Çalma Listesi\",\"luDqS5\":\"Oynatma listesi sürümü (M3U8). Sürüm 3 en iyi tarayıcı/istemci uyumluluğuna sahiptir.\",\"84gH7g\":\"Lütfen <0>process log kontrol edin\",\"OMpKNS\":\"Lütfen servis operatörüyle iletişime geçin ve ne olduğunu kontrol edin.\",\"4lATxE\":\"Let's Encrypt CA'nın hizmet koşullarını kabul ettiğinizi belirtmek ve sorun olması durumunda bilgilendirilmek için lütfen e-posta adresinizi girin.\",\"bdMiXb\":\"Lütfen hizmetin operatörü ile iletişime geçin ve neler olduğunu kontrol edin.\",\"wPZBpR\":\"Lütfen yüklemek için bir dosya seçin.\",\"YcGRmx\":\"Lütfen mümkünse \\\"Passthrough (kopya)\\\" kullanın. Kodlama ek CPU/GPU kaynakları gerektirir.\",\"06qnxB\":\"Lütfen bekleyin. Prob akışı verileri ...\",\"FTIPkL\":\"Lütfen bekleyin. Akış kurulumu ...\",\"hZ6znB\":\"Port\",\"p/78dY\":\"Konum\",\"d62Stt\":\"Poster\",\"PNap/Y\":\"Poster resmi URL'si\",\"6o2Onc\":\"Ön ayar\",\"lxxyq5\":\"Birincil akış\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Prob\",\"1B9XX0\":\"İşlem\",\"DL/nrw\":\"Süreç kontrolü\",\"fzYV2N\":\"Süreç ayrıntıları\",\"zNVLia\":\"Süreç raporu\",\"PwMwvX\":\"İşleme ve Kontrol\",\"vERlcd\":\"Profil\",\"6+OdGi\":\"Protokol\",\"hEksWI\":\"Protokoller\",\"aLZh9m\":\"Kamu malı/ları\",\"7lbVwY\":\"Yayın hizmeti bulunamadı\",\"ia1vIb\":\"Yayın web sitesi ayarları kaydedildi\",\"XHw75Y\":\"Yayınlar\",\"dsOSCf\":\"Çekme Modu\",\"lQQ/zA\":\"Verileri çekin veya alın:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Kalite\",\"i9d+3B\":\"Raspberry Pi kamera\",\"tbXj/A\":\"Oran kontrolü\",\"iaocTt\":\"Oran\",\"WnSPyE\":\"rav1e Parametreler\",\"6PpdQP\":\"Girdiyi yerel hızda okuyun\",\"bqsSkO\":\"Alma Modu\",\"gcoiFh\":\"Yeniden Bağlan\",\"lakzvL\":\"Yeniden bağlanma gecikmesi (saniye)\",\"HC1Dci\":[[\"0\"],\" sn içinde yeniden bağlanıyor\"],\"uSDaLA\":[\"Restreamer Core'a yeniden bağlanma son \",[\"RETRIES\"],\" saniye için başarısız oldu.\"],\"N7ojfh\":\"Restreamer Core'a yeniden bağlanma başarısız oldu.\",\"lCF0wC\":\"Yenile\",\"uJ+Ve2\":\"Bölge\",\"CNipTv\":\"Kullanıcı oluştur\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Yeniden Yükle\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"/memfs doluysa en eski girdileri kaldırın\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Aktivasyon gerektirir\",\"XMbkus\":\"Logoyu sil\",\"36SXzE\":\"Posteri sıfırla\",\"6z9W13\":\"Yeniden Başlat\",\"dKwnjv\":\"Yeniden başlatma gerekli\",\"0Er6+M\":\"Yeniden Başlatma\",\"X1sT1j\":\"Restreamer Çekirdeği Yeniden Başlatılıyor ...\",\"o5q6jb\":\"Uygulama yeniden başlatılamadı.\",\"x8cAsq\":\"Restreamer talimatları\",\"24fLVm\":\"Restreamer Hizmeti\",\"LCGjV4\":\"Akış verileri alınıyor...\",\"6gRgw8\":\"Yeniden dene\",\"Qe1vaN\":\"RGB test deseni\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Döndür\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Yayınlamak için RTMP uygulaması.\",\"7ggERB\":\"RTMP çıkışı\",\"V82lE+\":\"RTMP Bağlantı Noktası\",\"itARjB\":\"RTMP sunucusu\",\"WWZqzz\":\"RTMP sunucusu etkin değil\",\"HhOPCL\":\"RTMP sunucusu dinleme adresi.\",\"DbHOhO\":\"Yayınlama ve oynatma için RTMP belirteci. Belirteç, URL sorgu parametresi 'token'ın değeridir.\",\"OAZeFE\":\"RTMPS Bağlantı Noktası\",\"Wt/wFL\":\"RTMPS sunucusu\",\"xwonDv\":\"RTMPS sunucusu dinleme adresi.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Kural\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Örnek\",\"tfDRzk\":\"Kaydet\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Ölçekle\",\"6aaceW\":\"Ölçek boyutu\",\"xbb037\":\"Dosyaları önbellekte tutmak için saniye.\",\"geM4Wc\":\"Bir işlem yeniden başlatılana kadar geçen saniye.\",\"iF7dnC\":\"Kararlı bir işlem sonlandırılıncaya kadar geçen saniye.\",\"mydmGn\":\"Video kaynağının anlık görüntüsü/küçük resmi güncellenene kadar geçen saniye.\",\"a3LDKx\":\"Güvenlik\",\"Gkr6zI\":\"Güvenlik belirteci\",\"/Ocrtf\":\"Seekbar rengi\",\"4lDlYf\":\"Bölüm uzunluğu (saniye)\",\"XfNrg+\":\"Segment, bu süre geçtikten sonra bir sonraki ana karede kesilecektir. 2 tavsiye edilir.\",\"jHCoDy\":\"Parçalara ayrılma\",\"htbsw4\":\"Bir cihaz seçin:\",\"O+ruJ3\":\"Ses kaynağını seçin:\",\"6MTTpq\":\"Daha az gecikme için RTMP veya SRT'yi (etkinleştirilmişse) seçin.\",\"E7haRr\":\"Kaynak seçin...\",\"PlZ1aw\":\"Video kaynağını seçin:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Kodlama ayarınızı seçin:\",\"aT3o8A\":\"Filtre ayarlarınızı seçin (isteğe bağlı):\",\"ylXj1N\":\"Seçilmiş\",\"kYpw4+\":\"Seçilen kanal\",\"p7/fS2\":\"Seçim\",\"SOePwi\":\"Anonim ölçümler gönderin (gelecekteki gelişim için bize yardımcı olur)\",\"kOhBl+\":\"Akışı adrese gönder ...\",\"E1X5xY\":\"Bu adrese akış gönderin:\",\"d/IMf3\":\"Videoyu Framebuffer'a gönder\",\"sGH11W\":\"Sunucu\",\"9rG25a\":\"Sunucu adresi\",\"T3bXxK\":\"Hizmet\",\"KPPdUO\":\"Hizmet adı\",\"DOrSw/\":\"İzleme için hizmet belirteci.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Oturumlar\",\"xwK3ty\":\"Anahtar=değer parametrelerinin :-ayrılmış bir listesini kullanarak rav1e yapılandırmasını ayarlayın.\",\"FIIk8R\":\"Giden HLS veri aktarımı için saniyede Mbit cinsinden bir bant genişliği sınırı belirler. RTMP ve giden işlemler gibi tüm hizmetler hesaplamaya dahil edilir. Bant genişliği aşılırsa, HLS izleyicileri HTTP durum kodu 509 (Bant Genişliği Sınırı Aşıldı) alır. 0 sınırsızdır.\",\"cOG/FK\":\"HLS oturumları için bir görüntüleyici sınırı belirler. Sınır aşılırsa, HLS izleyicileri HTTP durum kodu 509 (Bant Genişliği Sınırı Aşıldı) alır. 0 sınırsızdır.\",\"mcJFKm\":\"Hizmete bağlantı için ayar.\",\"Tz0i8g\":\"Ayarlar\",\"IiOZ6R\":\"Ayarlar (uzman modu)\",\"t64OSP\":\"Veri yolu için ayarlar. Erişim şu şekilde korunur\",\"Ytdvyh\":\"Memfs yolu için ayarlar.\",\"1w3lYe\":\"Ayarlar kaydedildi. Tüm değişiklikler uygulama yeniden başlatıldıktan sonra uygulanacaktır.\",\"XUw3i9\":\"Paylaş düğmesi\",\"oD0Oes\":\"Projeye bir referans gösterir.\",\"+vv4q2\":\"Kaydolun (ücretsiz)\",\"JXVFAm\":\"Sessizlik\",\"VSK9FJ\":\"Sesi Sustur\",\"L8Jb2l\":\"Sinüs\",\"MxZN16\":\"Site adı\",\"Cj2Gtd\":\"Boyut\",\"yTZe+y\":\"Anlık görüntü\",\"pSUgnY\":\"Sosyal giriş (OAuth2, 2FA)\",\"qe9jaI\":\"Soket zaman aşımı (mikrosaniye)\",\"bRN5nm\":\"Yazılım\",\"wdxz7K\":\"Kaynak\",\"sywlQb\":\"Kaynak ve Kodlama\",\"l9wI00\":\"Hız\",\"vdhBFK\":\"Hız Ön Ayarı\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT çıkışı\",\"YqnAto\":\"SRT sunucusu\",\"k6hpqB\":\"SRT sunucu etkin değil\",\"SzqwHY\":\"SRT sunucusu dinleme adresi.\",\"KwbjpB\":\"Yayınlama ve oynatma için SRT belirteci. Belirteç, streamid parametresi 'token'ın değeridir.\",\"Aj28wT\":\"Eski zaman aşımı (saniye)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"İstatistikler\",\"BrrIs8\":\"Depolama\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Görüntüleyici istatistiklerini diske kaydeder.\",\"hou0tP\":\"Akış\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Akış anahtarı\",\"bqiH5R\":\"Akış Anahtarı\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Akış adı\",\"eXELiS\":\"Akış adları\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Yayın hizmeti için akış kaynağı (deneysel).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"Akış URL'si\",\"+fVH0Y\":\"Destek datarhei Restreamer\",\"5HSoct\":\"HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT ve daha fazlasını destekler.\",\"D+NlUC\":\"Sistem\",\"jkuW2z\":\"Hedef adres\",\"/K2CvV\":\"Şablon\",\"2Ivkf/\":\"Yayın web sitesini oluşturmak için kullanılacak şablon. Sil düğmesi seçimi sistemden kaldırır.\",\"4Y5H+g\":\"Şartlar\",\"tRNH6x\":\"Test şablonu\",\"EtlVOt\":\"Test şablonu (genişletilmiş)\",\"wGPolR\":\"Metin renkleri\",\"m0TUJj\":\"Oluşturulan ses akışının genliği (0.0 - 1.0)\",\"8C6xwe\":\"Uygulama, ayarların eski bir sürümünü kullanıyor.\",\"VPQVR2\":\"Mevcut FFmpeg ikili dosyası gerekli protokollerin hiçbirini desteklemiyor.\",\"Gx9PPK\":\"Ses akışının bit hızı.\",\"T2kk3f\":\"Taşıyıcı frekansı\",\"JAOLK8\":[\"\\\"\",[\"0\"],\"\\\" kanalı silinemedi\"],\"jNaBhy\":[\"\\\"\",[\"0\"],\"\\\" kanalı silindi\"],\"SD8pYJ\":\"Bu kanalın silinmesi geri alınamaz. Bu kanalın tüm yayınları kaldırılacaktır.\",\"bnkV//\":\"Giriş profili tamamlanmadı. Lütfen bir video ve ses kaynağı tanımlayın.\",\"wCYjmB\":\"Giriş profili tam değil. Lütfen bir video ve/veya ses kaynağı tanımlayın.\",\"JMaqWu\":\"Ses akışının düzeni.\",\"0dqo+p\":\"Çalma listesi segmentlerinin maksimum sayısı. 0 tüm segmentleri içerecektir. 6 tavsiye edilir.\",\"BDgbiW\":\"Gürültü rengi\",\"SxGu7I\":\"Bir çalışmayı bu senetle ilişkilendiren kişi, yasaların izin verdiği ölçüde, tüm ilgili ve komşu haklar da dahil olmak üzere, telif hakkı yasası uyarınca dünya çapında çalışma üzerindeki tüm haklarından feragat ederek çalışmayı kamu malı haline getirmiştir. Çalışmayı, ticari amaçlarla bile olsa, izin almaksızın kopyalayabilir, değiştirebilir, dağıtabilir ve icra edebilirsiniz.\",\"XISvrq\":\"Bu Restreamer'ın üzerinde çalıştığı ana bilgisayarın genel erişilebilir alan adı. Birden fazla alan adını virgülle ayırın.\",\"yt3d3G\":[\"\\\"\",[\"0\"],\"\\\" yayın hizmeti silinemedi\"],\"zYcO/c\":[\"\\\"\",[\"0\"],\"\\\" yayın hizmeti oluşturuldu\"],\"AQE+oz\":[\"\\\"\",[\"0\"],\"\\\" yayın hizmeti silindi\"],\"qVLWvp\":\"Yayın hizmeti oluşturuldu\",\"njj2Wn\":\"RTMP çıktısı için RTMP Sunucusu gerekir.\",\"WRxiP8\":\"Ses akışının örnekleme hızı.\",\"/pZjRr\":\"Seçilen dosya çok büyük (<0/>). Yalnızca <1/>'e izin verilir.\",\"VBaSn9\":[\"Seçilen dosya türüne (\",[\"0\"],\") izin verilmiyor. İzin verilen dosya türleri şunlardır \",[\"1\"]],\"fM410X\":[\"\\\"\",[\"0\"],\"\\\" için ayarlar kaydedildi\"],\"02ii2e\":\"Kaynak herhangi bir ses akışı sağlamıyor.\",\"+2cAEU\":\"Kaynak herhangi bir ses akışı sağlamıyor. Lütfen <0>inceleme ayrıntılarını kontrol edin.\",\"pfqmY7\":\"Kaynak herhangi bir uyumlu ses akışı sağlamıyor.\",\"VO9KeK\":\"Kaynak herhangi bir uyumlu video akışı sağlamıyor. Lütfen <0>gereksinimleri kontrol edin.\",\"007foU\":\"Kaynak herhangi bir video akışı sağlamıyor. Lütfen <0>inceleme ayrıntılarını kontrol edin.\",\"lAsMdV\":\"Kaynak herhangi bir video akışı sağlamıyor. Lütfen cihazı kontrol edin.\",\"XlnvcR\":\"SRT çıktısı için SRT Sunucusu gerekir.\",\"w6uuIE\":\"Video kaynağı uyumlu bir ses akışı sağlamıyor. <0>Sessiz ses önerilir. YouTube, Facebook & Co. gibi hizmetler bir ses kanalı gerektirir.\",\"YJJ2RL\":\"Video kaynağı uyumludur. İstediğiniz çözünürlüğü seçin:\",\"wEiZHy\":\"Mevcut güncellemeler var. Buradan daha fazla bilgi alabilirsiniz.\",\"4p1MgS\":\"Ayarların kaydedilmesinde bir sorun oluştu. Ayarlar kaydedilmedi.\",\"YJhhwT\":[\"Restreamer Core'a \",[\"0\"],\" adresinden bağlanırken bir hata oluştu.\"],\"q42VsF\":[\"Yükleme sırasında bir hata oluştu: \",[\"0\"]],\"HM96PJ\":\"Akışın kurulumunda bir hata oluştu.\",\"LoDP+Y\":\"Ayarlarda bazı hatalar vardı. Ayarlar kaydedilmedi.\",\"l92ZKN\":\"Herhangi bir giriş yöntemi mevcut değildir.\",\"cPKuc8\":\"Bu, size hizmet kavramlarını açıklayan sahte bir hizmettir.\",\"Ku8nyu\":\"Bu mutlaka bir hata değildir. Ancak, Restreamer Core'un yeniden başlatılması biraz daha uzun sürebilir...\",\"vCRP3w\":\"Bu, bu hizmetin hedefi için telif hakkı düzenlemelerinden bahsetmektir.\",\"Hx7k3c\":\"Bu lisans, yeniden kullanıcıların materyali herhangi bir ortamda veya formatta yalnızca uyarlanmamış biçimde ve yalnızca yaratıcısına atıfta bulunulduğu sürece kopyalamasına ve dağıtmasına izin verir. Lisans ticari kullanıma izin verir.\",\"6OeMYB\":\"Bu lisans, yeniden kullanıcıların materyali herhangi bir ortamda veya formatta uyarlanmamış biçimde, yalnızca ticari olmayan amaçlarla ve yalnızca yaratıcısına atıfta bulunulduğu sürece kopyalamasına ve dağıtmasına izin verir.\",\"TUuhsB\":\"Bu lisans, yeniden kullanıcıların, yalnızca ticari olmayan amaçlarla ve yalnızca yaratıcıya atıfta bulunulduğu sürece, materyali herhangi bir ortamda veya formatta dağıtmasına, yeniden düzenlemesine, uyarlamasına ve üzerine inşa etmesine izin verir.\",\"kVtKRl\":\"Bu lisans, yeniden kullanıcıların materyali yalnızca ticari olmayan amaçlarla ve yalnızca oluşturucuya atıfta bulunulduğu sürece herhangi bir ortamda veya formatta dağıtmasına, yeniden düzenlemesine, uyarlamasına ve üzerine inşa etmesine izin verir. Materyali yeniden karıştırır, uyarlar veya üzerine inşa ederseniz, değiştirilmiş materyali aynı koşullar altında lisanslamanız gerekir.\",\"FpX5mp\":\"Bu lisans, yaratıcıya atıfta bulunulduğu sürece, yeniden kullanıcıların materyali herhangi bir ortam veya formatta dağıtmasına, remikslemesine, uyarlamasına ve üzerine inşa etmesine izin verir. Lisans ticari kullanıma izin verir.\",\"SDvwLd\":\"Bu lisans, yaratıcıya atıfta bulunulduğu sürece, yeniden kullanıcıların materyali herhangi bir ortam veya formatta dağıtmasına, remikslemesine, uyarlamasına ve üzerine inşa etmesine izin verir. Lisans ticari kullanıma izin verir. Materyali yeniden karıştırır, uyarlar veya üzerine inşa ederseniz, değiştirilmiş materyali aynı koşullar altında lisanslamanız gerekir.\",\"H144rX\":\"Bu profil bilinmiyor ya da FFmpeg tarafından desteklenmiyor.\",\"nlOxxw\":\"Bu kaynak kullanımdayken düzenlenemez. Devam etmek için kaynağın bağlantısını kesmeniz gerekir.\",\"mbSyrG\":[\"Kullanıcı arayüzünün bu sürümü mevcut FFmpeg ikili dosyasını (\",[\"0\"],\") desteklemiyor. Kullanıcı arayüzü \",[\"1\"],\" gerektirir. Lütfen desteklenen bir FFmpeg ikilisi kullanın.\"],\"N/tTgz\":[\"Kullanıcı Arayüzünün bu sürümü bağlı Çekirdeği (\",[\"0\"],\") desteklemez. Kullanıcı arayüzü \",[\"1\"],\" gerektirir. Lütfen kullanıcı arayüzünün uyumlu bir sürümünü kullanın.\"],\"2Vq5tr\":\"Kullanıcı arayüzünün bu sürümü uyumludur.\",\"QxX9Z5\":\"Eşik (saniye)\",\"sNmspt\":\"Karo Kolonlar\",\"sYGp2E\":\"Karo Sıraları\",\"wbOpwP\":\"Fayanslar\",\"H59P7E\":\"Etkin olmayan bir görüntüleyici bağlantısının kapalı olarak değerlendirilmesine kadar geçen süre.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Sistemi stabilize etmek için, ana kare aralığı için HLS segment uzunluğunu 2-3 * (İşleme ve Kontrol) kadar artırın.\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"Üst alan\",\"7mjsuh\":\"Bir Canlı Yayını bir Telegram Kanalına aktarın.\",\"Gxlq7L\":\"Ana kaynağın anlık görüntülerini bir HTTP/S Sunucusuna iletir. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"SdyhUl\":\"Ana kaynağın ses kanalını bir Icecast Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"MayU3b\":\"Ana kaynağı HTTP-Live-Streaming (HLS) olarak bir HTTP/S Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"3K8kpL\":\"Ana kaynağı MPEG-DASH olarak bir HTTP/S Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"P/J230\":\"Ana kaynağı bir Brightcove Canlı Hizmetine aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"u0MhFy\":\"Ana kaynağı bir CDN77 RTMP Hizmetine iletin. Kurulum hakkında daha fazla bilgi <0>burada.\",\"zkgT7c\":\"Ana kaynağı bir DaCast RTMP Hizmetine iletin. Kurulum hakkında daha fazla bilgi <0>burada.\",\"in9xJz\":\"Ana kaynağı bir datarhei Core Ressource'a aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"PcgwEU\":\"Ana kaynağı bir livespotting.com Ressource'a aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"D7jwpf\":\"Ana kaynağı bir MPEG-TS Servisine iletin. Ayarlar hakkında daha fazla ayrıntı burada <0>burada bulunabilir.\",\"SpSgUV\":\"Ana kaynağı bir Red5/Pro Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"lIpqI/\":\"Ana kaynağı bir RTMP(e|s|t|te|ts) Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"pqR6nq\":\"Ana kaynağı bir RTSP Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"Q4dSnZ\":\"Ana kaynağı bir SRT Sunucusuna iletir. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"fx9S4p\":\"Ana kaynağı bir UDP Sunucusuna iletir. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"GLXY2N\":\"Ana kaynağı bir WOWZA Sunucusuna iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"AsMKFi\":\"Ana kaynağı Akamai (MSL) Media Services Live'a iletin. MSL Kodlayıcı ayarları hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"FB364G\":\"Ana kaynağı Livepush RTMP Hizmetine iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"CC9yS5\":\"Ana kaynağı Nimo TV RTMP Hizmetine iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"fP8ZYg\":\"Ana kaynağı Picarto TV RTMP Servisine aktarın. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"D9A0LK\":\"Ana kaynağı Restream RTMP Hizmetine iletin. Ayarlar hakkında daha fazla ayrıntı <0>burada bulunabilir.\",\"YL800g\":\"Azure Media Services'a aktarın. Daha fazla ayrıntı <0>burada bulunabilir.\",\"Abgy4c\":\"LinkedIn'e aktarın. Daha fazla ayrıntı <0>burada bulunabilir.\",\"dhCZoS\":\"Canlı Akışınızı bir Dailymotion RTMP hizmetine aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"tQNclD\":\"Canlı Akışınızı bir Kick.com RTMP hizmetine aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"mQ0sjr\":\"Canlı Akışınızı bir Owncast sunucusuna aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"AqYRa3\":\"Canlı Akışınızı bir Rumble RTMP hizmetine aktarın. <0>Burada ayarlar hakkında daha fazla ayrıntı bulabilirsiniz.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Video akışınızı, Twitter Producer'da oluşturulan gerekli anahtarla iletir. Canlı yayın ayarlama hakkında daha fazla bilgiyi Twitter'ın <0>Producer adresinde bulabilirsiniz.\",\"ADKef2\":\"Tune\",\"8jwViA\":\"UDP aktarımı\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Yapılandırma yüklenemiyor.\",\"MWrgON\":\"Hizmette benzersiz kimlik.\",\"Ef7StM\":\"Bilinmiyor\",\"wiIpKZ\":\"Bilinmeyen yükleme hatası\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Seçilmemiş\",\"j9zg7e\":\"Güncelleme ayrıntıları (Changelog)\",\"ONWvwQ\":\"Yükle\",\"OXItQT\":[\"Döngü yapmak için bir ses dosyası (\",[\"0\"],\") yükleyin.\"],\"75yxb7\":[\"Döngü oluşturmak için bir resim veya video dosyası (\",[\"0\"],\") yükleyin.\"],\"iAkPTY\":\"Dosya yüklemesi başarısız oldu\",\"Jmy6pK\":\"Logo yüklemesi başarısız oldu\",\"xl1xFp\":\"Posterin yüklenmesi başarısız oldu\",\"TjrbDj\":\"Çalışma Süresi\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Çalışan Restreamer Çekirdeğiniz için Auth0 kullanın. Daha fazla <0>detay.\",\"JX4TqK\":\"Hızlı ve kolay bir kurulum için sihirbazı (<0/>) kullanın veya kaynakları doğrudan özel modda düzenleyin (<1/>).\",\"YYTBz0\":\"Telif hakkınızı kullanın ve doğru görsel lisansını seçin. Herkes için ücretsiz veya oldukça kısıtlı olsun. Başkalarının resminizle ne yapmasına izin verildiğini kısaca tartışın.\",\"2UPEb1\":\"Telif hakkınızı kullanın ve doğru görsel lisansını seçin. İster herkes için ücretsiz ister oldukça kısıtlı olsun. Başkalarının görselinizle ne yapmasına izin verildiğini kısaca tartışın.\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"Kullanıcı kaydı\",\"7sNhEz\":\"Kullanıcı Adı\",\"Gv3pbp\":\"Yetkilendirme için kullanıcı adı.\",\"RQSvXZ\":\"Cihaz için kullanıcı adı.\",\"zze3B5\":\"V4L2_M2M deneyseldir.\",\"PvM7Yi\":\"Değişken kare hızı (VFR)\",\"hpBTpL\":\"kadife\",\"uIAsxu\":\"Dikey Çevirme\",\"vSJd18\":\"Video\",\"auaWhL\":\"Video cihazı\",\"/skRGV\":\"Video ayarları\",\"EzOjvB\":\"Video kurulumu\",\"QcQXbU\":\"Video kaynağı\",\"M/TIv1\":\"Görüntüleyici\",\"L2hKw+\":\"menekşe\",\"hA6FFn\":\"Sanal kaynak\",\"/cF7Rs\":\"Ses Düzeyi \",\"/gnt8J\":\"VPU Kimliği\",\"wRy4hg\":\"32-bit işletim sistemine sahip Raspberry PI (3/4) için OpenMAX IL'yi öneriyoruz.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Hızlı ve kolay video yayınlama çözümü Restreamer v2'ye hoş geldiniz. Özel ve ticari kullanım için ücretsiz. Daha fazla yardım için <0>belgelere.\",\"hJfWkA\":\"Hangi hız ön ayarının kullanılacağı.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"HLS çalma listesinin ve segmentlerin nerede saklanacağı. Bellek İçi önerilir.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"beyaz\",\"aFWU1n\":\"Genişlik\",\"e0wV2Y\":\"Koruma yazın\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Evet\",\"WPUsOF\":\"Sihirbazı iptal edemezsiniz çünkü en az bir girdi tanımlanmış olmalıdır.\",\"qwY9F9\":\"Yapılandırmayı değiştirdiniz. Değişikliklerin etkili olması için uygulamayı yeniden başlatmanız gerekir. Şimdi yeniden başlatmak istiyor musunuz?\",\"nxq2ni\":\"Manuel olarak yeniden bağlanmanız gerekir\",\"RM3CEc\":\"Kaydedilmemiş değişiklikleriniz var. Hizmeti tekrar kontrol edebilmeniz için lütfen bunları kaydedin.\",\"/cg7qS\":\"Akışınızın kodlanması gerekiyor, ancak uygun bir kodlayıcı mevcut değil.\",\"BwrOm6\":\"Akışınızın kodlanması gerekir. İstediğiniz kodlayıcıyı seçin:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV test deseni\"}")}; \ No newline at end of file diff --git a/src/locales/tr/messages.po b/src/locales/tr/messages.po index 65c9836..1d6644a 100644 --- a/src/locales/tr/messages.po +++ b/src/locales/tr/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Uyumluluk listesi" msgid "<0>Show probe details" msgstr "<0>İnceleme ayrıntılarını göster" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Hedef Restreamer'ın arayüzüne geçin." @@ -76,11 +76,16 @@ msgstr "Durdur" msgid "About" msgstr "Hakkında" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Ses" @@ -302,10 +311,6 @@ msgstr "Yazar" msgid "Authorization" msgstr "Yetkilendirme" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Otomatik" @@ -322,10 +327,6 @@ msgstr "Otomatik Oynatma" msgid "Available" msgstr "Mevcut" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Önbellek süresi (Saniye)" msgid "Cache types" msgstr "Önbellek türleri" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Chunk" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Renk" msgid "Command" msgstr "Komuta" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Yapılandırma" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Bağlı cihaz" msgid "Connected since <0/>" msgstr "<0/>'dan beri bağlı" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "Bağlanıyor ..." @@ -616,15 +618,19 @@ msgstr "Sabit Quantizer Modu (-1 ila 255)." msgid "Content" msgstr "İçerik" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "İçerik URL'si" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "CPU Sınırı (yüzde)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "CPU kullanım sınırı yüzde olarak (0-100%), sınırsız için 0." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Creative Commons" @@ -672,10 +670,6 @@ msgstr "Creative Commons" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Deinterlace modu" msgid "Deinterlace parity" msgstr "Deinterlace paritesi" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Gecikme" @@ -851,14 +841,6 @@ msgstr "Bir yayın hizmetinin silinmesi geri alınamaz. Yayın derhal durdurulur msgid "Delivering mode" msgstr "Teslimat modu" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Bağlantıyı Kes" msgid "Disconnect & Continue" msgstr "Bağlantıyı Kes ve Devam Et" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "DÜZENLEME: Oynatıcı" msgid "EDIT: Publication Website" msgstr "DÜZENLEME: Yayın Web Sitesi" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Eposta" msgid "Embed" msgstr "Siteye Ekle" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Kodlama" msgid "Encryption" msgstr "Şifreleme" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Yeni kanal için bir ad girin." @@ -1101,12 +1099,12 @@ msgstr "Hata" msgid "Error while copying data to clipboard" msgstr "Veriler panoya kopyalanırken hata oluştu" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Hata: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Dosya yolu" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Filtre" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Genel" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analiz Kimliği" @@ -1353,24 +1351,21 @@ msgstr "Google Analiz Kimliği" msgid "Google Analytics Tracker Name" msgstr "Google Analiz İzleyici Adı" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Donanım cihazı" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Manşet" msgid "Height" msgstr "Yükseklik" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Bellek içi depolama için HLS istatistiği" msgid "Horizontal Flip" msgstr "Yan çevir" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Barındırılan Restreamer arayüzü" @@ -1438,8 +1429,8 @@ msgstr "HTTPS bağlantı noktası" msgid "Human readable name on the service." msgstr "Hizmette insan tarafından okunabilir ad." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Uyumsuz" msgid "Inherit" msgstr "Miras" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Enjekte 1" @@ -1527,6 +1514,14 @@ msgstr "Enjekte 3" msgid "Inject 4" msgstr "Enjekte 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Anahtar kare aralığı (saniye)" msgid "Layout" msgstr "Düzen" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Let's Encrypt sertifikası" @@ -1668,6 +1659,10 @@ msgstr "Twitch Canlı RTMP Hizmetine Canlı Yayın." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Vimeo Live RTMP Hizmetine Canlı Akış" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Canlı Kaynak Kimliği" @@ -1726,7 +1721,7 @@ msgstr "Ses Yüksekliği Normalizasyonu" msgid "Low latency (Buffer)" msgstr "Düşük gecikme süresi (Tampon)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Ana kanal" @@ -1848,6 +1843,10 @@ msgstr "Metadata" msgid "Mininum {0}, default {1}" msgstr "Mininum {0}, varsayılan {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Kalıp" @@ -1870,7 +1869,7 @@ msgstr "Twitter'ın telif hakkı hakkında daha fazla bilgi <0>burada." msgid "More about YouTube's copyright <0>here." msgstr "YouTube'un telif hakkı hakkında daha fazla bilgi <0>burada." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Ses yok" msgid "No audio stream available" msgstr "Ses akışı mevcut değil" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Giriş cihazı mevcut değil" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Canlı yayın algılanmadı. Lütfen akışı gönderen yazılımı kontrol edin." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Kaynak seçilmedi" @@ -1989,7 +1972,7 @@ msgstr "Uygun kodlayıcı bulunamadı." msgid "No suitable filter found." msgstr "Uygun filtre bulunamadı." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Video yok" @@ -1998,10 +1981,6 @@ msgstr "Video yok" msgid "No video stream available" msgstr "Video akışı yok" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Düğüm Kimliği" @@ -2052,10 +2031,6 @@ msgstr "Kodlanan karo sayısı." msgid "Number of tiles rows to encode with." msgstr "Kodlanacak karo satır sayısı." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Satır başına bir yönlendirici, örneğin http://www.example.com" msgid "Open" msgstr "Açık" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Çıkış tamponu" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Pan" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Cihaz için şifre." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Çalma Listesi" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Oynatma listesi sürümü (M3U8). Sürüm 3 en iyi tarayıcı/istemci uyumluluğuna sahiptir." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Lütfen <0>process log kontrol edin" @@ -2309,16 +2284,9 @@ msgstr "Ön ayar" msgid "Primary stream" msgstr "Birincil akış" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "İşlem" msgid "Process control" msgstr "Süreç kontrolü" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Süreç ayrıntıları" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Protokol" msgid "Protocols" msgstr "Protokoller" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Kamu malı/ları" @@ -2437,6 +2401,10 @@ msgstr "Çekme Modu" msgid "Pull or recieve the data:" msgstr "Verileri çekin veya alın:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Yeniden Bağlan" msgid "Reconnect delay (seconds)" msgstr "Yeniden bağlanma gecikmesi (saniye)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Bölge" msgid "Register user" msgstr "Kullanıcı oluştur" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "/memfs doluysa en eski girdileri kaldırın" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Restreamer talimatları" msgid "Restreamer Service" msgstr "Restreamer Hizmeti" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Akış verileri alınıyor..." @@ -2618,15 +2578,15 @@ msgstr "Yeniden dene" msgid "RGB test pattern" msgstr "RGB test deseni" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Döndür" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Kural" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Ölçekle" msgid "Scale size" msgstr "Ölçek boyutu" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Dosyaları önbellekte tutmak için saniye." @@ -2778,10 +2738,6 @@ msgstr "Segment, bu süre geçtikten sonra bir sonraki ana karede kesilecektir. msgid "Segmentation" msgstr "Parçalara ayrılma" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Kaynak seçin..." msgid "Select video source:" msgstr "Video kaynağını seçin:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Akışı bir <0>ağ kaynağından (ağ kamerası gibi) mı yoksa <1>dahili RTMP sunucusundan mı çekeceğinizi seçin (örneğin, Restreamer'a OBS akışları)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Hizmet adı" msgid "Service token for monitoring." msgstr "İzleme için hizmet belirteci." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Ayarlar" msgid "Settings (expert mode)" msgstr "Ayarlar (uzman modu)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Veri yolu için ayarlar. Erişim şu şekilde korunur" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Boyut" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Anlık görüntü" @@ -3005,7 +2957,7 @@ msgstr "Hız" msgid "Speed Preset" msgstr "Hız Ön Ayarı" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Fayanslar" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Etkin olmayan bir görüntüleyici bağlantısının kapalı olarak değerlendirilmesine kadar geçen süre." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Sistemi stabilize etmek için, ana kare aralığı için HLS segment uzunluğunu 2-3 * (İşleme ve Kontrol) kadar artırın." @@ -3477,18 +3413,6 @@ msgstr "Sistemi stabilize etmek için, ana kare aralığı için HLS segment uzu msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Üst alan" @@ -3627,12 +3551,12 @@ msgstr "Tune" msgid "UDP transport" msgstr "UDP aktarımı" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Bilinmiyor" msgid "Unknown upload error" msgstr "Bilinmeyen yükleme hatası" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Posterin yüklenmesi başarısız oldu" msgid "Uptime" msgstr "Çalışma Süresi" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Telif hakkınızı kullanın ve doğru görsel lisansını seçin. İste msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Kullanıcı kaydı" @@ -3773,10 +3693,6 @@ msgstr "Yetkilendirme için kullanıcı adı." msgid "Username for the device." msgstr "Cihaz için kullanıcı adı." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M deneyseldir." @@ -3850,10 +3766,10 @@ msgstr "VPU Kimliği" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "32-bit işletim sistemine sahip Raspberry PI (3/4) için OpenMAX IL'yi öneriyoruz." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Hızlı ve kolay video yayınlama çözümü Restreamer v2'ye hoş geldi msgid "What speed preset to use." msgstr "Hangi hız ön ayarının kullanılacağı." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "HLS çalma listesinin ve segmentlerin nerede saklanacağı. Bellek İçi önerilir." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "beyaz" @@ -3881,6 +3809,10 @@ msgstr "Genişlik" msgid "Write protection" msgstr "Koruma yazın" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Evet" @@ -3893,7 +3825,7 @@ msgstr "Sihirbazı iptal edemezsiniz çünkü en az bir girdi tanımlanmış olm msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Yapılandırmayı değiştirdiniz. Değişikliklerin etkili olması için uygulamayı yeniden başlatmanız gerekir. Şimdi yeniden başlatmak istiyor musunuz?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Manuel olarak yeniden bağlanmanız gerekir" @@ -3910,14 +3842,6 @@ msgstr "Akışınızın kodlanması gerekiyor, ancak uygun bir kodlayıcı mevcu msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Akışınızın kodlanması gerekir. İstediğiniz kodlayıcıyı seçin:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/uk/messages.js b/src/locales/uk/messages.js index ca17f61..069780f 100644 --- a/src/locales/uk/messages.js +++ b/src/locales/uk/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>Список сумісності\",\"TkRUk0\":\"<0>Показати деталі зонда\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. Перейдіть до інтерфейсу цільового рестрімера.\",\"2JnpXL\":\"2. Створіть новий канал і виберіть RTMP або SRT сервер.\",\"YidyJl\":\"3. Скопіюйте URL-адресу і вставте її в поле \\\"Адреса цілі\\\".\",\"X1MZZp\":\"6 (+ гарантовано починається з ключового кадру)\",\"JVJkxU\":\"7 (+ фрагментований формат MP4)\",\"ssjjFt\":\"Відміна\",\"uyJsf6\":\"Про нас\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Додати\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Додайте зовнішні віджети та стилі на сайт публікації. Ви можете знайти кілька прикладів на сторінці допомоги.\",\"tsJWSj\":\"Додати новий канал\",\"PLTLdv\":\"Додати публікацію\",\"35l+l6\":[\"Додати: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Адреса\",\"8M7jVn\":\"Посилання на зображення фону.\",\"Vu9yiv\":\"Порт для HTTP запитів.\",\"AQDW5r\":\"Порт для HTTPS запитів.\",\"tPrmjP\":\"Адреса:\",\"owt8Ow\":\"Налаштуйте кольори та фон сайту публікації за власним бажанням.\",\"uNXGDK\":\"Розширений моніторинг\",\"VNgKZz\":\"Розширені налаштування\",\"eiGNYb\":\"Розширені налаштування\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Сповіщення електронною поштою\",\"N40H+G\":\"Всі\",\"Hw5q+W\":\"Всі кадри\",\"f2zxGk\":\"Всі важливі системні налаштування.\",\"lle3bd\":\"Дозволити всім рефералам\",\"bgFbIB\":\"Дозволяє підраховувати, скільки глядачів має потік.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Амплітуда\",\"ngteek\":\"Це значення задається змінною оточення.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Кінцеву точку API не знайдено. Налаштування не збережено.\",\"LMUw1U\":\"Додаток\",\"IrC12v\":\"Застосунок\",\"xnCC/2\":\"Ви впевнені, що хочете перервати роботу майстра?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"Аудіо\",\"n3RW8K\":\"Аудіопристрій\",\"sYyYfE\":\"Аудіо пристрій\",\"2he4Ra\":\"Аудіо з пристрою\",\"MvY15a\":\"Налаштування аудіо\",\"NoLJ6g\":\"Налаштування звуку\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 наразі недоступний, оскільки цей інтерфейс завантажено з ненадійного джерела.\",\"aKsflb\":\"Користувач Auth0\",\"VbeIOx\":\"Автор\",\"NJgJy9\":\"Авторизація\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"Авто\",\"6yEk/V\":\"Автоматичне очищення всіх мультимедійних даних\",\"jT50Rz\":\"Автовідтворення\",\"csDS2L\":\"Доступно\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Назад\",\"1KfyNL\":\"Кольори фону\",\"23c2Uw\":\"Фонове зображення\",\"r0bEmM\":\"Сервер резервного копіювання\",\"JFjQhH\":\"Резервний потік\",\"bkJ+QE\":\"Резервний URL\",\"OlXThP\":\"Пропускна здатність\",\"QYaaBO\":\"Контроль трафіку\",\"KSSL9f\":\"Банер\",\"0wJVK+\":\"Базова\",\"YR04fn\":\"Коефіцієнт звукового сигналу\",\"5bhON1\":\"Бітрейт\",\"Os3B4i\":\"Типи кешу блокування\",\"zOC7cT\":\"блакитний\",\"359XuU\":\"Нижнє поле\",\"aC3kWW\":\"Коротко опишіть, що побачать глядачі під час прямого ефіру.\",\"SehDNd\":\"коричневий\",\"Ptp9MF\":\"Колір кнопки\",\"Lp4WkO\":\"За висотою\",\"IeV/4P\":\"За шириною\",\"KxP5AO\":\"Кеш для файлів в /data.\",\"qX8ffo\":\"Час кешування (сек)\",\"4dRAku\":\"Типи кешування\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Буфер захоплення\",\"aL2+1d\":\"Захоплювати кліки\",\"EOfLfP\":\"Захоплювати курсор\",\"ieS3Wc\":[\"Канал \\\"\",[\"0\"],\"\\\" збережено\"],\"lfFsZ4\":\"Канали\",\"WMCwmR\":\"Перевіряти оновлення\",\"vM6kpc\":\"Перевірити вимоги\",\"Wzgqhl\":\"Виберіть відео потік\",\"JpTR0/\":\"Виберіть аудіо потік\",\"BTNyrQ\":\"Виберіть пристрій введення ...\",\"f9QIui\":\"Виберіть вхідний потік ...\",\"/Y6zrN\":\"Виберіть між CFR та VFR (Авто)\",\"gObOjh\":\"Виберіть кодек ...\",\"v7lrmU\":\"Виберіть орендаря ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Чанк\",\"yz7wBu\":\"Закрити\",\"r8NEPc\":\"Введення коду\",\"BaUuhR\":\"Кодек\",\"jZlrte\":\"Колір\",\"sjVfrA\":\"Командир.\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"Конфігурація\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"Підтвердити пароль\",\"iSLIjg\":\"З'єднати\",\"NL3Gev\":\"Підключений пристрій\",\"ywAvGr\":\"З'єднано з <0/>\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"З'єднання ...\",\"y6+BXa\":\"Підключення до ядра Restreamer Core ...\",\"Td5lm6\":\"Не вдалося підключитися до ядра Restreamer Core, ймовірно, через змішаний вміст.\",\"awE5Py\":\"Постійна частота кадрів (CFR)\",\"DT0Af/\":\"Режим постійного квантування (від -1 до 255).\",\"4b3oEV\":\"Вміст\",\"U34RbB\":\"URL-адреса вмісту\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"копірки\",\"nPu6KK\":\"Ядра\",\"FSbpS7\":\"ПРОЦЕСОР\",\"n8Ycrf\":\"Обмеження процесора (у відсотках)\",\"uW5tVo\":\"Обмеження використання процесора у відсотках (0-100%), 0 - необмежене.\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"Творчі спільноти\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"Своє ...\",\"kH80Lk\":\"Кастомний аудіопристрій\",\"fW1XQD\":\"Користувацький аудіоіндекс\",\"bzREp0\":\"Кастомний бітрейт (кбіт/с)\",\"w9oKek\":\"Кастомне введення коду\",\"jYaP01\":\"Кастомна затримка\",\"2Gw+zZ\":\"Користувацький пристрій\",\"WCXGNp\":\"Користувацький формат\",\"ZkpZ06\":\"Кастомна частота кадрів\",\"1OXCgh\":\"Кастомний JSON-конфіг для ядра datarhei.\",\"kl56NX\":\"Користувацький інтервал між ключовими кадрами\",\"prIqWa\":\"Користувацький макет\",\"HSB43e\":\"Кастомна дискретизація (Гц)\",\"Efe3BI\":\"Користувацький масштаб\",\"E/2KdS\":\"Користувацький розмір\",\"Se794B\":\"Користувацький відеопристрій\",\"aqv915\":\"Спеціальний відеоіндекс\",\"v8OlX8\":\"Дані скопійовано в буфер обміну\",\"J/VBax\":\"Колір смерті\",\"d2TTfK\":\"Децибели (дБ)\",\"W034oz\":\"Декодер\",\"ovBPCi\":\"За замов.\",\"gFwPaj\":[\"За замовчуванням \",[\"0\"]],\"JQnkrI\":[\"За замовчуванням \",[\"0\"],\" (\",[\"1\"],\" секунд)\"],\"A7rne1\":\"Деінтерлейс (bwdif)\",\"yLth2B\":\"Деінтерлейс deint\",\"g3JmiG\":\"Режим деінтерлейсу\",\"aro6lN\":\"Парність деінтерлейсу\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"Затримка\",\"qBC9g9\":\"Затримка (ms)\",\"cnGeoo\":\"Видалити\",\"ScK3zL\":\"Видалення послуги публікації не можна скасувати. Публікація зупиняється негайно.\",\"cEx3oI\":\"Режим доставки\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"Опис\",\"f8fH8W\":\"Дизайн\",\"PEHQTf\":\"Пристрій\",\"+K0AvT\":\"Відключити\",\"miKA/E\":\"Відключити і продовжити\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"Відключення ...\",\"sPFHpI\":\"Диск\",\"qczNPP\":\"Дисковий кеш\",\"PUqOjv\":\"Дисковий накопичувач\",\"uTwT/l\":\"Ви дійсно бажаєте перезапустити програму?\",\"FgxcNT\":[\"Ви хочете видалити \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Бажаєте видалити \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Ви хочете відключити \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Документи\",\"TvY/XA\":\"Документація\",\"jPtEhI\":\"Дуб. кадри\",\"diaSRH\":\"Кожне поле\",\"u2SnNO\":\"Кожен кадр\",\"ePK91l\":\"Змінити\",\"INCFjw\":\"Відредагуйте аудіо- та відеоджерела для прямого ефіру. Додайте опис і встановіть бажану ліцензію на контент.\",\"+7Wr2a\":[\"Змінити: \",[\"title\"]],\"e3GLqI\":\"Редагування: Плеєр\",\"dTPDyf\":\"Редагування: Веб-сайт публікації\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"Електронна пошта\",\"KKBlUU\":\"Вставка\",\"PaQ3df\":\"Увімкнути\",\"No9svk\":\"Увімкніть періодичний звуковий сигнал щосекунди, помноживши це значення на несучу частоту\",\"R7s0Th\":\"Увімкнути резервний потік\",\"xA5zBY\":\"Увімкнути статистику переглядів\",\"r0zP4o\":\"Увімкнути зараз\",\"JwR989\":\"Увімкнути основний потік\",\"blkDNw\":\"Увімкнути RTMP сервер ...\",\"FgEhO4\":\"Увімкнути передачу RTMPS\",\"uGvvxq\":\"Увімкнути знімки\",\"IuL64N\":\"Увімкнути сервер SRT ...\",\"NJsnxf\":\"Наполегливо рекомендуємо увімкнути авторизацію. Інакше будь-хто зможе отримати доступ до цього екземпляра.\",\"xwS6bX\":\"Настійно рекомендується увімкнути базові повноваження. Інакше будь-хто зможе записати дані до /memfs.\",\"0zaXWu\":\"Енкодер\",\"o0XA5y\":\"Енкодування\",\"q1srUM\":\"Шифрування\",\"qS2y97\":\"Введіть назву нового каналу.\",\"f7sXvi\":\"Введіть пароль\",\"5QCNrf\":\"Введіть мережеву адресу джерела:\",\"WLnvCZ\":\"Введіть ім'я користувача\",\"ijwVVM\":\"Кодер ентропії\",\"SlfejT\":\"Помилка\",\"sHoMKO\":\"Помилка під час копіювання даних у буфер обміну\",\"TpqeIh\":[\"Помилка: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Розширює область над списком каналів (чат).\",\"IBJg8n\":\"Розширює область під описом каналу (поля для коментарів).\",\"XeunlQ\":\"Експертний режим\",\"qNpEXB\":\"EXT-X-ВЕРСІЯ\",\"/svCaE\":\"Розгорнути список каналів\",\"tG09kC\":\"Розгорнути вміст\",\"bPWJOj\":\"Розгорнути нижній колонтитул\",\"SeaRa5\":\"Розгорнути верхній колонтитул\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Не вдалося створити службу публікації (\",[\"0\"],\")\"],\"yT6MEY\":\"Не вдалося створити файли веб-сайту публікації.\",\"FGdPhH\":\"Не вдалось отримати джерело. Перевірте <0>probe details.\",\"DvfYM2\":[\"Не вдалося оновити токен: \",[\"0\"]],\"J0Jclh\":\"Не вдалося зберегти метадані прийому\",\"RPXHsU\":\"Не вдалося зупинити процес\",\"AhS7uc\":\"Не вдалося зберегти налаштування розміру плеєра.\",\"PcJRf4\":[\"Не вдалося зберегти службу публікації (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Не вдалося оновити процес завантаження (\",[\"0\"],\")\"],\"t1E1OU\":[\"Не вдалося оновити процес створення знімка (\",[\"0\"],\")\"],\"bssUbs\":\"Не вдалося оновити програвач\",\"4SzVSX\":\"Не вдалося оновити сайт гравця\",\"H8gP5T\":\"Не вдалось перевірити джерело. Перевірте адресу.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Шлях до файлу\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"Фільтр\",\"JmZ/+d\":\"Завершити\",\"k4A6IZ\":\"Фіксований розмір\",\"Xgkhyj\":\"Прапори\",\"+L0/av\":\"Для Javascript.\",\"VBU6dD\":\"Для таблиць стилів.\",\"XDTTEp\":\"Форс. вх. частотикадрів\",\"Y5YNoi\":\"Примусові ключові кадри\",\"kI1qVD\":\"Формат\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Втрата кадрів\",\"lPICcX\":\"Кадр пропускається наскрізь (Passthrough)\",\"T8wPu0\":\"Фреймбуфер\",\"Ou/g2q\":\"Частота кадрів\",\"RFrfTY\":\"Перетворення частоти кадрів (інтерполяція кадрів)\",\"xDfHbM\":\"Режим частоти кадрів\",\"4xNpe4\":\"Частота (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"Загальні\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"Апаратний пристрій\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Заголовок\",\"+670Zw\":\"Заголовок\",\"PFFhCT\":\"Висота\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS вивід\",\"oMxmoP\":\"Сервер HLS\",\"5/G5c1\":\"Статистика HLS для сховища In-memory\",\"wXoUQx\":\"Горизонтальний фліп\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"Інтерфейс хостингового рестрімера\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP та HTTPS\",\"YmRLab\":\"HTTP-порт\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Порт HTTPS\",\"Ptrvx5\":\"Ім'я сервісу, зрозуміле людині.\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"Якщо ви змінили порт, можливо, ядро рестрімера вже перезапустилося, але тепер воно доступне на іншому порту.\",\"OQONQS\":\"Якщо ви увімкнули Let's Encrypt TLS, може знадобитися деякий час для отримання сертифікатів. Переконайтеся, що ядро Restreamer Core доступне через порт 80 з інтернету. Будь ласка, перевірте журнал консолі Restreamer Core.\",\"yWR5EY\":\"код iframe\",\"7ZKroD\":\"Ігнор. діапазон IP\",\"VyUuZb\":\"URL зображення\",\"5n8FKh\":\"Відбиток\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Окрім плеєра, Restreamer пропонує повноцінний лендінг, за допомогою якого ви можете легко і швидко презентувати свій прямий ефір.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"У пам'яті\",\"EwM+sw\":\"Зберігання в пам'яті\",\"xmsVuq\":\"Несумісний\",\"exUN1j\":\"Успадкувати\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"Ввести 1\",\"MJlrvd\":\"Ввести 2\",\"MppU96\":\"Ввести 3\",\"zBVRQb\":\"Ввести 4\",\"Adqgqr\":\"Вхідний потік\",\"jnyWFc\":\"Домен екземпляра\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Інтервал (секунди)\",\"C4WaV1\":\"Сповіщення про проблему\",\"lCnea7\":\"кбіт/с\",\"d3WJJg\":\"Інтервал між ключовими кадрами (секунди)\",\"rdU729\":\"Макет\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Let's Encrypt сертифікація\",\"LgUs17\":\"Для роботи Let's Encrypt потрібне одне або декілька публічних доменних імен та доступний порт 80/TCP.\",\"oCHfGC\":\"Рівень\",\"eyLS1J\":\"Рівень системного протоколу.\",\"iQmbPb\":\"Ліцензія\",\"mQImez\":\"Колір життя\",\"6BDqha\":\"Обмеження\",\"1pbzRr\":\"Колір лінії\",\"Ce6Hrg\":\"Лінії\",\"yzF66j\":\"Посил.\",\"NBxw5Y\":\"Посилання, наведення миші\",\"xCrpEt\":\"Список розширень файлів, які не потрібно кешувати (наприклад, \\\".m3u8\\\"), по одному в рядку. Не заповнювати нічим.\",\"m2l8c3\":\"Список розширень файлів для кешу (наприклад, \\\". html\\\"), по одному на рядок. Залиште порожнім, щоб кешувати всі типи файлів.\",\"QYw6tl\":\"Список діапазонів IP-адрес у нотації CIDR, наприклад, 127.0.0.1/32, які статистика не буде записувати - по одному діапазону в рядку. Залиште порожнім, щоб записати всі сеанси.\",\"ELFO4F\":\"Розмір списку (сегменти)\",\"D0Nwch\":\"Послуга прямих трансляцій на dlive Live RTMP.\",\"n2VKys\":\"Пряма трансляція на Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Прямі трансляції в медіа-мережу RTMP-сервіс.\",\"w9zSAv\":\"Пряма трансляція на PeerTube v3+ RTMP/S сервіс.\",\"SZ9Q++\":\"Прямі трансляції на сервіс Trovo Live RTMP.\",\"JJGagy\":\"Пряма трансляція до служби Twitch Live RTMP.\",\"4TnPVp\":\"Пряма трансляція до служби Vimeo Live RTMP\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Рівень журналу\",\"x7PDL5\":\"Логування\",\"z0t9bb\":\"Логін\",\"+fL+Rj\":[\"Помилка входу: \",[\"0\"]],\"4cd7gw\":\"Помилка входу: не вдалося завантажити деталі API\",\"sNqu7k\":\"Логін/авторизація JWT\",\"iG7KNr\":\"Лого\",\"nOhz3x\":\"Вихід з системи\",\"DYX2fZ\":\"Петля\",\"SzaPTL\":\"Нормалізація гучності\",\"QGvS9k\":\"Низька затримка (буфер)\",\"GaV7al\":\"Основний канал\",\"Wsn0Uw\":\"Основний канал не знайдено\",\"tROIde\":\"Головний канал збережено\",\"nLVSux\":\"Канал головної сторінки (index.html).\",\"rd3Pv7\":\"Основне джерело\",\"f4txA1\":\"Супроводжувач:\",\"3iTz2L\":\"Зробити канал доступним у вигляді RTMP-потоку (експериментально).\",\"mMiku6\":\"Зробити канал доступним у вигляді потоку SRT (експериментально).\",\"6dZ9NS\":\"Позначені кадри\",\"iuA3xD\":\"Головний плейлист (покращує сумісність браузера/клієнта)\",\"WBpxnA\":\"Максимально дозволений розмір кешу, 0 для необмеженого.\",\"NzaPGT\":\"Максимально дозволені мегабайти оперативної пам'яті для /memfs, 0 для необмеженої.\",\"aaso5s\":\"Максимально дозволені мегабайти для споживання з жорсткого диска. 0 для необмеженого.\",\"4hp5D2\":\"Максимальна пропускна здатність Мбіт/с\",\"L+uBOR\":\"Максимальна затримка в мілісекундах.\",\"hkoCqq\":\"Максимальний розмір файлу (мегабайт)\",\"i96JfZ\":\"Максимальний розмір файлу для розміщення в кеші.\",\"Q9HspI\":\"Максимальна історія журналу\",\"bS9ZHz\":\"Максимальна кількість рядків журналу\",\"6sayfE\":\"Максимальний розмір (Мегабайт)\",\"09BWQO\":\"Максимальний час простою глядача (Секунди)\",\"hW0DV1\":\"Максимальна кількість глядачів\",\"UPyNTs\":\"МБ\",\"v8o+Rn\":\"Пам'ять\",\"KReOHe\":\"Обмеження пам'яті (мегабайти)\",\"fViWSz\":\"Обмеження на використання пам'яті в мегабайтах, 0 для необмеженого.\",\"emJ6M7\":\"Мета інформація\",\"6GBt0m\":\"Метадані\",\"SCcIsq\":[\"Мінімум \",[\"0\"],\", за замовчуванням \",[\"1\"]],\"riWPSk\":\"Форма\",\"QA/rur\":\"Більше про ліцензії тут\",\"fyGu1l\":\"Більше про сервіс\",\"yBsv2n\":\"Докладніше про авторські права Twitter <0>тут.\",\"ZpfAc9\":\"Докладніше про авторські права YouTube <0>тут.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Повинен бути більшим за максимальний розмір файлу у кеші.\",\"gC9RIS\":\"Повинен бути меншим за максимальний розмір кешу.\",\"R7SsBE\":\"Вимк. зв.\",\"K0rCAk\":\"Вимкнути звук каналу.\",\"Jv/kid\":\"Вимкнути звук зліва\",\"FsCP6P\":\"Вимкнути звук зліва\",\"6YtxFj\":\"Імя\",\"0ZkQqR\":\"Ім'я для шаблону. Якщо ім'я вже існує, воно буде замінено.\",\"OR475H\":\"Мережа\",\"KZDcDr\":\"Мережеве джерело\",\"hXzOVo\":\"Далі\",\"JZrXI6\":\"Далі: Аудіо\",\"kZFy+Q\":\"Далі: налаштування відео\",\"1UzENP\":\"Немає\",\"p6Fxed\":\"Немає звуку\",\"bIDO3H\":\"Немає аудіопотоку\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"Відсутній пристрій введення\",\"dEwhMr\":\"Жодної прямої трансляції не виявлено. Перевірте програмне забезпечення, яке надсилає потік.\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"Джерело не вибрано\",\"3TfuWb\":\"Немає доступних джерел\",\"fiXA/y\":\"Відповідний енкодер не знайдено.\",\"acY4BT\":\"Відповідний фільтр не знайдено.\",\"/02FxK\":\"Немає відео\",\"AVWnC9\":\"Немає доступного потокового відео\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Шум\",\"EdQY6l\":\"Жодного\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Примітки\",\"/a9y2d\":\"Кількість рядків журналу для зберігання.\",\"ZD0urA\":\"Кількість логів для кожного процесу.\",\"Aia5w3\":\"Кількість секунд, протягом яких дозволено перевищувати ліміти.\",\"1lZb7D\":\"Кількість стовпчиків тайлів для кодування.\",\"InpHMl\":\"Кількість тайлів, якими кодується.\",\"wnRD5D\":\"Кількість рядів тайлів для кодування.\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"ОК\",\"+Xj01r\":\"Один реферал на рядок, наприклад, http://www.example.com\",\"1TNIig\":\"Відкрити\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Вихідний буфер\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"Панорамування\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"Кодова фраза\",\"Y+p0Tt\":\"Ключова фраза для шифрування SRT.\",\"fpQo1i\":\"Пароль повинен мати довжину від 10 до 79 символів\",\"3GZXaB\":\"Наскрізний доступ (копіювання) слід вимикати лише за необхідності. Кожне кодування вимагає додаткових ресурсів CPU/GPU.\",\"8ZsakT\":\"Пароль\",\"b+AuuK\":\"Пароль для авторизації.\",\"oREnCY\":\"Пароль для пристрою.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Зберігати статистику переглядів\",\"ANX1b0\":\"рожевий\",\"c8aBfM\":\"Піксельний формат\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"План <0>Початковий\",\"Ejic1p\":\"Платформи\",\"gtQk6c\":\"Відтворення\",\"vRayGs\":\"Плеєр\",\"tWB9Gz\":\"Налаштування плеєра збережено\",\"GIxxiU\":\"URL плеєра\",\"PUmLMn\":\"Сайт плеєра\",\"LKPR6G\":\"Плейлист\",\"luDqS5\":\"Версія плейлиста (M3U8). Версія 3 має найкращу сумісність з браузером/клієнтом.\",\"84gH7g\":\"Перевірте <0>журнал процесу\",\"OMpKNS\":\"Будь ласка, зверніться до оператора послуги та з'ясуйте, що відбувається.\",\"4lATxE\":\"Будь ласка, введіть свою електронну адресу, щоб підтвердити згоду з умовами надання послуг Let's Encrypt CA та отримувати повідомлення у разі виникнення проблем.\",\"bdMiXb\":\"Будь ласка, зв'яжіться з оператором сервісу і перевірте, що відбувається.\",\"wPZBpR\":\"Виберіть файл для завантаження.\",\"YcGRmx\":\"Будь ласка, використовуйте \\\"Наскрізний (копіювати)\\\", якщо це можливо. Кодування вимагає додаткових ресурсів CPU/GPU.\",\"06qnxB\":\"Будь ласка, зачекайте. Зонд транслює дані...\",\"FTIPkL\":\"Будь ласка, зачекайте. Налаштування потоку...\",\"hZ6znB\":\"Порт\",\"p/78dY\":\"Позиція\",\"d62Stt\":\"Постер\",\"PNap/Y\":\"URL-адреса зображення плакату\",\"6o2Onc\":\"Заготовка\",\"lxxyq5\":\"Первинний потік\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Зонд\",\"1B9XX0\":\"Процес\",\"DL/nrw\":\"Керування процесом\",\"fzYV2N\":\"Деталі процесу\",\"zNVLia\":\"Звіт про процес\",\"PwMwvX\":\"Обробка та контроль\",\"vERlcd\":\"Профіль\",\"6+OdGi\":\"Протокол\",\"hEksWI\":\"Протоколи\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"Публікація у відкритому доступі\",\"7lbVwY\":\"Службу публікації не знайдено\",\"ia1vIb\":\"Збережено налаштування веб-сайту публікації\",\"XHw75Y\":\"Публікації\",\"dsOSCf\":\"Режим витягування\",\"lQQ/zA\":\"Витягнути або отримати дані:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Якість\",\"i9d+3B\":\"Raspberry Pi камера\",\"tbXj/A\":\"Контроль швидкості\",\"iaocTt\":\"Співвідношення\",\"WnSPyE\":\"rav1e Параметри\",\"6PpdQP\":\"Читання введених даних із рідною швидкістю\",\"bqsSkO\":\"Режим отримання\",\"gcoiFh\":\"Повторне підключення\",\"lakzvL\":\"Затримка перепідключення (секунди)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"Повторне підключення через \",[\"0\"],\" с\"],\"uSDaLA\":[\"Не вдалося перепідключитися до ядра Restreamer Core за останні \",[\"RETRIES\"],\" секунд.\"],\"N7ojfh\":\"Не вдалося перепідключитися до ядра рестримера.\",\"lCF0wC\":\"Оновити\",\"uJ+Ve2\":\"Регіон\",\"CNipTv\":\"Зареєструвати користувача\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"Перезавантажити\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Видаліть найстаріші записи, якщо /memfs заповнено\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Потребує активації\",\"XMbkus\":\"Скинути логотип\",\"36SXzE\":\"Перезавантажити плакат\",\"6z9W13\":\"Перезапуск\",\"dKwnjv\":\"Потрібен перезапуск\",\"0Er6+M\":\"Перезапуск\",\"X1sT1j\":\"Перезапуск ядра рестримера ...\",\"o5q6jb\":\"Не вдалося перезапустити програму.\",\"x8cAsq\":\"Інструкції для рестрімера\",\"24fLVm\":\"Служба рестрімерів\",\"LCGjV4\":\"Отримання даних потоку...\",\"6gRgw8\":\"Повторити\",\"Qe1vaN\":\"Тестовий шаблон RGB\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Поворот\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Програма RTMP для публікації.\",\"7ggERB\":\"Вихід RTMP\",\"V82lE+\":\"Порт RTMP\",\"itARjB\":\"RTMP-сервер\",\"WWZqzz\":\"Сервер RTMP не ввімкнено\",\"HhOPCL\":\"Адреса сервера RTMP.\",\"DbHOhO\":\"Токен RTMP для публікації та відтворення. Токен є значенням параметра URL-запиту 'token'.\",\"OAZeFE\":\"Порт RTMPS\",\"Wt/wFL\":\"Сервер RTMPS\",\"xwonDv\":\"Адреса прослуховування сервера RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Правило\",\"HneYgw\":\"Випробування\",\"tfDRzk\":\"Зберегти\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Масштаб\",\"6aaceW\":\"Розмір масштабу\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"Зберігання файлів у кеші, сек.\",\"geM4Wc\":\"Секунд до перезапуску процесу.\",\"iF7dnC\":\"Секунд до завершення застарілого процесу.\",\"mydmGn\":\"Секунд до оновлення знімка/мініатюри джерела відео.\",\"a3LDKx\":\"Безпека\",\"Gkr6zI\":\"Токен безпеки\",\"/Ocrtf\":\"Колір панелі пошуку\",\"4lDlYf\":\"Довжина сегмента (секунд)\",\"XfNrg+\":\"Сегмент буде вирізано на наступному ключовому кадрі після закінчення цього часу. Рекомендується 2.\",\"jHCoDy\":\"Сегментація\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"Виберіть пристрій:\",\"O+ruJ3\":\"Виберіть джерело звуку:\",\"6MTTpq\":\"Виберіть RTMP або SRT (якщо ввімкнено) для меншої затримки.\",\"E7haRr\":\"Виберіть джерело...\",\"PlZ1aw\":\"Виберіть джерело відео:\",\"YYlcWm\":\"Виберіть, чи витягувати потік з <0>мережевого джерела (наприклад, мережевої камери) або з <1>внутрішнього RTMP-сервера (наприклад, потоки OBS до рестрімера).\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Виберіть налаштування кодування:\",\"aT3o8A\":\"Виберіть налаштування фільтрів (необов'язково):\",\"ylXj1N\":\"Вибрано\",\"kYpw4+\":\"Обраний канал\",\"p7/fS2\":\"Вибрано\",\"SOePwi\":\"Надіслати анонімні метрики (допомагає нам для подальшого розвитку)\",\"kOhBl+\":\"Надіслати потік на адресу ...\",\"E1X5xY\":\"Надіслати потік на цю адресу:\",\"d/IMf3\":\"Надсилати відео до Framebuffer\",\"sGH11W\":\"Сервер\",\"9rG25a\":\"URL-адреса сервера\",\"T3bXxK\":\"Сервіс\",\"KPPdUO\":\"Назва сервісу\",\"DOrSw/\":\"Токен сервісу для моніторингу.\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"Сеанси\",\"xwK3ty\":\"Встановіть конфігурацію rav1e за допомогою :-розділеного списку параметрів key=value.\",\"FIIk8R\":\"Встановлює обмеження пропускної здатності в Мбіт/с для вихідної передачі даних HLS. Усі служби, такі як RTMP і вихідні процеси, беруть участь у розрахунку. Якщо пропускна здатність перевищена, програми перегляду HLS отримують код стану HTTP 509 (Перевищено ліміт пропускної здатності). 0 - пропускна здатність необмежена.\",\"cOG/FK\":\"Встановлює ліміт перегляду для сеансів HLS. Якщо ліміт перевищено, програми перегляду HLS отримують код статусу HTTP 509 (перевищено ліміт пропускної здатності). 0 необмежений.\",\"mcJFKm\":\"Налаштування для підключення до сервісу.\",\"Tz0i8g\":\"Налаштування\",\"IiOZ6R\":\"Налаштування (експертний режим)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"Налаштування для шляху до /data. Доступ захищено за допомогою\",\"Ytdvyh\":\"Налаштування для шляху /memfs.\",\"1w3lYe\":\"Налаштування збережено. Всі зміни будуть застосовані після перезапуску програми.\",\"XUw3i9\":\"Кнопка \\\"Поділитися\",\"oD0Oes\":\"Показує посилання на проект.\",\"+vv4q2\":\"Зареєструватися (безкоштовно)\",\"JXVFAm\":\"Тиша\",\"VSK9FJ\":\"Вимкнутий звук\",\"L8Jb2l\":\"Синус\",\"MxZN16\":\"Назва сайту\",\"Cj2Gtd\":\"Розмір\",\"yTZe+y\":\"Знімок\",\"pSUgnY\":\"Соціальний логін (OAuth2, 2FA)\",\"qe9jaI\":\"Час очікування сокета (мікросекунд)\",\"bRN5nm\":\"Програмне забезпечення\",\"wdxz7K\":\"Джерело\",\"sywlQb\":\"Джерело та кодування\",\"l9wI00\":\"Швидкість\",\"vdhBFK\":\"Попереднє налаштування швидкості\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Вихід SRT\",\"YqnAto\":\"Сервер SRT\",\"k6hpqB\":\"Сервер SRT не увімкнено\",\"SzqwHY\":\"Адреса прослуховування сервера SRT.\",\"KwbjpB\":\"Токен SRT для публікації та відтворення. Токен є значенням потокового параметра 'token'.\",\"Aj28wT\":\"Застарілий таймаут (секунди)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Статистика\",\"BrrIs8\":\"Сховище\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Зберігає статистику переглядів на диску.\",\"hou0tP\":\"Потік\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Ключ для стріму\",\"bqiH5R\":\"Ключ потоку\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Назва потоку\",\"eXELiS\":\"Назви потоків\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Джерело потоку для сервісу публікацій (експериментальний).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL потоку\",\"+fVH0Y\":\"Підтримка даташей Restreamer\",\"5HSoct\":\"Підтримує HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT та інші.\",\"D+NlUC\":\"Система\",\"jkuW2z\":\"Цільова адреса\",\"/K2CvV\":\"Шаблон\",\"2Ivkf/\":\"Шаблон, який буде використано для створення веб-сайту публікації. Кнопка видалення видаляє вибір з системи.\",\"4Y5H+g\":\"Умови\",\"tRNH6x\":\"Тестовий шаблон\",\"EtlVOt\":\"Тестовий шаблон (розширений)\",\"wGPolR\":\"Кольори тексту\",\"m0TUJj\":\"Амплітуда (0.0 - 1.0) генерованого аудіопотоку\",\"8C6xwe\":\"Програма використовує стару версію налаштувань.\",\"VPQVR2\":\"Доступний двійковий файл FFmpeg не підтримує жодного з необхідних протоколів.\",\"Gx9PPK\":\"Бітрейт аудіопотоку.\",\"T2kk3f\":\"Несуча частота\",\"JAOLK8\":[\"Канал \\\"\",[\"0\"],\"\\\" не вдалося видалити\"],\"jNaBhy\":[\"Канал \\\"\",[\"0\"],\"\\\" було видалено\"],\"SD8pYJ\":\"Видалення цього каналу не можна відновити. Всі публікації цього каналу будуть видалені.\",\"bnkV//\":\"Вхідний профіль не завершено. Будь ласка, визначте джерело відео та аудіо.\",\"wCYjmB\":\"Профіль вхідного сигналу не є повним. Будь ласка, вкажіть джерело відео та/або аудіо.\",\"JMaqWu\":\"Макет аудіопотоку.\",\"0dqo+p\":\"Максимальна кількість сегментів плейлиста. 0 буде містити всі сегменти. 6 рекомендується.\",\"BDgbiW\":\"Колір шуму\",\"SxGu7I\":\"Особа, яка пов’язала твір із цією угодою, присвятила твір суспільному надбанню, відмовившись від усіх своїх прав на твір у всьому світі відповідно до закону про авторське право, включаючи всі пов’язані та суміжні права, у межах, дозволених законом. Ви можете копіювати, змінювати, поширювати та виконувати роботу, навіть у комерційних цілях, без запиту дозволу.\",\"XISvrq\":\"Загальнодоступне доменне ім'я хоста, на якому працює цей рестрімер. Кілька доменних імен слід розділяти комою.\",\"yt3d3G\":[\"Не вдалося видалити службу публікації \\\"\",[\"0\"],\"\\\".\"],\"zYcO/c\":[\"Створено службу публікації \\\"\",[\"0\"],\"\\\".\"],\"AQE+oz\":[\"Службу публікації \\\"\",[\"0\"],\"\\\" видалено\"],\"qVLWvp\":\"Створено службу публікації\",\"njj2Wn\":\"Для виводу RTMP потрібен сервер RTMP.\",\"WRxiP8\":\"Частота дискретизації аудіопотоку.\",\"/pZjRr\":\"Вибраний файл занадто великий (<0/>). Дозволено лише <1/>.\",\"VBaSn9\":[\"Вибраний тип файлу (\",[\"0\"],\") не допускається. Допустимі типи файлів \",[\"1\"]],\"fM410X\":[\"Налаштування для \\\"\",[\"0\"],\"\\\" збережено\"],\"02ii2e\":\"Джерело не транслює жодних аудіопотоків.\",\"+2cAEU\":\"Джерело не транслює жодних аудіопотоків. Перевірте <0>деталі зонда.\",\"pfqmY7\":\"Джерело не надає жодних сумісних аудіопотоків.\",\"VO9KeK\":\"Джерело не надає жодних сумісних відеопотоків. Будь ласка, перевірте <0>вимоги.\",\"007foU\":\"Джерело не надає відеопотоків. Перевірте <0>деталі зонда.\",\"lAsMdV\":\"Джерело не надає відеопотоків. Будь ласка, перевірте пристрій.\",\"XlnvcR\":\"Для виводу SRT потрібен сервер SRT.\",\"w6uuIE\":\"Джерело відео не надає сумісного аудіопотоку. <Рекомендується ввімкнути беззвучний звук. Сервіси, такі як YouTube, Facebook & Co. вимагають аудіоканал.\",\"YJJ2RL\":\"Джерело відео сумісне. Виберіть бажану роздільну здатність:\",\"wEiZHy\":\"Доступні оновлення. Тут ви можете отримати додаткову інформацію.\",\"4p1MgS\":\"Виникла проблема зі збереженням налаштувань. Налаштування не збережено.\",\"YJhhwT\":[\"Виникла помилка під час підключення до Restreamer Core за адресою \",[\"0\"],\".\"],\"q42VsF\":[\"Виникла помилка під час завантаження: \",[\"0\"]],\"HM96PJ\":\"Під час налаштування потоку сталася помилка.\",\"LoDP+Y\":\"Помилки в налаштуваннях. Налаштування не збережено.\",\"l92ZKN\":\"Відсутній метод входу.\",\"cPKuc8\":\"Це фіктивний сервіс, який пояснює вам концепцію сервісу.\",\"Ku8nyu\":\"Це не обов'язково помилка. Однак, може знадобитися трохи більше часу для перезапуску ядра Restreamer Core...\",\"vCRP3w\":\"Тут варто згадати про правила авторського права для цільової аудиторії цього сервісу.\",\"Hx7k3c\":\"Ця ліцензія дозволяє повторним користувачам копіювати та поширювати матеріал на будь-якому носії чи у будь-якому форматі лише в неадаптованій формі та лише за умови вказування авторства. Ліцензія дозволяє комерційне використання.\",\"6OeMYB\":\"Ця ліцензія дозволяє повторним користувачам копіювати та поширювати матеріал на будь-якому носії чи у будь-якому форматі лише в неадаптованій формі, лише з некомерційною метою та лише за умови вказування авторства.\",\"TUuhsB\":\"Ця ліцензія дозволяє повторним користувачам розповсюджувати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі лише для некомерційних цілей і лише за умови вказування авторства.\",\"kVtKRl\":\"Ця ліцензія дозволяє повторним користувачам розповсюджувати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі лише для некомерційних цілей і лише за умови вказування авторства. Якщо ви реміксуєте, адаптуєте або використовуєте матеріал, ви повинні ліцензувати модифікований матеріал на ідентичних умовах.\",\"FpX5mp\":\"Ця ліцензія дозволяє повторним користувачам поширювати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі, за умови, що автор вказує автора. Ліцензія дозволяє комерційне використання.\",\"SDvwLd\":\"Ця ліцензія дозволяє повторним користувачам поширювати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі, за умови, що автор вказує автора. Ліцензія дозволяє комерційне використання. Якщо ви реміксуєте, адаптуєте або використовуєте матеріал, ви повинні ліцензувати модифікований матеріал на ідентичних умовах.\",\"H144rX\":\"Цей протокол невідомий або не підтримується наявним бінарним файлом FFmpeg.\",\"nlOxxw\":\"Це джерело не можна редагувати, поки воно використовується. Щоб продовжити, вам потрібно від'єднати джерело.\",\"mbSyrG\":[\"Ця версія інтерфейсу не підтримує доступний бінарний файл FFmpeg (\",[\"0\"],\"). Для роботи інтерфейсу потрібно \",[\"1\"],\". Будь ласка, використовуйте підтримуваний бінарник FFmpeg.\"],\"N/tTgz\":[\"Ця версія інтерфейсу не підтримує підключене ядро (\",[\"0\"],\"). Для роботи інтерфейсу потрібно \",[\"1\"],\". Будь ласка, використовуйте сумісну версію інтерфейсу.\"],\"2Vq5tr\":\"Ця версія інтерфейсу користувача сумісна.\",\"QxX9Z5\":\"Поріг (секунди)\",\"sNmspt\":\"Плиточні колони\",\"sYGp2E\":\"Ряди плитки\",\"wbOpwP\":\"Плитка\",\"H59P7E\":\"Час, протягом якого неактивне з'єднання з переглядачем буде вважатися закритим.\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"Для стабілізації роботи системи збільште довжину сегмента HLS для інтервалу ключового кадру на 2-3 * (Обробка та контроль).\",\"TP9/K5\":\"Токен\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"Верхнє поле\",\"7mjsuh\":\"Передати пряму трансляцію в Telegram-канал.\",\"Gxlq7L\":\"Передавати знімки основного джерела на HTTP/S сервер. Детальніше про налаштування можна дізнатися <0>тут.\",\"SdyhUl\":\"Передавати аудіоканал основного джерела на сервер Icecast. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"MayU3b\":\"Передавати основне джерело як HTTP-Live-Streaming (HLS) на HTTP/S сервер. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"3K8kpL\":\"Передавати основне джерело у форматі MPEG-DASH на HTTP/S-сервер. Детальнішу інформацію про налаштування можна знайти <0>тут.\",\"P/J230\":\"Передавати основне джерело до сервісу Brightcove Live. Детальнішу інформацію про налаштування можна знайти <0>тут.\",\"u0MhFy\":\"Передати основне джерело на службу CDN77 RTMP. Детальніше про налаштування <0>тут.\",\"zkgT7c\":\"Передати основне джерело на службу DaCast RTMP. Детальніше про налаштування <0>тут.\",\"in9xJz\":\"Передати основне джерело на datarhei Core Resource. Більш детальну інформацію про налаштування можна знайти <0>тут.\",\"PcgwEU\":\"Передати основне джерело на ресурс livespotting.com. Детальнішу інформацію про налаштування можна знайти <0>тут.\",\"D7jwpf\":\"Передати основне джерело на службу MPEG-TS. Детальніше про налаштування можна прочитати <0>тут.\",\"SpSgUV\":\"Передайте основне джерело на сервер Red5/Pro. Детальніше про налаштування можна дізнатися <0>тут.\",\"lIpqI/\":\"Передати основне джерело на сервер RTMP(e|s|t|te|ts). Докладні відомості про налаштування можна знайти <0>тут.\",\"pqR6nq\":\"Передати основне джерело на сервер RTSP. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"Q4dSnZ\":\"Передати основне джерело на сервер SRT. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"fx9S4p\":\"Передати основне джерело на UDP-сервер. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"GLXY2N\":\"Передати основне джерело на WOWZA-сервер. Детальніше про налаштування можна дізнатися <0>тут.\",\"AsMKFi\":\"Передати основне джерело до Akamai (MSL) Media Services Live. Докладнішу інформацію про налаштування MSL Encoder можна знайти <0>тут.\",\"FB364G\":\"Передайте основне джерело до сервісу Livepush RTMP. Детальніше про налаштування можна дізнатися <0>тут.\",\"CC9yS5\":\"Передавати основне джерело на RTMP-сервіс Nimo TV. Детальніше про налаштування можна дізнатися <0>тут.\",\"fP8ZYg\":\"Передайте основне джерело на сервіс Picarto TV RTMP. Детальніше про налаштування можна дізнатися <0>тут.\",\"D9A0LK\":\"Передати основне джерело на сервіс Restream RTMP. Детальніше про налаштування можна дізнатися <0>тут.\",\"YL800g\":\"Передача до Azure Media Services. Більш детальну інформацію можна знайти <0>тут.\",\"Abgy4c\":\"Передати в LinkedIn. Більш детальну інформацію можна знайти <0>тут.\",\"dhCZoS\":\"Передайте свій Livestream до служби Dailymotion RTMP. <0>Здесь ви можете знайти більше інформації про налаштування.\",\"tQNclD\":\"Передайте ваш Livestream на RTMP-сервіс Kick.com. <0>Здесь ви можете знайти більше інформації про налаштування.\",\"mQ0sjr\":\"Передавайте ваш Livestream на сервер Owncast. <0>Тут ви можете знайти більш детальну інформацію про налаштування.\",\"AqYRa3\":\"Передайте свій Livestream на сервіс Rumble RTMP. <0>Здесь ви можете знайти більше інформації про налаштування.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Передає ваш відеопотік з необхідним ключем, згенерованим у Twitter Producer. Ви можете знайти більше інформації про налаштування прямого ефіру на сторінці <0>Producer Twitter.\",\"ADKef2\":\"Налаштувати\",\"8jwViA\":\"Транспорт UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"Не вдалося завантажити конфіг.\",\"MWrgON\":\"Унікальний ідентифікатор на сервісі.\",\"Ef7StM\":\"Невідомий\",\"wiIpKZ\":\"Невідома помилка завантаження\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Невибране\",\"j9zg7e\":\"Відомості про оновлення (Changelog)\",\"ONWvwQ\":\"Завантаження\",\"OXItQT\":[\"Завантажте аудіофайл (\",[\"0\"],\"), щоб зациклити його.\"],\"75yxb7\":[\"Завантажте зображення або відеофайл (\",[\"0\"],\"), щоб зациклити його.\"],\"iAkPTY\":\"Не вдалося завантажити файл\",\"Jmy6pK\":\"Не вдалося завантажити логотип\",\"xl1xFp\":\"Не вдалося завантажити постер\",\"TjrbDj\":\"Час роботи\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"Використовуйте Auth0 для вашого запущеного ядра рестрімера. Більше <0>подробиць.\",\"JX4TqK\":\"Скористайтеся майстром (<0/>) для швидкого і простого налаштування або редагуйте (<1/>) коди безпосередньо у користувацькому режимі.\",\"YYTBz0\":\"Використовуйте свої авторські права і виберіть правильну ліцензію зображення. Вільну для всіх або дуже обмежену. Коротко обговоріть, що інші можуть робити з вашим зображенням.\",\"2UPEb1\":\"Вкажіть свої авторські права та виберіть правильну ліцензію на зображення. Незалежно від того, безкоштовний для всіх чи з суворими обмеженнями. Коротко обговоріть, що іншим дозволено робити з вашим зображенням.\",\"n/LTdz\":\"використовувати_настінний_годинник_як_мітки_часу\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"Реєстрація користувача\",\"7sNhEz\":\"Ім'я користувача\",\"Gv3pbp\":\"Ім'я користувача для авторизації.\",\"RQSvXZ\":\"Ім'я користувача для пристрою.\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M є експериментальним.\",\"PvM7Yi\":\"Змінна частота кадрів (VFR)\",\"hpBTpL\":\"оксамитовий\",\"uIAsxu\":\"Вертикальне перевертання\",\"vSJd18\":\"Відео\",\"auaWhL\":\"Відеопристрій\",\"/skRGV\":\"Налаштування відео\",\"EzOjvB\":\"Налаштування відео\",\"QcQXbU\":\"Джерело відео\",\"M/TIv1\":\"Переглядач\",\"L2hKw+\":\"фіолетовий\",\"hA6FFn\":\"Віртуальне джерело\",\"/cF7Rs\":\"Гучність\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Ми рекомендуємо OpenMAX IL для Raspberry PI (3/4) з 32-розрядною операційною системою.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Ласкаво просимо до Restreamer v2, рішення для швидкої та легкої публікації відео. Безкоштовно для приватного та комерційного використання. Подальша допомога в <0>документах.\",\"hJfWkA\":\"Яку швидкість використовувати.\",\"6Pz2IF\":\"Де зберігати список відтворення та сегменти HLS. Рекомендується In-Memory.\",\"aWHAbR\":\"білий\",\"aFWU1n\":\"Ширина\",\"e0wV2Y\":\"Захист від запису\",\"l75CjT\":\"Так\",\"WPUsOF\":\"Ви не можете перервати роботу майстра, оскільки має бути визначено принаймні один вхід.\",\"qwY9F9\":\"Ви змінили конфігурацію. Необхідно перезапустити програму. Ви хочете перезапустити зараз?\",\"nxq2ni\":\"Ви повинні підключитися вручну\",\"RM3CEc\":\"У вас є незбережені зміни. Будь ласка, збережіть їх, перш ніж знову зможете керувати службою.\",\"/cg7qS\":\"Ваш потік потрібно кодувати, але немає відповідного кодера.\",\"BwrOm6\":\"Ваш потік потрібно закодувати. Виберіть потрібний енкодер:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Тестовий шаблон YUV\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>Список сумісності\",\"TkRUk0\":\"<0>Показати деталі зонда\",\"tBy4Bb\":\"1. Перейдіть до інтерфейсу цільового рестрімера.\",\"2JnpXL\":\"2. Створіть новий канал і виберіть RTMP або SRT сервер.\",\"YidyJl\":\"3. Скопіюйте URL-адресу і вставте її в поле \\\"Адреса цілі\\\".\",\"X1MZZp\":\"6 (+ гарантовано починається з ключового кадру)\",\"JVJkxU\":\"7 (+ фрагментований формат MP4)\",\"ssjjFt\":\"Відміна\",\"uyJsf6\":\"Про нас\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"Додати\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"Додайте зовнішні віджети та стилі на сайт публікації. Ви можете знайти кілька прикладів на сторінці допомоги.\",\"tsJWSj\":\"Додати новий канал\",\"PLTLdv\":\"Додати публікацію\",\"35l+l6\":[\"Додати: \",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"Адреса\",\"8M7jVn\":\"Посилання на зображення фону.\",\"Vu9yiv\":\"Порт для HTTP запитів.\",\"AQDW5r\":\"Порт для HTTPS запитів.\",\"tPrmjP\":\"Адреса:\",\"owt8Ow\":\"Налаштуйте кольори та фон сайту публікації за власним бажанням.\",\"uNXGDK\":\"Розширений моніторинг\",\"VNgKZz\":\"Розширені налаштування\",\"eiGNYb\":\"Розширені налаштування\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"Сповіщення електронною поштою\",\"N40H+G\":\"Всі\",\"Hw5q+W\":\"Всі кадри\",\"f2zxGk\":\"Всі важливі системні налаштування.\",\"lle3bd\":\"Дозволити всім рефералам\",\"bgFbIB\":\"Дозволяє підраховувати, скільки глядачів має потік.\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"Амплітуда\",\"ngteek\":\"Це значення задається змінною оточення.\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"Кінцеву точку API не знайдено. Налаштування не збережено.\",\"LMUw1U\":\"Додаток\",\"IrC12v\":\"Застосунок\",\"xnCC/2\":\"Ви впевнені, що хочете перервати роботу майстра?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"Аудіо\",\"n3RW8K\":\"Аудіопристрій\",\"sYyYfE\":\"Аудіо пристрій\",\"2he4Ra\":\"Аудіо з пристрою\",\"MvY15a\":\"Налаштування аудіо\",\"NoLJ6g\":\"Налаштування звуку\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 наразі недоступний, оскільки цей інтерфейс завантажено з ненадійного джерела.\",\"aKsflb\":\"Користувач Auth0\",\"VbeIOx\":\"Автор\",\"NJgJy9\":\"Авторизація\",\"R9Khdg\":\"Авто\",\"6yEk/V\":\"Автоматичне очищення всіх мультимедійних даних\",\"jT50Rz\":\"Автовідтворення\",\"csDS2L\":\"Доступно\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"Назад\",\"1KfyNL\":\"Кольори фону\",\"23c2Uw\":\"Фонове зображення\",\"r0bEmM\":\"Сервер резервного копіювання\",\"JFjQhH\":\"Резервний потік\",\"bkJ+QE\":\"Резервний URL\",\"OlXThP\":\"Пропускна здатність\",\"QYaaBO\":\"Контроль трафіку\",\"KSSL9f\":\"Банер\",\"0wJVK+\":\"Базова\",\"YR04fn\":\"Коефіцієнт звукового сигналу\",\"5bhON1\":\"Бітрейт\",\"Os3B4i\":\"Типи кешу блокування\",\"zOC7cT\":\"блакитний\",\"359XuU\":\"Нижнє поле\",\"aC3kWW\":\"Коротко опишіть, що побачать глядачі під час прямого ефіру.\",\"SehDNd\":\"коричневий\",\"Ptp9MF\":\"Колір кнопки\",\"Lp4WkO\":\"За висотою\",\"IeV/4P\":\"За шириною\",\"KxP5AO\":\"Кеш для файлів в /data.\",\"qX8ffo\":\"Час кешування (сек)\",\"4dRAku\":\"Типи кешування\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"Буфер захоплення\",\"aL2+1d\":\"Захоплювати кліки\",\"EOfLfP\":\"Захоплювати курсор\",\"ieS3Wc\":[\"Канал \\\"\",[\"0\"],\"\\\" збережено\"],\"lfFsZ4\":\"Канали\",\"WMCwmR\":\"Перевіряти оновлення\",\"vM6kpc\":\"Перевірити вимоги\",\"Wzgqhl\":\"Виберіть відео потік\",\"JpTR0/\":\"Виберіть аудіо потік\",\"BTNyrQ\":\"Виберіть пристрій введення ...\",\"f9QIui\":\"Виберіть вхідний потік ...\",\"/Y6zrN\":\"Виберіть між CFR та VFR (Авто)\",\"gObOjh\":\"Виберіть кодек ...\",\"v7lrmU\":\"Виберіть орендаря ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"Чанк\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"Закрити\",\"r8NEPc\":\"Введення коду\",\"BaUuhR\":\"Кодек\",\"jZlrte\":\"Колір\",\"sjVfrA\":\"Командир.\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"Конфігурація\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"Підтвердити пароль\",\"iSLIjg\":\"З'єднати\",\"NL3Gev\":\"Підключений пристрій\",\"ywAvGr\":\"З'єднано з <0/>\",\"lNg25t\":\"З'єднання ...\",\"y6+BXa\":\"Підключення до ядра Restreamer Core ...\",\"Td5lm6\":\"Не вдалося підключитися до ядра Restreamer Core, ймовірно, через змішаний вміст.\",\"awE5Py\":\"Постійна частота кадрів (CFR)\",\"DT0Af/\":\"Режим постійного квантування (від -1 до 255).\",\"4b3oEV\":\"Вміст\",\"U34RbB\":\"URL-адреса вмісту\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"копірки\",\"nPu6KK\":\"Ядра\",\"FSbpS7\":\"ПРОЦЕСОР\",\"n8Ycrf\":\"Обмеження процесора (у відсотках)\",\"uW5tVo\":\"Обмеження використання процесора у відсотках (0-100%), 0 - необмежене.\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"Творчі спільноти\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"Своє ...\",\"kH80Lk\":\"Кастомний аудіопристрій\",\"fW1XQD\":\"Користувацький аудіоіндекс\",\"bzREp0\":\"Кастомний бітрейт (кбіт/с)\",\"w9oKek\":\"Кастомне введення коду\",\"jYaP01\":\"Кастомна затримка\",\"2Gw+zZ\":\"Користувацький пристрій\",\"WCXGNp\":\"Користувацький формат\",\"ZkpZ06\":\"Кастомна частота кадрів\",\"1OXCgh\":\"Кастомний JSON-конфіг для ядра datarhei.\",\"kl56NX\":\"Користувацький інтервал між ключовими кадрами\",\"prIqWa\":\"Користувацький макет\",\"HSB43e\":\"Кастомна дискретизація (Гц)\",\"Efe3BI\":\"Користувацький масштаб\",\"E/2KdS\":\"Користувацький розмір\",\"Se794B\":\"Користувацький відеопристрій\",\"aqv915\":\"Спеціальний відеоіндекс\",\"v8OlX8\":\"Дані скопійовано в буфер обміну\",\"J/VBax\":\"Колір смерті\",\"d2TTfK\":\"Децибели (дБ)\",\"W034oz\":\"Декодер\",\"ovBPCi\":\"За замов.\",\"gFwPaj\":[\"За замовчуванням \",[\"0\"]],\"JQnkrI\":[\"За замовчуванням \",[\"0\"],\" (\",[\"1\"],\" секунд)\"],\"A7rne1\":\"Деінтерлейс (bwdif)\",\"yLth2B\":\"Деінтерлейс deint\",\"g3JmiG\":\"Режим деінтерлейсу\",\"aro6lN\":\"Парність деінтерлейсу\",\"YeWQto\":\"Затримка\",\"qBC9g9\":\"Затримка (ms)\",\"cnGeoo\":\"Видалити\",\"ScK3zL\":\"Видалення послуги публікації не можна скасувати. Публікація зупиняється негайно.\",\"cEx3oI\":\"Режим доставки\",\"Nu4oKW\":\"Опис\",\"f8fH8W\":\"Дизайн\",\"PEHQTf\":\"Пристрій\",\"+K0AvT\":\"Відключити\",\"miKA/E\":\"Відключити і продовжити\",\"5/pMTZ\":\"Відключення ...\",\"sPFHpI\":\"Диск\",\"qczNPP\":\"Дисковий кеш\",\"PUqOjv\":\"Дисковий накопичувач\",\"uTwT/l\":\"Ви дійсно бажаєте перезапустити програму?\",\"FgxcNT\":[\"Ви хочете видалити \\\"\",[\"0\"],\"\\\"?\"],\"NogZqg\":[\"Бажаєте видалити \",[\"title\"],\"?\"],\"0p+Mpn\":[\"Ви хочете відключити \\\"\",[\"0\"],\"\\\"?\"],\"TbjyhA\":\"Документи\",\"TvY/XA\":\"Документація\",\"jPtEhI\":\"Дуб. кадри\",\"diaSRH\":\"Кожне поле\",\"u2SnNO\":\"Кожен кадр\",\"ePK91l\":\"Змінити\",\"INCFjw\":\"Відредагуйте аудіо- та відеоджерела для прямого ефіру. Додайте опис і встановіть бажану ліцензію на контент.\",\"+7Wr2a\":[\"Змінити: \",[\"title\"]],\"e3GLqI\":\"Редагування: Плеєр\",\"dTPDyf\":\"Редагування: Веб-сайт публікації\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"Електронна пошта\",\"KKBlUU\":\"Вставка\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"Увімкнути\",\"No9svk\":\"Увімкніть періодичний звуковий сигнал щосекунди, помноживши це значення на несучу частоту\",\"R7s0Th\":\"Увімкнути резервний потік\",\"xA5zBY\":\"Увімкнути статистику переглядів\",\"r0zP4o\":\"Увімкнути зараз\",\"JwR989\":\"Увімкнути основний потік\",\"blkDNw\":\"Увімкнути RTMP сервер ...\",\"FgEhO4\":\"Увімкнути передачу RTMPS\",\"uGvvxq\":\"Увімкнути знімки\",\"IuL64N\":\"Увімкнути сервер SRT ...\",\"NJsnxf\":\"Наполегливо рекомендуємо увімкнути авторизацію. Інакше будь-хто зможе отримати доступ до цього екземпляра.\",\"xwS6bX\":\"Настійно рекомендується увімкнути базові повноваження. Інакше будь-хто зможе записати дані до /memfs.\",\"0zaXWu\":\"Енкодер\",\"o0XA5y\":\"Енкодування\",\"q1srUM\":\"Шифрування\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"Введіть назву нового каналу.\",\"f7sXvi\":\"Введіть пароль\",\"5QCNrf\":\"Введіть мережеву адресу джерела:\",\"WLnvCZ\":\"Введіть ім'я користувача\",\"ijwVVM\":\"Кодер ентропії\",\"SlfejT\":\"Помилка\",\"sHoMKO\":\"Помилка під час копіювання даних у буфер обміну\",\"TpqeIh\":[\"Помилка: \",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"Розширює область над списком каналів (чат).\",\"IBJg8n\":\"Розширює область під описом каналу (поля для коментарів).\",\"XeunlQ\":\"Експертний режим\",\"qNpEXB\":\"EXT-X-ВЕРСІЯ\",\"/svCaE\":\"Розгорнути список каналів\",\"tG09kC\":\"Розгорнути вміст\",\"bPWJOj\":\"Розгорнути нижній колонтитул\",\"SeaRa5\":\"Розгорнути верхній колонтитул\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"Не вдалося створити службу публікації (\",[\"0\"],\")\"],\"yT6MEY\":\"Не вдалося створити файли веб-сайту публікації.\",\"FGdPhH\":\"Не вдалось отримати джерело. Перевірте <0>probe details.\",\"DvfYM2\":[\"Не вдалося оновити токен: \",[\"0\"]],\"J0Jclh\":\"Не вдалося зберегти метадані прийому\",\"RPXHsU\":\"Не вдалося зупинити процес\",\"AhS7uc\":\"Не вдалося зберегти налаштування розміру плеєра.\",\"PcJRf4\":[\"Не вдалося зберегти службу публікації (\",[\"0\"],\")\"],\"2X8Mh5\":[\"Не вдалося оновити процес завантаження (\",[\"0\"],\")\"],\"t1E1OU\":[\"Не вдалося оновити процес створення знімка (\",[\"0\"],\")\"],\"bssUbs\":\"Не вдалося оновити програвач\",\"4SzVSX\":\"Не вдалося оновити сайт гравця\",\"H8gP5T\":\"Не вдалось перевірити джерело. Перевірте адресу.\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"Шлях до файлу\",\"o7J4JM\":\"Фільтр\",\"JmZ/+d\":\"Завершити\",\"k4A6IZ\":\"Фіксований розмір\",\"Xgkhyj\":\"Прапори\",\"+L0/av\":\"Для Javascript.\",\"VBU6dD\":\"Для таблиць стилів.\",\"XDTTEp\":\"Форс. вх. частотикадрів\",\"Y5YNoi\":\"Примусові ключові кадри\",\"kI1qVD\":\"Формат\",\"39hGxo\":\"FPS\",\"3oSVYq\":\"Втрата кадрів\",\"lPICcX\":\"Кадр пропускається наскрізь (Passthrough)\",\"T8wPu0\":\"Фреймбуфер\",\"Ou/g2q\":\"Частота кадрів\",\"RFrfTY\":\"Перетворення частоти кадрів (інтерполяція кадрів)\",\"xDfHbM\":\"Режим частоти кадрів\",\"4xNpe4\":\"Частота (Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"Загальні\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"Апаратний пристрій\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"Заголовок\",\"+670Zw\":\"Заголовок\",\"PFFhCT\":\"Висота\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS вивід\",\"oMxmoP\":\"Сервер HLS\",\"5/G5c1\":\"Статистика HLS для сховища In-memory\",\"wXoUQx\":\"Горизонтальний фліп\",\"8iPCh6\":\"Інтерфейс хостингового рестрімера\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP та HTTPS\",\"YmRLab\":\"HTTP-порт\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"Порт HTTPS\",\"Ptrvx5\":\"Ім'я сервісу, зрозуміле людині.\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"Якщо ви змінили порт, можливо, ядро рестрімера вже перезапустилося, але тепер воно доступне на іншому порту.\",\"OQONQS\":\"Якщо ви увімкнули Let's Encrypt TLS, може знадобитися деякий час для отримання сертифікатів. Переконайтеся, що ядро Restreamer Core доступне через порт 80 з інтернету. Будь ласка, перевірте журнал консолі Restreamer Core.\",\"yWR5EY\":\"код iframe\",\"7ZKroD\":\"Ігнор. діапазон IP\",\"VyUuZb\":\"URL зображення\",\"5n8FKh\":\"Відбиток\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"Окрім плеєра, Restreamer пропонує повноцінний лендінг, за допомогою якого ви можете легко і швидко презентувати свій прямий ефір.\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"У пам'яті\",\"EwM+sw\":\"Зберігання в пам'яті\",\"xmsVuq\":\"Несумісний\",\"exUN1j\":\"Успадкувати\",\"CDdi1R\":\"Ввести 1\",\"MJlrvd\":\"Ввести 2\",\"MppU96\":\"Ввести 3\",\"zBVRQb\":\"Ввести 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"Вхідний потік\",\"jnyWFc\":\"Домен екземпляра\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"Інтервал (секунди)\",\"C4WaV1\":\"Сповіщення про проблему\",\"lCnea7\":\"кбіт/с\",\"d3WJJg\":\"Інтервал між ключовими кадрами (секунди)\",\"rdU729\":\"Макет\",\"Cpw3fU\":\"Let's Encrypt сертифікація\",\"LgUs17\":\"Для роботи Let's Encrypt потрібне одне або декілька публічних доменних імен та доступний порт 80/TCP.\",\"oCHfGC\":\"Рівень\",\"eyLS1J\":\"Рівень системного протоколу.\",\"iQmbPb\":\"Ліцензія\",\"mQImez\":\"Колір життя\",\"6BDqha\":\"Обмеження\",\"1pbzRr\":\"Колір лінії\",\"Ce6Hrg\":\"Лінії\",\"yzF66j\":\"Посил.\",\"NBxw5Y\":\"Посилання, наведення миші\",\"xCrpEt\":\"Список розширень файлів, які не потрібно кешувати (наприклад, \\\".m3u8\\\"), по одному в рядку. Не заповнювати нічим.\",\"m2l8c3\":\"Список розширень файлів для кешу (наприклад, \\\". html\\\"), по одному на рядок. Залиште порожнім, щоб кешувати всі типи файлів.\",\"QYw6tl\":\"Список діапазонів IP-адрес у нотації CIDR, наприклад, 127.0.0.1/32, які статистика не буде записувати - по одному діапазону в рядку. Залиште порожнім, щоб записати всі сеанси.\",\"ELFO4F\":\"Розмір списку (сегменти)\",\"D0Nwch\":\"Послуга прямих трансляцій на dlive Live RTMP.\",\"n2VKys\":\"Пряма трансляція на Facebook Live RTMP\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"Прямі трансляції в медіа-мережу RTMP-сервіс.\",\"w9zSAv\":\"Пряма трансляція на PeerTube v3+ RTMP/S сервіс.\",\"SZ9Q++\":\"Прямі трансляції на сервіс Trovo Live RTMP.\",\"JJGagy\":\"Пряма трансляція до служби Twitch Live RTMP.\",\"4TnPVp\":\"Пряма трансляція до служби Vimeo Live RTMP\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"Рівень журналу\",\"x7PDL5\":\"Логування\",\"z0t9bb\":\"Логін\",\"+fL+Rj\":[\"Помилка входу: \",[\"0\"]],\"4cd7gw\":\"Помилка входу: не вдалося завантажити деталі API\",\"sNqu7k\":\"Логін/авторизація JWT\",\"iG7KNr\":\"Лого\",\"nOhz3x\":\"Вихід з системи\",\"DYX2fZ\":\"Петля\",\"SzaPTL\":\"Нормалізація гучності\",\"QGvS9k\":\"Низька затримка (буфер)\",\"GaV7al\":\"Основний канал\",\"Wsn0Uw\":\"Основний канал не знайдено\",\"tROIde\":\"Головний канал збережено\",\"nLVSux\":\"Канал головної сторінки (index.html).\",\"rd3Pv7\":\"Основне джерело\",\"f4txA1\":\"Супроводжувач:\",\"3iTz2L\":\"Зробити канал доступним у вигляді RTMP-потоку (експериментально).\",\"mMiku6\":\"Зробити канал доступним у вигляді потоку SRT (експериментально).\",\"6dZ9NS\":\"Позначені кадри\",\"iuA3xD\":\"Головний плейлист (покращує сумісність браузера/клієнта)\",\"WBpxnA\":\"Максимально дозволений розмір кешу, 0 для необмеженого.\",\"NzaPGT\":\"Максимально дозволені мегабайти оперативної пам'яті для /memfs, 0 для необмеженої.\",\"aaso5s\":\"Максимально дозволені мегабайти для споживання з жорсткого диска. 0 для необмеженого.\",\"4hp5D2\":\"Максимальна пропускна здатність Мбіт/с\",\"L+uBOR\":\"Максимальна затримка в мілісекундах.\",\"hkoCqq\":\"Максимальний розмір файлу (мегабайт)\",\"i96JfZ\":\"Максимальний розмір файлу для розміщення в кеші.\",\"Q9HspI\":\"Максимальна історія журналу\",\"bS9ZHz\":\"Максимальна кількість рядків журналу\",\"6sayfE\":\"Максимальний розмір (Мегабайт)\",\"09BWQO\":\"Максимальний час простою глядача (Секунди)\",\"hW0DV1\":\"Максимальна кількість глядачів\",\"UPyNTs\":\"МБ\",\"v8o+Rn\":\"Пам'ять\",\"KReOHe\":\"Обмеження пам'яті (мегабайти)\",\"fViWSz\":\"Обмеження на використання пам'яті в мегабайтах, 0 для необмеженого.\",\"emJ6M7\":\"Мета інформація\",\"6GBt0m\":\"Метадані\",\"SCcIsq\":[\"Мінімум \",[\"0\"],\", за замовчуванням \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Форма\",\"QA/rur\":\"Більше про ліцензії тут\",\"fyGu1l\":\"Більше про сервіс\",\"yBsv2n\":\"Докладніше про авторські права Twitter <0>тут.\",\"ZpfAc9\":\"Докладніше про авторські права YouTube <0>тут.\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"Повинен бути більшим за максимальний розмір файлу у кеші.\",\"gC9RIS\":\"Повинен бути меншим за максимальний розмір кешу.\",\"R7SsBE\":\"Вимк. зв.\",\"K0rCAk\":\"Вимкнути звук каналу.\",\"Jv/kid\":\"Вимкнути звук зліва\",\"FsCP6P\":\"Вимкнути звук зліва\",\"6YtxFj\":\"Імя\",\"0ZkQqR\":\"Ім'я для шаблону. Якщо ім'я вже існує, воно буде замінено.\",\"OR475H\":\"Мережа\",\"KZDcDr\":\"Мережеве джерело\",\"hXzOVo\":\"Далі\",\"JZrXI6\":\"Далі: Аудіо\",\"kZFy+Q\":\"Далі: налаштування відео\",\"1UzENP\":\"Немає\",\"p6Fxed\":\"Немає звуку\",\"bIDO3H\":\"Немає аудіопотоку\",\"nn9C5B\":\"Відсутній пристрій введення\",\"dEwhMr\":\"Жодної прямої трансляції не виявлено. Перевірте програмне забезпечення, яке надсилає потік.\",\"1FJdZA\":\"Джерело не вибрано\",\"3TfuWb\":\"Немає доступних джерел\",\"fiXA/y\":\"Відповідний енкодер не знайдено.\",\"acY4BT\":\"Відповідний фільтр не знайдено.\",\"/02FxK\":\"Немає відео\",\"AVWnC9\":\"Немає доступного потокового відео\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"Шум\",\"EdQY6l\":\"Жодного\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"Примітки\",\"/a9y2d\":\"Кількість рядків журналу для зберігання.\",\"ZD0urA\":\"Кількість логів для кожного процесу.\",\"Aia5w3\":\"Кількість секунд, протягом яких дозволено перевищувати ліміти.\",\"1lZb7D\":\"Кількість стовпчиків тайлів для кодування.\",\"InpHMl\":\"Кількість тайлів, якими кодується.\",\"wnRD5D\":\"Кількість рядів тайлів для кодування.\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"ОК\",\"+Xj01r\":\"Один реферал на рядок, наприклад, http://www.example.com\",\"1TNIig\":\"Відкрити\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"Вихідний буфер\",\"vjgq8y\":\"Панорамування\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"Кодова фраза\",\"Y+p0Tt\":\"Ключова фраза для шифрування SRT.\",\"fpQo1i\":\"Пароль повинен мати довжину від 10 до 79 символів\",\"3GZXaB\":\"Наскрізний доступ (копіювання) слід вимикати лише за необхідності. Кожне кодування вимагає додаткових ресурсів CPU/GPU.\",\"8ZsakT\":\"Пароль\",\"b+AuuK\":\"Пароль для авторизації.\",\"oREnCY\":\"Пароль для пристрою.\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"Зберігати статистику переглядів\",\"ANX1b0\":\"рожевий\",\"c8aBfM\":\"Піксельний формат\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"План <0>Початковий\",\"Ejic1p\":\"Платформи\",\"gtQk6c\":\"Відтворення\",\"vRayGs\":\"Плеєр\",\"tWB9Gz\":\"Налаштування плеєра збережено\",\"GIxxiU\":\"URL плеєра\",\"PUmLMn\":\"Сайт плеєра\",\"LKPR6G\":\"Плейлист\",\"luDqS5\":\"Версія плейлиста (M3U8). Версія 3 має найкращу сумісність з браузером/клієнтом.\",\"84gH7g\":\"Перевірте <0>журнал процесу\",\"OMpKNS\":\"Будь ласка, зверніться до оператора послуги та з'ясуйте, що відбувається.\",\"4lATxE\":\"Будь ласка, введіть свою електронну адресу, щоб підтвердити згоду з умовами надання послуг Let's Encrypt CA та отримувати повідомлення у разі виникнення проблем.\",\"bdMiXb\":\"Будь ласка, зв'яжіться з оператором сервісу і перевірте, що відбувається.\",\"wPZBpR\":\"Виберіть файл для завантаження.\",\"YcGRmx\":\"Будь ласка, використовуйте \\\"Наскрізний (копіювати)\\\", якщо це можливо. Кодування вимагає додаткових ресурсів CPU/GPU.\",\"06qnxB\":\"Будь ласка, зачекайте. Зонд транслює дані...\",\"FTIPkL\":\"Будь ласка, зачекайте. Налаштування потоку...\",\"hZ6znB\":\"Порт\",\"p/78dY\":\"Позиція\",\"d62Stt\":\"Постер\",\"PNap/Y\":\"URL-адреса зображення плакату\",\"6o2Onc\":\"Заготовка\",\"lxxyq5\":\"Первинний потік\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"Зонд\",\"1B9XX0\":\"Процес\",\"DL/nrw\":\"Керування процесом\",\"fzYV2N\":\"Деталі процесу\",\"zNVLia\":\"Звіт про процес\",\"PwMwvX\":\"Обробка та контроль\",\"vERlcd\":\"Профіль\",\"6+OdGi\":\"Протокол\",\"hEksWI\":\"Протоколи\",\"aLZh9m\":\"Публікація у відкритому доступі\",\"7lbVwY\":\"Службу публікації не знайдено\",\"ia1vIb\":\"Збережено налаштування веб-сайту публікації\",\"XHw75Y\":\"Публікації\",\"dsOSCf\":\"Режим витягування\",\"lQQ/zA\":\"Витягнути або отримати дані:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"Якість\",\"i9d+3B\":\"Raspberry Pi камера\",\"tbXj/A\":\"Контроль швидкості\",\"iaocTt\":\"Співвідношення\",\"WnSPyE\":\"rav1e Параметри\",\"6PpdQP\":\"Читання введених даних із рідною швидкістю\",\"bqsSkO\":\"Режим отримання\",\"gcoiFh\":\"Повторне підключення\",\"lakzvL\":\"Затримка перепідключення (секунди)\",\"HC1Dci\":[\"Повторне підключення через \",[\"0\"],\" с\"],\"uSDaLA\":[\"Не вдалося перепідключитися до ядра Restreamer Core за останні \",[\"RETRIES\"],\" секунд.\"],\"N7ojfh\":\"Не вдалося перепідключитися до ядра рестримера.\",\"lCF0wC\":\"Оновити\",\"uJ+Ve2\":\"Регіон\",\"CNipTv\":\"Зареєструвати користувача\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"Перезавантажити\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"Видаліть найстаріші записи, якщо /memfs заповнено\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"Потребує активації\",\"XMbkus\":\"Скинути логотип\",\"36SXzE\":\"Перезавантажити плакат\",\"6z9W13\":\"Перезапуск\",\"dKwnjv\":\"Потрібен перезапуск\",\"0Er6+M\":\"Перезапуск\",\"X1sT1j\":\"Перезапуск ядра рестримера ...\",\"o5q6jb\":\"Не вдалося перезапустити програму.\",\"x8cAsq\":\"Інструкції для рестрімера\",\"24fLVm\":\"Служба рестрімерів\",\"LCGjV4\":\"Отримання даних потоку...\",\"6gRgw8\":\"Повторити\",\"Qe1vaN\":\"Тестовий шаблон RGB\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"Поворот\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"Програма RTMP для публікації.\",\"7ggERB\":\"Вихід RTMP\",\"V82lE+\":\"Порт RTMP\",\"itARjB\":\"RTMP-сервер\",\"WWZqzz\":\"Сервер RTMP не ввімкнено\",\"HhOPCL\":\"Адреса сервера RTMP.\",\"DbHOhO\":\"Токен RTMP для публікації та відтворення. Токен є значенням параметра URL-запиту 'token'.\",\"OAZeFE\":\"Порт RTMPS\",\"Wt/wFL\":\"Сервер RTMPS\",\"xwonDv\":\"Адреса прослуховування сервера RTMPS.\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"Правило\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"Випробування\",\"tfDRzk\":\"Зберегти\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"Масштаб\",\"6aaceW\":\"Розмір масштабу\",\"xbb037\":\"Зберігання файлів у кеші, сек.\",\"geM4Wc\":\"Секунд до перезапуску процесу.\",\"iF7dnC\":\"Секунд до завершення застарілого процесу.\",\"mydmGn\":\"Секунд до оновлення знімка/мініатюри джерела відео.\",\"a3LDKx\":\"Безпека\",\"Gkr6zI\":\"Токен безпеки\",\"/Ocrtf\":\"Колір панелі пошуку\",\"4lDlYf\":\"Довжина сегмента (секунд)\",\"XfNrg+\":\"Сегмент буде вирізано на наступному ключовому кадрі після закінчення цього часу. Рекомендується 2.\",\"jHCoDy\":\"Сегментація\",\"htbsw4\":\"Виберіть пристрій:\",\"O+ruJ3\":\"Виберіть джерело звуку:\",\"6MTTpq\":\"Виберіть RTMP або SRT (якщо ввімкнено) для меншої затримки.\",\"E7haRr\":\"Виберіть джерело...\",\"PlZ1aw\":\"Виберіть джерело відео:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"Виберіть налаштування кодування:\",\"aT3o8A\":\"Виберіть налаштування фільтрів (необов'язково):\",\"ylXj1N\":\"Вибрано\",\"kYpw4+\":\"Обраний канал\",\"p7/fS2\":\"Вибрано\",\"SOePwi\":\"Надіслати анонімні метрики (допомагає нам для подальшого розвитку)\",\"kOhBl+\":\"Надіслати потік на адресу ...\",\"E1X5xY\":\"Надіслати потік на цю адресу:\",\"d/IMf3\":\"Надсилати відео до Framebuffer\",\"sGH11W\":\"Сервер\",\"9rG25a\":\"URL-адреса сервера\",\"T3bXxK\":\"Сервіс\",\"KPPdUO\":\"Назва сервісу\",\"DOrSw/\":\"Токен сервісу для моніторингу.\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"Сеанси\",\"xwK3ty\":\"Встановіть конфігурацію rav1e за допомогою :-розділеного списку параметрів key=value.\",\"FIIk8R\":\"Встановлює обмеження пропускної здатності в Мбіт/с для вихідної передачі даних HLS. Усі служби, такі як RTMP і вихідні процеси, беруть участь у розрахунку. Якщо пропускна здатність перевищена, програми перегляду HLS отримують код стану HTTP 509 (Перевищено ліміт пропускної здатності). 0 - пропускна здатність необмежена.\",\"cOG/FK\":\"Встановлює ліміт перегляду для сеансів HLS. Якщо ліміт перевищено, програми перегляду HLS отримують код статусу HTTP 509 (перевищено ліміт пропускної здатності). 0 необмежений.\",\"mcJFKm\":\"Налаштування для підключення до сервісу.\",\"Tz0i8g\":\"Налаштування\",\"IiOZ6R\":\"Налаштування (експертний режим)\",\"t64OSP\":\"Налаштування для шляху до /data. Доступ захищено за допомогою\",\"Ytdvyh\":\"Налаштування для шляху /memfs.\",\"1w3lYe\":\"Налаштування збережено. Всі зміни будуть застосовані після перезапуску програми.\",\"XUw3i9\":\"Кнопка \\\"Поділитися\",\"oD0Oes\":\"Показує посилання на проект.\",\"+vv4q2\":\"Зареєструватися (безкоштовно)\",\"JXVFAm\":\"Тиша\",\"VSK9FJ\":\"Вимкнутий звук\",\"L8Jb2l\":\"Синус\",\"MxZN16\":\"Назва сайту\",\"Cj2Gtd\":\"Розмір\",\"yTZe+y\":\"Знімок\",\"pSUgnY\":\"Соціальний логін (OAuth2, 2FA)\",\"qe9jaI\":\"Час очікування сокета (мікросекунд)\",\"bRN5nm\":\"Програмне забезпечення\",\"wdxz7K\":\"Джерело\",\"sywlQb\":\"Джерело та кодування\",\"l9wI00\":\"Швидкість\",\"vdhBFK\":\"Попереднє налаштування швидкості\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"Вихід SRT\",\"YqnAto\":\"Сервер SRT\",\"k6hpqB\":\"Сервер SRT не увімкнено\",\"SzqwHY\":\"Адреса прослуховування сервера SRT.\",\"KwbjpB\":\"Токен SRT для публікації та відтворення. Токен є значенням потокового параметра 'token'.\",\"Aj28wT\":\"Застарілий таймаут (секунди)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"Статистика\",\"BrrIs8\":\"Сховище\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"Зберігає статистику переглядів на диску.\",\"hou0tP\":\"Потік\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Ключ для стріму\",\"bqiH5R\":\"Ключ потоку\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Назва потоку\",\"eXELiS\":\"Назви потоків\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"Джерело потоку для сервісу публікацій (експериментальний).\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"URL потоку\",\"+fVH0Y\":\"Підтримка даташей Restreamer\",\"5HSoct\":\"Підтримує HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT та інші.\",\"D+NlUC\":\"Система\",\"jkuW2z\":\"Цільова адреса\",\"/K2CvV\":\"Шаблон\",\"2Ivkf/\":\"Шаблон, який буде використано для створення веб-сайту публікації. Кнопка видалення видаляє вибір з системи.\",\"4Y5H+g\":\"Умови\",\"tRNH6x\":\"Тестовий шаблон\",\"EtlVOt\":\"Тестовий шаблон (розширений)\",\"wGPolR\":\"Кольори тексту\",\"m0TUJj\":\"Амплітуда (0.0 - 1.0) генерованого аудіопотоку\",\"8C6xwe\":\"Програма використовує стару версію налаштувань.\",\"VPQVR2\":\"Доступний двійковий файл FFmpeg не підтримує жодного з необхідних протоколів.\",\"Gx9PPK\":\"Бітрейт аудіопотоку.\",\"T2kk3f\":\"Несуча частота\",\"JAOLK8\":[\"Канал \\\"\",[\"0\"],\"\\\" не вдалося видалити\"],\"jNaBhy\":[\"Канал \\\"\",[\"0\"],\"\\\" було видалено\"],\"SD8pYJ\":\"Видалення цього каналу не можна відновити. Всі публікації цього каналу будуть видалені.\",\"bnkV//\":\"Вхідний профіль не завершено. Будь ласка, визначте джерело відео та аудіо.\",\"wCYjmB\":\"Профіль вхідного сигналу не є повним. Будь ласка, вкажіть джерело відео та/або аудіо.\",\"JMaqWu\":\"Макет аудіопотоку.\",\"0dqo+p\":\"Максимальна кількість сегментів плейлиста. 0 буде містити всі сегменти. 6 рекомендується.\",\"BDgbiW\":\"Колір шуму\",\"SxGu7I\":\"Особа, яка пов’язала твір із цією угодою, присвятила твір суспільному надбанню, відмовившись від усіх своїх прав на твір у всьому світі відповідно до закону про авторське право, включаючи всі пов’язані та суміжні права, у межах, дозволених законом. Ви можете копіювати, змінювати, поширювати та виконувати роботу, навіть у комерційних цілях, без запиту дозволу.\",\"XISvrq\":\"Загальнодоступне доменне ім'я хоста, на якому працює цей рестрімер. Кілька доменних імен слід розділяти комою.\",\"yt3d3G\":[\"Не вдалося видалити службу публікації \\\"\",[\"0\"],\"\\\".\"],\"zYcO/c\":[\"Створено службу публікації \\\"\",[\"0\"],\"\\\".\"],\"AQE+oz\":[\"Службу публікації \\\"\",[\"0\"],\"\\\" видалено\"],\"qVLWvp\":\"Створено службу публікації\",\"njj2Wn\":\"Для виводу RTMP потрібен сервер RTMP.\",\"WRxiP8\":\"Частота дискретизації аудіопотоку.\",\"/pZjRr\":\"Вибраний файл занадто великий (<0/>). Дозволено лише <1/>.\",\"VBaSn9\":[\"Вибраний тип файлу (\",[\"0\"],\") не допускається. Допустимі типи файлів \",[\"1\"]],\"fM410X\":[\"Налаштування для \\\"\",[\"0\"],\"\\\" збережено\"],\"02ii2e\":\"Джерело не транслює жодних аудіопотоків.\",\"+2cAEU\":\"Джерело не транслює жодних аудіопотоків. Перевірте <0>деталі зонда.\",\"pfqmY7\":\"Джерело не надає жодних сумісних аудіопотоків.\",\"VO9KeK\":\"Джерело не надає жодних сумісних відеопотоків. Будь ласка, перевірте <0>вимоги.\",\"007foU\":\"Джерело не надає відеопотоків. Перевірте <0>деталі зонда.\",\"lAsMdV\":\"Джерело не надає відеопотоків. Будь ласка, перевірте пристрій.\",\"XlnvcR\":\"Для виводу SRT потрібен сервер SRT.\",\"w6uuIE\":\"Джерело відео не надає сумісного аудіопотоку. <Рекомендується ввімкнути беззвучний звук. Сервіси, такі як YouTube, Facebook & Co. вимагають аудіоканал.\",\"YJJ2RL\":\"Джерело відео сумісне. Виберіть бажану роздільну здатність:\",\"wEiZHy\":\"Доступні оновлення. Тут ви можете отримати додаткову інформацію.\",\"4p1MgS\":\"Виникла проблема зі збереженням налаштувань. Налаштування не збережено.\",\"YJhhwT\":[\"Виникла помилка під час підключення до Restreamer Core за адресою \",[\"0\"],\".\"],\"q42VsF\":[\"Виникла помилка під час завантаження: \",[\"0\"]],\"HM96PJ\":\"Під час налаштування потоку сталася помилка.\",\"LoDP+Y\":\"Помилки в налаштуваннях. Налаштування не збережено.\",\"l92ZKN\":\"Відсутній метод входу.\",\"cPKuc8\":\"Це фіктивний сервіс, який пояснює вам концепцію сервісу.\",\"Ku8nyu\":\"Це не обов'язково помилка. Однак, може знадобитися трохи більше часу для перезапуску ядра Restreamer Core...\",\"vCRP3w\":\"Тут варто згадати про правила авторського права для цільової аудиторії цього сервісу.\",\"Hx7k3c\":\"Ця ліцензія дозволяє повторним користувачам копіювати та поширювати матеріал на будь-якому носії чи у будь-якому форматі лише в неадаптованій формі та лише за умови вказування авторства. Ліцензія дозволяє комерційне використання.\",\"6OeMYB\":\"Ця ліцензія дозволяє повторним користувачам копіювати та поширювати матеріал на будь-якому носії чи у будь-якому форматі лише в неадаптованій формі, лише з некомерційною метою та лише за умови вказування авторства.\",\"TUuhsB\":\"Ця ліцензія дозволяє повторним користувачам розповсюджувати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі лише для некомерційних цілей і лише за умови вказування авторства.\",\"kVtKRl\":\"Ця ліцензія дозволяє повторним користувачам розповсюджувати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі лише для некомерційних цілей і лише за умови вказування авторства. Якщо ви реміксуєте, адаптуєте або використовуєте матеріал, ви повинні ліцензувати модифікований матеріал на ідентичних умовах.\",\"FpX5mp\":\"Ця ліцензія дозволяє повторним користувачам поширювати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі, за умови, що автор вказує автора. Ліцензія дозволяє комерційне використання.\",\"SDvwLd\":\"Ця ліцензія дозволяє повторним користувачам поширювати, реміксувати, адаптувати та створювати матеріал на будь-якому носії чи у будь-якому форматі, за умови, що автор вказує автора. Ліцензія дозволяє комерційне використання. Якщо ви реміксуєте, адаптуєте або використовуєте матеріал, ви повинні ліцензувати модифікований матеріал на ідентичних умовах.\",\"H144rX\":\"Цей протокол невідомий або не підтримується наявним бінарним файлом FFmpeg.\",\"nlOxxw\":\"Це джерело не можна редагувати, поки воно використовується. Щоб продовжити, вам потрібно від'єднати джерело.\",\"mbSyrG\":[\"Ця версія інтерфейсу не підтримує доступний бінарний файл FFmpeg (\",[\"0\"],\"). Для роботи інтерфейсу потрібно \",[\"1\"],\". Будь ласка, використовуйте підтримуваний бінарник FFmpeg.\"],\"N/tTgz\":[\"Ця версія інтерфейсу не підтримує підключене ядро (\",[\"0\"],\"). Для роботи інтерфейсу потрібно \",[\"1\"],\". Будь ласка, використовуйте сумісну версію інтерфейсу.\"],\"2Vq5tr\":\"Ця версія інтерфейсу користувача сумісна.\",\"QxX9Z5\":\"Поріг (секунди)\",\"sNmspt\":\"Плиточні колони\",\"sYGp2E\":\"Ряди плитки\",\"wbOpwP\":\"Плитка\",\"H59P7E\":\"Час, протягом якого неактивне з'єднання з переглядачем буде вважатися закритим.\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"Для стабілізації роботи системи збільште довжину сегмента HLS для інтервалу ключового кадру на 2-3 * (Обробка та контроль).\",\"TP9/K5\":\"Токен\",\"q+c+Fv\":\"Верхнє поле\",\"7mjsuh\":\"Передати пряму трансляцію в Telegram-канал.\",\"Gxlq7L\":\"Передавати знімки основного джерела на HTTP/S сервер. Детальніше про налаштування можна дізнатися <0>тут.\",\"SdyhUl\":\"Передавати аудіоканал основного джерела на сервер Icecast. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"MayU3b\":\"Передавати основне джерело як HTTP-Live-Streaming (HLS) на HTTP/S сервер. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"3K8kpL\":\"Передавати основне джерело у форматі MPEG-DASH на HTTP/S-сервер. Детальнішу інформацію про налаштування можна знайти <0>тут.\",\"P/J230\":\"Передавати основне джерело до сервісу Brightcove Live. Детальнішу інформацію про налаштування можна знайти <0>тут.\",\"u0MhFy\":\"Передати основне джерело на службу CDN77 RTMP. Детальніше про налаштування <0>тут.\",\"zkgT7c\":\"Передати основне джерело на службу DaCast RTMP. Детальніше про налаштування <0>тут.\",\"in9xJz\":\"Передати основне джерело на datarhei Core Resource. Більш детальну інформацію про налаштування можна знайти <0>тут.\",\"PcgwEU\":\"Передати основне джерело на ресурс livespotting.com. Детальнішу інформацію про налаштування можна знайти <0>тут.\",\"D7jwpf\":\"Передати основне джерело на службу MPEG-TS. Детальніше про налаштування можна прочитати <0>тут.\",\"SpSgUV\":\"Передайте основне джерело на сервер Red5/Pro. Детальніше про налаштування можна дізнатися <0>тут.\",\"lIpqI/\":\"Передати основне джерело на сервер RTMP(e|s|t|te|ts). Докладні відомості про налаштування можна знайти <0>тут.\",\"pqR6nq\":\"Передати основне джерело на сервер RTSP. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"Q4dSnZ\":\"Передати основне джерело на сервер SRT. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"fx9S4p\":\"Передати основне джерело на UDP-сервер. Докладнішу інформацію про налаштування можна знайти <0>тут.\",\"GLXY2N\":\"Передати основне джерело на WOWZA-сервер. Детальніше про налаштування можна дізнатися <0>тут.\",\"AsMKFi\":\"Передати основне джерело до Akamai (MSL) Media Services Live. Докладнішу інформацію про налаштування MSL Encoder можна знайти <0>тут.\",\"FB364G\":\"Передайте основне джерело до сервісу Livepush RTMP. Детальніше про налаштування можна дізнатися <0>тут.\",\"CC9yS5\":\"Передавати основне джерело на RTMP-сервіс Nimo TV. Детальніше про налаштування можна дізнатися <0>тут.\",\"fP8ZYg\":\"Передайте основне джерело на сервіс Picarto TV RTMP. Детальніше про налаштування можна дізнатися <0>тут.\",\"D9A0LK\":\"Передати основне джерело на сервіс Restream RTMP. Детальніше про налаштування можна дізнатися <0>тут.\",\"YL800g\":\"Передача до Azure Media Services. Більш детальну інформацію можна знайти <0>тут.\",\"Abgy4c\":\"Передати в LinkedIn. Більш детальну інформацію можна знайти <0>тут.\",\"dhCZoS\":\"Передайте свій Livestream до служби Dailymotion RTMP. <0>Здесь ви можете знайти більше інформації про налаштування.\",\"tQNclD\":\"Передайте ваш Livestream на RTMP-сервіс Kick.com. <0>Здесь ви можете знайти більше інформації про налаштування.\",\"mQ0sjr\":\"Передавайте ваш Livestream на сервер Owncast. <0>Тут ви можете знайти більш детальну інформацію про налаштування.\",\"AqYRa3\":\"Передайте свій Livestream на сервіс Rumble RTMP. <0>Здесь ви можете знайти більше інформації про налаштування.\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"Передає ваш відеопотік з необхідним ключем, згенерованим у Twitter Producer. Ви можете знайти більше інформації про налаштування прямого ефіру на сторінці <0>Producer Twitter.\",\"ADKef2\":\"Налаштувати\",\"8jwViA\":\"Транспорт UDP\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"Не вдалося завантажити конфіг.\",\"MWrgON\":\"Унікальний ідентифікатор на сервісі.\",\"Ef7StM\":\"Невідомий\",\"wiIpKZ\":\"Невідома помилка завантаження\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"Невибране\",\"j9zg7e\":\"Відомості про оновлення (Changelog)\",\"ONWvwQ\":\"Завантаження\",\"OXItQT\":[\"Завантажте аудіофайл (\",[\"0\"],\"), щоб зациклити його.\"],\"75yxb7\":[\"Завантажте зображення або відеофайл (\",[\"0\"],\"), щоб зациклити його.\"],\"iAkPTY\":\"Не вдалося завантажити файл\",\"Jmy6pK\":\"Не вдалося завантажити логотип\",\"xl1xFp\":\"Не вдалося завантажити постер\",\"TjrbDj\":\"Час роботи\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"Використовуйте Auth0 для вашого запущеного ядра рестрімера. Більше <0>подробиць.\",\"JX4TqK\":\"Скористайтеся майстром (<0/>) для швидкого і простого налаштування або редагуйте (<1/>) коди безпосередньо у користувацькому режимі.\",\"YYTBz0\":\"Використовуйте свої авторські права і виберіть правильну ліцензію зображення. Вільну для всіх або дуже обмежену. Коротко обговоріть, що інші можуть робити з вашим зображенням.\",\"2UPEb1\":\"Вкажіть свої авторські права та виберіть правильну ліцензію на зображення. Незалежно від того, безкоштовний для всіх чи з суворими обмеженнями. Коротко обговоріть, що іншим дозволено робити з вашим зображенням.\",\"n/LTdz\":\"використовувати_настінний_годинник_як_мітки_часу\",\"B3WxC7\":\"Реєстрація користувача\",\"7sNhEz\":\"Ім'я користувача\",\"Gv3pbp\":\"Ім'я користувача для авторизації.\",\"RQSvXZ\":\"Ім'я користувача для пристрою.\",\"zze3B5\":\"V4L2_M2M є експериментальним.\",\"PvM7Yi\":\"Змінна частота кадрів (VFR)\",\"hpBTpL\":\"оксамитовий\",\"uIAsxu\":\"Вертикальне перевертання\",\"vSJd18\":\"Відео\",\"auaWhL\":\"Відеопристрій\",\"/skRGV\":\"Налаштування відео\",\"EzOjvB\":\"Налаштування відео\",\"QcQXbU\":\"Джерело відео\",\"M/TIv1\":\"Переглядач\",\"L2hKw+\":\"фіолетовий\",\"hA6FFn\":\"Віртуальне джерело\",\"/cF7Rs\":\"Гучність\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"Ми рекомендуємо OpenMAX IL для Raspberry PI (3/4) з 32-розрядною операційною системою.\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"Ласкаво просимо до Restreamer v2, рішення для швидкої та легкої публікації відео. Безкоштовно для приватного та комерційного використання. Подальша допомога в <0>документах.\",\"hJfWkA\":\"Яку швидкість використовувати.\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"Де зберігати список відтворення та сегменти HLS. Рекомендується In-Memory.\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"білий\",\"aFWU1n\":\"Ширина\",\"e0wV2Y\":\"Захист від запису\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"Так\",\"WPUsOF\":\"Ви не можете перервати роботу майстра, оскільки має бути визначено принаймні один вхід.\",\"qwY9F9\":\"Ви змінили конфігурацію. Необхідно перезапустити програму. Ви хочете перезапустити зараз?\",\"nxq2ni\":\"Ви повинні підключитися вручну\",\"RM3CEc\":\"У вас є незбережені зміни. Будь ласка, збережіть їх, перш ніж знову зможете керувати службою.\",\"/cg7qS\":\"Ваш потік потрібно кодувати, але немає відповідного кодера.\",\"BwrOm6\":\"Ваш потік потрібно закодувати. Виберіть потрібний енкодер:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"Тестовий шаблон YUV\"}")}; \ No newline at end of file diff --git a/src/locales/uk/messages.po b/src/locales/uk/messages.po index 7a6e0e8..a8f243e 100644 --- a/src/locales/uk/messages.po +++ b/src/locales/uk/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>Список сумісності" msgid "<0>Show probe details" msgstr "<0>Показати деталі зонда" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. Перейдіть до інтерфейсу цільового рестрімера." @@ -76,11 +76,16 @@ msgstr "Відміна" msgid "About" msgstr "Про нас" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "Аудіо" @@ -302,10 +311,6 @@ msgstr "Автор" msgid "Authorization" msgstr "Авторизація" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "Авто" @@ -322,10 +327,6 @@ msgstr "Автовідтворення" msgid "Available" msgstr "Доступно" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "Час кешування (сек)" msgid "Cache types" msgstr "Типи кешування" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "Чанк" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "Колір" msgid "Command" msgstr "Командир." -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "Конфігурація" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "Підключений пристрій" msgid "Connected since <0/>" msgstr "З'єднано з <0/>" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "З'єднання ..." @@ -616,15 +618,19 @@ msgstr "Режим постійного квантування (від -1 до 2 msgid "Content" msgstr "Вміст" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "URL-адреса вмісту" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "Обмеження процесора (у відсотках)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "Обмеження використання процесора у відсотках (0-100%), 0 - необмежене." -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "Творчі спільноти" @@ -672,10 +670,6 @@ msgstr "Творчі спільноти" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "Режим деінтерлейсу" msgid "Deinterlace parity" msgstr "Парність деінтерлейсу" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "Затримка" @@ -851,14 +841,6 @@ msgstr "Видалення послуги публікації не можна msgid "Delivering mode" msgstr "Режим доставки" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "Відключити" msgid "Disconnect & Continue" msgstr "Відключити і продовжити" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "Редагування: Плеєр" msgid "EDIT: Publication Website" msgstr "Редагування: Веб-сайт публікації" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "Електронна пошта" msgid "Embed" msgstr "Вставка" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "Енкодування" msgid "Encryption" msgstr "Шифрування" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "Введіть назву нового каналу." @@ -1101,12 +1099,12 @@ msgstr "Помилка" msgid "Error while copying data to clipboard" msgstr "Помилка під час копіювання даних у буфер обміну" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "Помилка: {0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "Шлях до файлу" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "Фільтр" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "Загальні" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Google Analytics Tracker Name" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "Апаратний пристрій" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "Заголовок" msgid "Height" msgstr "Висота" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "Статистика HLS для сховища In-memory" msgid "Horizontal Flip" msgstr "Горизонтальний фліп" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "Інтерфейс хостингового рестрімера" @@ -1438,8 +1429,8 @@ msgstr "Порт HTTPS" msgid "Human readable name on the service." msgstr "Ім'я сервісу, зрозуміле людині." -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "Несумісний" msgid "Inherit" msgstr "Успадкувати" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "Ввести 1" @@ -1527,6 +1514,14 @@ msgstr "Ввести 3" msgid "Inject 4" msgstr "Ввести 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "Інтервал між ключовими кадрами (секунд msgid "Layout" msgstr "Макет" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Let's Encrypt сертифікація" @@ -1668,6 +1659,10 @@ msgstr "Пряма трансляція до служби Twitch Live RTMP." msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "Пряма трансляція до служби Vimeo Live RTMP" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "Нормалізація гучності" msgid "Low latency (Buffer)" msgstr "Низька затримка (буфер)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "Основний канал" @@ -1848,6 +1843,10 @@ msgstr "Метадані" msgid "Mininum {0}, default {1}" msgstr "Мінімум {0}, за замовчуванням {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Форма" @@ -1870,7 +1869,7 @@ msgstr "Докладніше про авторські права Twitter <0>т msgid "More about YouTube's copyright <0>here." msgstr "Докладніше про авторські права YouTube <0>тут." -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "Немає звуку" msgid "No audio stream available" msgstr "Немає аудіопотоку" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "Відсутній пристрій введення" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "Жодної прямої трансляції не виявлено. Перевірте програмне забезпечення, яке надсилає потік." -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "Джерело не вибрано" @@ -1989,7 +1972,7 @@ msgstr "Відповідний енкодер не знайдено." msgid "No suitable filter found." msgstr "Відповідний фільтр не знайдено." -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "Немає відео" @@ -1998,10 +1981,6 @@ msgstr "Немає відео" msgid "No video stream available" msgstr "Немає доступного потокового відео" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Node ID" @@ -2052,10 +2031,6 @@ msgstr "Кількість тайлів, якими кодується." msgid "Number of tiles rows to encode with." msgstr "Кількість рядів тайлів для кодування." -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "Один реферал на рядок, наприклад, http://www. msgid "Open" msgstr "Відкрити" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "Вихідний буфер" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "Панорамування" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "Пароль для пристрою." msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "Плейлист" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Версія плейлиста (M3U8). Версія 3 має найкращу сумісність з браузером/клієнтом." -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "Перевірте <0>журнал процесу" @@ -2309,16 +2284,9 @@ msgstr "Заготовка" msgid "Primary stream" msgstr "Первинний потік" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "Процес" msgid "Process control" msgstr "Керування процесом" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "Деталі процесу" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "Протокол" msgid "Protocols" msgstr "Протоколи" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "Публікація у відкритому доступі" @@ -2437,6 +2401,10 @@ msgstr "Режим витягування" msgid "Pull or recieve the data:" msgstr "Витягнути або отримати дані:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "Повторне підключення" msgid "Reconnect delay (seconds)" msgstr "Затримка перепідключення (секунди)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "Регіон" msgid "Register user" msgstr "Зареєструвати користувача" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "Видаліть найстаріші записи, якщо /memfs заповнено" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Інструкції для рестрімера" msgid "Restreamer Service" msgstr "Служба рестрімерів" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "Отримання даних потоку..." @@ -2618,15 +2578,15 @@ msgstr "Повторити" msgid "RGB test pattern" msgstr "Тестовий шаблон RGB" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "Поворот" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "Правило" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "Масштаб" msgid "Scale size" msgstr "Розмір масштабу" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "Зберігання файлів у кеші, сек." @@ -2778,10 +2738,6 @@ msgstr "Сегмент буде вирізано на наступному кл msgid "Segmentation" msgstr "Сегментація" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "Виберіть джерело..." msgid "Select video source:" msgstr "Виберіть джерело відео:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "Виберіть, чи витягувати потік з <0>мережевого джерела (наприклад, мережевої камери) або з <1>внутрішнього RTMP-сервера (наприклад, потоки OBS до рестрімера)." - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "Назва сервісу" msgid "Service token for monitoring." msgstr "Токен сервісу для моніторингу." -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "Налаштування" msgid "Settings (expert mode)" msgstr "Налаштування (експертний режим)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "Налаштування для шляху до /data. Доступ захищено за допомогою" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "Розмір" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "Знімок" @@ -3005,7 +2957,7 @@ msgstr "Швидкість" msgid "Speed Preset" msgstr "Попереднє налаштування швидкості" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "Плитка" msgid "Time until an inactive viewer connection is treated as closed." msgstr "Час, протягом якого неактивне з'єднання з переглядачем буде вважатися закритим." -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "Для стабілізації роботи системи збільште довжину сегмента HLS для інтервалу ключового кадру на 2-3 * (Обробка та контроль)." @@ -3477,18 +3413,6 @@ msgstr "Для стабілізації роботи системи збільш msgid "Token" msgstr "Токен" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "Верхнє поле" @@ -3627,12 +3551,12 @@ msgstr "Налаштувати" msgid "UDP transport" msgstr "Транспорт UDP" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "Невідомий" msgid "Unknown upload error" msgstr "Невідома помилка завантаження" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "Не вдалося завантажити постер" msgid "Uptime" msgstr "Час роботи" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "Вкажіть свої авторські права та вибері msgid "use_wallclock_as_timestamps" msgstr "використовувати_настінний_годинник_як_мітки_часу" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "Реєстрація користувача" @@ -3773,10 +3693,6 @@ msgstr "Ім'я користувача для авторизації." msgid "Username for the device." msgstr "Ім'я користувача для пристрою." -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M є експериментальним." @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "Ми рекомендуємо OpenMAX IL для Raspberry PI (3/4) з 32-розрядною операційною системою." -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "Ласкаво просимо до Restreamer v2, рішення для msgid "What speed preset to use." msgstr "Яку швидкість використовувати." +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "Де зберігати список відтворення та сегменти HLS. Рекомендується In-Memory." +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "білий" @@ -3881,6 +3809,10 @@ msgstr "Ширина" msgid "Write protection" msgstr "Захист від запису" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "Так" @@ -3893,7 +3825,7 @@ msgstr "Ви не можете перервати роботу майстра, msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "Ви змінили конфігурацію. Необхідно перезапустити програму. Ви хочете перезапустити зараз?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "Ви повинні підключитися вручну" @@ -3910,14 +3842,6 @@ msgstr "Ваш потік потрібно кодувати, але немає msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "Ваш потік потрібно закодувати. Виберіть потрібний енкодер:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/locales/zh-hans/messages.js b/src/locales/zh-hans/messages.js index e19e18a..567678e 100644 --- a/src/locales/zh-hans/messages.js +++ b/src/locales/zh-hans/messages.js @@ -1 +1 @@ -/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"7N9jMK\":\"+ Agregar cuenta\",\"6pKbRS\":\"<0>兼容性列表\",\"TkRUk0\":\"<0>显示媒体信息头详情\",\"2Jc8Qb\":\"🎬 Create Live Broadcast & get stream key\",\"tBy4Bb\":\"1. 切换到目标 Restreamer 的界面。\",\"2JnpXL\":\"2. 创建一个新的频道并选择 RTMP 或 SRT 服务。\",\"YidyJl\":\"3. 复制 URL 并粘贴在 \\\"目标地址\\\" 字段。\",\"X1MZZp\":\"6 (+ 保证以关键帧开始)\",\"JVJkxU\":\"7 (+ fragmented MP4 格式)\",\"ssjjFt\":\"取消\",\"uyJsf6\":\"关于\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"添加\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"将外部小部件和样式添加到站点。您可以在帮助页面上找到一些示例。\",\"tsJWSj\":\"添加新频道\",\"PLTLdv\":\"添加串流输出\",\"35l+l6\":[\"添加:\",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"地址\",\"8M7jVn\":\"背景图片的地址。\",\"Vu9yiv\":\"HTTP请求监听的地址。\",\"AQDW5r\":\"HTTPS请求监听地址。\",\"tPrmjP\":\"地址\",\"owt8Ow\":\"根据喜好调整发布站点的颜色和背景。\",\"uNXGDK\":\"高级监控\",\"VNgKZz\":\"高级设置\",\"eiGNYb\":\"高级设置\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"邮件通知\",\"N40H+G\":\"全部\",\"Hw5q+W\":\"所有帧\",\"f2zxGk\":\"所有重要的系统设置。\",\"lle3bd\":\"允许所有来源\",\"bgFbIB\":\"允许统计媒体流播放量。\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"幅度\",\"ngteek\":\"设置该值的环境变量。\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"未找到 API endpoint。设置没有保存。\",\"LMUw1U\":\"App\",\"IrC12v\":\"Application\",\"xnCC/2\":\"确定要终止向导吗?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"/rTz0M\":\"音频\",\"n3RW8K\":\"音频设备\",\"sYyYfE\":\"音频设备\",\"2he4Ra\":\"来自设备的音频\",\"MvY15a\":\"音频设置\",\"NoLJ6g\":\"音频设置\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 当前不可用,因为此接口是从不安全的来源加载的。\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"作者\",\"NJgJy9\":\"权限\",\"ZAOOUN\":\"Authorize with Google\",\"R9Khdg\":\"自动\",\"6yEk/V\":\"自动清理所有媒体数据\",\"jT50Rz\":\"自动播放\",\"csDS2L\":\"可用的\",\"6r8anJ\":\"Avanzado: token manual (solo si no usas una cuenta conectada)\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"返回\",\"1KfyNL\":\"背景颜色\",\"23c2Uw\":\"背景图\",\"r0bEmM\":\"备用线路\",\"JFjQhH\":\"备份媒体流\",\"bkJ+QE\":\"备份地址\",\"OlXThP\":\"带宽\",\"QYaaBO\":\"带宽限制\",\"KSSL9f\":\"横幅\",\"0wJVK+\":\"常规\",\"YR04fn\":\"蜂鸣系数\",\"5bhON1\":\"比特率\",\"Os3B4i\":\"禁止缓存的文件类型\",\"zOC7cT\":\"蓝色\",\"359XuU\":\"底部区域\",\"aC3kWW\":\"简要描述观众将在直播中看到的内容。\",\"SehDNd\":\"棕色\",\"Ptp9MF\":\"按钮颜色\",\"Lp4WkO\":\"按高度\",\"IeV/4P\":\"按宽度\",\"KxP5AO\":\"缓存 /data 路径下的文件。\",\"qX8ffo\":\"缓存时间(秒)\",\"4dRAku\":\"缓存类型\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"捕获缓冲区\",\"aL2+1d\":\"捕获点击\",\"EOfLfP\":\"捕获指针\",\"ieS3Wc\":[\"已保存频道 \\\"\",[\"0\"],\"\\\"\"],\"lfFsZ4\":\"频道\",\"WMCwmR\":\"检查更新\",\"vM6kpc\":\"检查\",\"Wzgqhl\":\"选择一个视频流\",\"JpTR0/\":\"选择一个音频流\",\"BTNyrQ\":\"选择一个输入设备 ...\",\"f9QIui\":\"选择输入流 ...\",\"/Y6zrN\":\"在 CFR 和 VFR 中选择(自动)\",\"gObOjh\":\"选择编码器 ...\",\"v7lrmU\":\"选择 tenant ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"块\",\"yz7wBu\":\"关闭\",\"r8NEPc\":\"代码注入\",\"BaUuhR\":\"编码器\",\"jZlrte\":\"颜色\",\"sjVfrA\":\"指挥\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"gXE86e\":\"Comparte la URL (o QR) de la sala con el presentador\",\"ulBwwA\":\"Conectando…\",\"14PdY0\":\"配置\",\"RvD+7O\":\"Configuración de transmisión\",\"xnWESi\":\"确认密码\",\"iSLIjg\":\"连接\",\"NL3Gev\":\"已连接的设备\",\"ywAvGr\":\"连接建立于\",\"A8RjWL\":\"Connected:\",\"lNg25t\":\"连接中 ...\",\"y6+BXa\":\"连接到 Restreamer Core ...\",\"Td5lm6\":\"连接到 Restreamer Core 失败,原因可能是 mixed content。\",\"awE5Py\":\"固定帧率(CFR)\",\"DT0Af/\":\"常数量化器模式(-1 至 255)。\",\"4b3oEV\":\"内容\",\"U34RbB\":\"内容 URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"中央处理器\",\"n8Ycrf\":\"CPU 上限(百分比)\",\"uW5tVo\":\"CPU 使用限制,单位为百分比(0-100%),0 表示无限制。\",\"mBi1rP\":\"Creando transmisión…\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"wfd01O\":\"Creating broadcast...\",\"clkl39\":\"创作许可\",\"C9SKno\":\"Credentials saved\",\"GVznam\":\"Cuentas de Facebook conectadas\",\"BwJ+C7\":\"自定义 ...\",\"kH80Lk\":\"自定义音频设备\",\"fW1XQD\":\"自定义音频索引\",\"bzREp0\":\"自定义比特率(kbit/s)\",\"w9oKek\":\"自定义代码注入\",\"jYaP01\":\"自定义延迟\",\"2Gw+zZ\":\"自定义设备\",\"WCXGNp\":\"自定义格式\",\"ZkpZ06\":\"自定义帧率\",\"1OXCgh\":\"自定义 datarhei Core 的 JSON 配置。\",\"kl56NX\":\"自定义关键帧间隔\",\"prIqWa\":\"自定义 layout\",\"HSB43e\":\"自定义采样率(Hz)\",\"Efe3BI\":\"自定义缩放\",\"E/2KdS\":\"自定义尺寸\",\"Se794B\":\"自定义视频设备\",\"aqv915\":\"自定义视频索引\",\"v8OlX8\":\"已复制到剪贴板\",\"J/VBax\":\"Death color\",\"d2TTfK\":\"分贝(dB)\",\"W034oz\":\"解码器\",\"ovBPCi\":\"默认\",\"gFwPaj\":[\"默认 \",[\"0\"]],\"JQnkrI\":[\"默认 \",[\"0\"],\" (\",[\"1\"],\" 秒)\"],\"A7rne1\":\"去隔行(bwdif)\",\"yLth2B\":\"去隔行 deint\",\"g3JmiG\":\"去隔行模式\",\"aro6lN\":\"去隔行校验\",\"EnO7BX\":\"Dejar vacío para usar el host actual\",\"YeWQto\":\"延迟\",\"qBC9g9\":\"延迟(ms)\",\"cnGeoo\":\"删除\",\"ScK3zL\":\"删除串流输出服务无法撤消。串流输出立即停止。\",\"cEx3oI\":\"递送模式\",\"Jnt213\":\"Desconectar cuenta\",\"fYyinj\":\"Descripción\",\"Nu4oKW\":\"描述\",\"f8fH8W\":\"设计\",\"PEHQTf\":\"设备\",\"+K0AvT\":\"断开连接\",\"miKA/E\":\"断连 & 继续\",\"tKOw6Q\":\"Disconnect channel\",\"5/pMTZ\":\"正在断开连接 ...\",\"sPFHpI\":\"硬盘\",\"qczNPP\":\"硬盘缓存\",\"PUqOjv\":\"硬盘存储\",\"uTwT/l\":\"确定要立刻重启应用吗?\",\"FgxcNT\":[\"确定要删除 \\\"\",[\"0\"],\"\\\" 吗?\"],\"NogZqg\":[\"确定要删除 \",[\"title\"],\" 吗?\"],\"0p+Mpn\":[\"确定要断开 \\\"\",[\"0\"],\"\\\" 的连接吗?\"],\"TbjyhA\":\"文档\",\"TvY/XA\":\"文档\",\"jPtEhI\":\"重复帧\",\"diaSRH\":\"每个区域\",\"u2SnNO\":\"每一帧\",\"ePK91l\":\"编辑\",\"INCFjw\":\"编辑直播流的音频和视频源。添加描述,并设置您想要的内容许可。\",\"+7Wr2a\":[\"编辑:\",[\"title\"]],\"e3GLqI\":\"编辑:播放器\",\"dTPDyf\":\"编辑:发布的站点\",\"dt2VBU\":\"El presentador abre la sala en su navegador, selecciona la fuente y pulsa\",\"1D15hp\":\"El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket.\",\"jSIymb\":\"El token está expirado. Usa 🔄 para renovarlo.\",\"Li3vDf\":\"El video llega al Core vía RTMP y se distribuye a todos los destinos configurados\",\"O3oNi5\":\"邮箱\",\"KKBlUU\":\"内嵌\",\"PaQ3df\":\"启用\",\"No9svk\":\"启用以此值乘以载波频率的每秒周期蜂鸣\",\"R7s0Th\":\"允许备份媒体流\",\"xA5zBY\":\"允许数据统计\",\"r0zP4o\":\"现在启用\",\"JwR989\":\"启用主媒体流\",\"blkDNw\":\"启用 RTMP 服务 ...\",\"FgEhO4\":\"启用 RTMPS 传输\",\"uGvvxq\":\"允许快照\",\"IuL64N\":\"启用 SRT 服务器 ...\",\"NJsnxf\":\"强烈建议启用身份验证。否则,任何人都可以访问和控制该实例。\",\"xwS6bX\":\"强烈建议启用基本身份验证。否则,任何人都可以向 /memfs 中写入数据。\",\"0zaXWu\":\"编码器\",\"o0XA5y\":\"编码\",\"q1srUM\":\"加密\",\"qS2y97\":\"输入新频道的名字。\",\"f7sXvi\":\"输入密码\",\"5QCNrf\":\"输入网络源地址:\",\"WLnvCZ\":\"输入用户名\",\"ijwVVM\":\"加密编码器\",\"SlfejT\":\"错误\",\"sHoMKO\":\"复制到剪贴板时出现错误\",\"TpqeIh\":[\"错误:\",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"扩展频道列表上方的区域(实时聊天)。\",\"IBJg8n\":\"扩展频道描述下的区域(评论)。\",\"XeunlQ\":\"专家模式\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"扩展频道列表\",\"tG09kC\":\"扩展内容\",\"bPWJOj\":\"扩展底栏\",\"SeaRa5\":\"扩展顶栏\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"创建串流输出服务失败(\",[\"0\"],\")\"],\"yT6MEY\":\"创建发布站点文件失败。\",\"FGdPhH\":\"探测媒体信息头失败。请检查 <0>媒体头详情。\",\"DvfYM2\":[\"刷新 token 失败:\",[\"0\"]],\"J0Jclh\":\"保存摄取元数据失败\",\"RPXHsU\":\"终止进程失败\",\"AhS7uc\":\"保存播放器尺寸设置失败。\",\"PcJRf4\":[\"保存串流输出服务失败(\",[\"0\"],\")\"],\"2X8Mh5\":[\"更新摄取进程失败(\",[\"0\"],\")\"],\"t1E1OU\":[\"无法更新摄取快照进程 (\",[\"0\"],\")\"],\"bssUbs\":\"更新播放器失败\",\"4SzVSX\":\"无法上传播放器页\",\"H8gP5T\":\"验证媒体源失败。请检查地址。\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"文件路径\",\"V+FXVG\":\"Filled automatically after creating a live broadcast, or enter manually\",\"o7J4JM\":\"过滤器\",\"JmZ/+d\":\"完成\",\"k4A6IZ\":\"固定大小\",\"Xgkhyj\":\"选项\",\"+L0/av\":\"For Javascripts.\",\"VBU6dD\":\"For Stylesheets.\",\"XDTTEp\":\"强制输入帧率\",\"Y5YNoi\":\"强制帧率\",\"kI1qVD\":\"格式\",\"39hGxo\":\"帧率\",\"3oSVYq\":\"丢弃帧\",\"lPICcX\":\"帧直通(Passthrough)\",\"T8wPu0\":\"帧缓冲\",\"Ou/g2q\":\"帧率\",\"RFrfTY\":\"帧频转换(帧插值)\",\"xDfHbM\":\"帧率模式\",\"4xNpe4\":\"频率(Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"Weq9zb\":\"常规\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"NuA2P5\":\"Go to Settings → Integrations\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"Lr24eW\":\"Guarda el canal y pon el proceso en marcha\",\"f8NhPQ\":\"Habilitar stream backup\",\"7W1tzl\":\"Habilitar stream principal\",\"uWO9hp\":\"硬件设备\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"顶栏\",\"+670Zw\":\"提要\",\"PFFhCT\":\"高度\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS 输出\",\"oMxmoP\":\"HLS 服务器\",\"5/G5c1\":\"内存存储器的HLS统计\",\"wXoUQx\":\"水平翻转\",\"gWJ+95\":\"Host del servidor relay WebSocket. Por defecto usa el mismo host del UI.\",\"8iPCh6\":\"托管的 Restreamer 接口\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP 和 HTTPS\",\"YmRLab\":\"HTTP 端口\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS 端口\",\"Ptrvx5\":\"服务的易读名称。\",\"b66iq1\":\"Identificador de la sala. Debe coincidir con el nombre del stream RTMP.\",\"6nY8oG\":\"如果更改了端口,Restreamer Core 可能已经重新启动,但它现在可以在不同的端口上使用。\",\"OQONQS\":\"如果启用了 Let's Encrypt TLS,则可能需要一些时间来获取证书。确保可以通过端口 80 从互联网访问 Restreamer Core。请检查 Restreamer Core 的控制台日志。\",\"yWR5EY\":\"iframe 代码\",\"7ZKroD\":\"忽略 IP 范围\",\"VyUuZb\":\"图片 URL\",\"5n8FKh\":\"水印\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"除了播放器之外,Restreamer 还提供了一个完整的展示页面,您可以使用它轻松快速地展示您的直播。\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"In-memory 存储\",\"xmsVuq\":\"不兼容\",\"exUN1j\":\"继承\",\"xwg2sJ\":[\"Iniciar Live como \\\"\",[\"0\"],\"\\\"\"],\"CDdi1R\":\"注入 1\",\"MJlrvd\":\"注入 2\",\"MppU96\":\"注入 3\",\"zBVRQb\":\"注入 4\",\"Adqgqr\":\"输入流\",\"jnyWFc\":\"实例域名\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"间隔(秒)\",\"C4WaV1\":\"问题警告\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"关键帧间隔(秒)\",\"rdU729\":\"布局\",\"NWtewO\":\"Leave default to start ~5 min from now\",\"Cpw3fU\":\"Let's Encrypt 证书\",\"LgUs17\":\"Let's Encrypt 需要一个或多个公共域名和可访问的 TCP 端口 80。\",\"oCHfGC\":\"Level\",\"eyLS1J\":\"系统协议的等级。\",\"iQmbPb\":\"许可证\",\"mQImez\":\"Life color\",\"6BDqha\":\"限制\",\"1pbzRr\":\"线颜色\",\"Ce6Hrg\":\"线路\",\"yzF66j\":\"链接\",\"NBxw5Y\":\"链接,鼠标悬停时\",\"xCrpEt\":\"不缓存的文件扩展名(例如 \\\".m3u8\\\"),每行一个。如果没有请留空。\",\"m2l8c3\":\"要缓存文件的扩展名列表(例如 \\\".html\\\"),每行一个。留空以缓存所有类型的文件。\",\"QYw6tl\":\"以 CIDR 表示法表示的 IP 范围列表,例如 127.0.0.1/32,统计信息不会记录 - 每行一个 IP 范围。留空以记录所有会话。\",\"ELFO4F\":\"列表大小(segments)\",\"D0Nwch\":\"将直播流传输到 dlive Live RTMP 服务。\",\"n2VKys\":\"直播串流到 Facebook Live RTMP 服务\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"将直播流传输到 Media Network RTMP 服务。\",\"w9zSAv\":\"将直播流传输到 PeerTube V3+ RTMP/S 服务。\",\"SZ9Q++\":\"将直播流传输到 Trove Live RTMP 服务。\",\"JJGagy\":\"串流到 Twitch Live RTMP 服务。\",\"4TnPVp\":\"串流到 Vimeo Live RTMP 服务\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"日志等级\",\"x7PDL5\":\"日志\",\"z0t9bb\":\"登录\",\"+fL+Rj\":[\"登录失败:\",[\"0\"]],\"4cd7gw\":\"登录失败:无法加载 API 详情\",\"sNqu7k\":\"登录/JWT 认证\",\"iG7KNr\":\"图标\",\"nOhz3x\":\"退出登录\",\"DYX2fZ\":\"循环\",\"SzaPTL\":\"响度归一化\",\"QGvS9k\":\"低延迟(缓冲)\",\"GaV7al\":\"主频道\",\"Wsn0Uw\":\"未找到主频道\",\"tROIde\":\"已保存主频道\",\"nLVSux\":\"主页频道(index.html)。\",\"rd3Pv7\":\"主媒体流\",\"f4txA1\":\"管理者:\",\"3iTz2L\":\"使频道可用作 RTMP 流(实验)。\",\"mMiku6\":\"使频道可用作 SRT 流(实验)。\",\"6dZ9NS\":\"标记的帧\",\"iuA3xD\":\"Master playlist(增加浏览器/客户端兼容性)\",\"WBpxnA\":\"允许的最大缓存大小,0 表示无限制。\",\"NzaPGT\":\"/memfs 允许占用的最大内存字节数,0 表示无限制。\",\"aaso5s\":\"允许占用硬盘的最大字节数。0 表示无限制。\",\"4hp5D2\":\"最大带宽 Mbit/s\",\"L+uBOR\":\"最大延迟毫秒数。\",\"hkoCqq\":\"最大文件大小(MB)\",\"i96JfZ\":\"缓存中的最大文件大小。\",\"Q9HspI\":\"日志历史上限\",\"bS9ZHz\":\"日志最大行数\",\"6sayfE\":\"最大大小(MB)\",\"09BWQO\":\"最大观众空闲时间(秒)\",\"hW0DV1\":\"最大观众数\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"内存\",\"KReOHe\":\"内存限制(兆字节)\",\"fViWSz\":\"内存使用限制(兆字节),0 表示无限制。\",\"emJ6M7\":\"元数据\",\"6GBt0m\":\"元数据\",\"SCcIsq\":[\"最小 \",[\"0\"],\",默认 \",[\"1\"]],\"riWPSk\":\"Mold\",\"QA/rur\":\"关于许可证的更多信息\",\"fyGu1l\":\"关于服务的更多信息\",\"yBsv2n\":\"更多关于 Twitter 版权信息,请点击<0>这里。\",\"ZpfAc9\":\"关于 YouTube 的版权,请点击<0>这里。\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"必须大于缓存中的最大文件大小。\",\"gC9RIS\":\"必须小于最大缓存大小。\",\"R7SsBE\":\"静音\",\"K0rCAk\":\"静音声道。\",\"Jv/kid\":\"静音左声道\",\"FsCP6P\":\"静音右声道\",\"6YtxFj\":\"名称\",\"0ZkQqR\":\"模板名称。如果名称已存在,则覆盖已有模板。\",\"OR475H\":\"网络\",\"KZDcDr\":\"网络源\",\"hXzOVo\":\"下一步\",\"JZrXI6\":\"下一步:音频\",\"kZFy+Q\":\"下一步:视频设置\",\"1UzENP\":\"否\",\"p6Fxed\":\"无音频\",\"bIDO3H\":\"没有可用的音频流\",\"pWbQjd\":\"No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID.\",\"tcfxF9\":\"No hay cuentas conectadas. Haz clic en \\\"+ Agregar cuenta\\\".\",\"nn9C5B\":\"没有可用的输入设备\",\"dEwhMr\":\"未检测到直播流。请检查发送直播流的软件。\",\"/Hu7qh\":\"No OAuth2 credentials found.\",\"E7x3GS\":\"No OAuth2 credentials found. Go to\",\"1FJdZA\":\"未选择媒体源\",\"3TfuWb\":\"没有可用的媒体源\",\"fiXA/y\":\"未找到合适的编码器。\",\"acY4BT\":\"没有合适的过滤器。\",\"/02FxK\":\"没有视频\",\"AVWnC9\":\"没有可用的视频流\",\"ZCALzp\":\"No YouTube channel connected. Use the section below to authorize with Google.\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"噪音\",\"EdQY6l\":\"无\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"说明\",\"/a9y2d\":\"保存日志的行数。\",\"ZD0urA\":\"每个进程保存日志的行数。\",\"Aia5w3\":\"允许超过限制的秒数。\",\"1lZb7D\":\"要编码的瓷砖列数。\",\"InpHMl\":\"编码瓦片数。\",\"wnRD5D\":\"要编码的瓦片行数。\",\"IQIC77\":\"OAuth Playground token — expires in 1h\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"确定\",\"+Xj01r\":\"每行一个来源,例如 http://www.example.com\",\"1TNIig\":\"打开\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"输出缓冲区\",\"JehYP+\":\"Page Access Token\",\"gWlq+5\":\"Page ID\",\"vjgq8y\":\"平移\",\"gnbHrR\":\"para registrar el endpoint RTMP push\",\"syWzbL\":\"密码\",\"Y+p0Tt\":\"SRT 加密的密码。\",\"fpQo1i\":\"密码长度必须介于 10 和 79 之间\",\"3GZXaB\":\"仅在必要时才应禁用直通(复制)。每种编码都需要额外的 CPU/GPU 资源。\",\"8ZsakT\":\"密码\",\"b+AuuK\":\"用于身份验证密码。\",\"oREnCY\":\"设备密码。\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"IGB0ZT\":\"Paste token manually\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"保存观众统计数据\",\"ANX1b0\":\"粉色\",\"c8aBfM\":\"像素格式\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"计划:<0>起步\",\"Ejic1p\":\"直播平台\",\"gtQk6c\":\"回放\",\"vRayGs\":\"播放器\",\"tWB9Gz\":\"已保存播放器设置\",\"GIxxiU\":\"播放器 URL\",\"PUmLMn\":\"播放页\",\"LKPR6G\":\"播放列表\",\"luDqS5\":\"Playlist 版本(M3U8)。版本 3 有最好的浏览器/客户端兼容性。\",\"84gH7g\":\"请检查 <0>进程日志\",\"OMpKNS\":\"请联系服务管理员并检查情况。\",\"4lATxE\":\"请输入您的电子邮件地址以表示同意 Let's Encrypt CA 的服务条款,并在出现问题时收到通知。\",\"bdMiXb\":\"请与该服务的运营商联系并检查发生了什么。\",\"wPZBpR\":\"请选择要上传的文件。\",\"YcGRmx\":\"请尽可能使用 \\\"直通(复制)\\\"。编码需要额外的 CPU/GPU 资源。\",\"06qnxB\":\"请等待。正在读取媒体流数据 ...\",\"FTIPkL\":\"请等待。正在设置媒体流 ...\",\"hZ6znB\":\"端口\",\"p/78dY\":\"位置\",\"d62Stt\":\"海报\",\"PNap/Y\":\"海报图片 URL\",\"6o2Onc\":\"预设\",\"lxxyq5\":\"主媒体流\",\"A0cxvp\":\"Privacy status\",\"zwBp5t\":\"Private\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"检测媒体流信息\",\"1B9XX0\":\"串流进程\",\"DL/nrw\":\"进程控制\",\"fzYV2N\":\"进程详情\",\"zNVLia\":\"进程报告\",\"PwMwvX\":\"串流进程和控制\",\"vERlcd\":\"Profile\",\"6+OdGi\":\"协议\",\"hEksWI\":\"串流协议\",\"7d1a0d\":\"Public\",\"aLZh9m\":\"公有域名\",\"7lbVwY\":\"找不到串流输出服务\",\"ia1vIb\":\"已保存发布页设置\",\"XHw75Y\":\"串流输出\",\"dsOSCf\":\"拉取模式\",\"lQQ/zA\":\"拉取或接收数据:\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"质量\",\"i9d+3B\":\"树莓派相机\",\"tbXj/A\":\"帧率控制\",\"iaocTt\":\"比率\",\"WnSPyE\":\"rav1e 参数\",\"6PpdQP\":\"以原始速率读取输入\",\"bqsSkO\":\"接收模式\",\"gcoiFh\":\"重连\",\"lakzvL\":\"重连延时(秒)\",\"YGOrw8\":\"Reconnect the account.\",\"HC1Dci\":[\"在 \",[\"0\"],\" 秒后重连\"],\"uSDaLA\":[\"在最后 \",[\"RETRIES\"],\" 秒内重连 Restreamer Core 失败。\"],\"N7ojfh\":\"重连 Restreamer Core 失败。\",\"lCF0wC\":\"刷新\",\"uJ+Ve2\":\"区域\",\"CNipTv\":\"注册用户\",\"/HGBlK\":\"Relay activo\",\"cinbYu\":\"Relay host (opcional)\",\"HpK/8d\":\"重新加载\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"如果 /memfs 已满则移除最早的内容\",\"a6lmzb\":\"Renovar token (60 días)\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"需要激活\",\"XMbkus\":\"重置图标\",\"36SXzE\":\"重置海报\",\"6z9W13\":\"重启\",\"dKwnjv\":\"需要重启\",\"0Er6+M\":\"正在重启\",\"X1sT1j\":\"重在重启 Restreamer Core ...\",\"o5q6jb\":\"重启应用失败。\",\"x8cAsq\":\"Restreamer 指南\",\"24fLVm\":\"Restreamer 服务\",\"LCGjV4\":\"正在获取媒体流数据 ...\",\"6gRgw8\":\"重试\",\"Qe1vaN\":\"RGB 测试模式\",\"fTYsq6\":\"Room ID / Stream name\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"旋转\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"串流输出的 RTMP app。\",\"7ggERB\":\"RTMP 输出\",\"V82lE+\":\"RTMP 端口\",\"itARjB\":\"RTMP 服务器\",\"WWZqzz\":\"未启用 RTMP 服务器\",\"HhOPCL\":\"RTMP 服务器监听地址。\",\"DbHOhO\":\"用于发布和播放的 RTMP token。该 token 将作为 URL 参数 'token' 使用。\",\"OAZeFE\":\"RTMPS 端口\",\"Wt/wFL\":\"RTMPS 服务器\",\"xwonDv\":\"RTMP 服务器监听地址。\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"规则\",\"HneYgw\":\"采样\",\"tfDRzk\":\"保存\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"缩放\",\"6aaceW\":\"缩放尺寸\",\"U6tLbK\":\"Scheduled start (local time)\",\"JsqmKt\":\"Se rellenan al crear el Live. También puedes pegarlas manualmente.\",\"xbb037\":\"文件在缓存中保存的时间。\",\"geM4Wc\":\"进程重启等待的时间。\",\"iF7dnC\":\"前进程终止等待时间。\",\"mydmGn\":\"视频流缩略图更新等待时间。\",\"a3LDKx\":\"安全性\",\"Gkr6zI\":\"Security token\",\"/Ocrtf\":\"进度条颜色\",\"4lDlYf\":\"Segment 长度(秒)\",\"XfNrg+\":\"该值所示时间过后,片段将在下一个关键帧被剪切。推荐值是2。\",\"jHCoDy\":\"分片\",\"dl3ZGw\":\"Selecciona una cuenta primero\",\"htbsw4\":\"选择一个设备:\",\"O+ruJ3\":\"选择音频源:\",\"6MTTpq\":\"选择 RTMP 或 SRT (如果可用)以减少延迟。\",\"E7haRr\":\"选择媒体源 ...\",\"PlZ1aw\":\"选择视频源:\",\"YYlcWm\":\"选择从<0>网络源(例如网络摄像头)还是<1>内部RTMP服务器(例如, OBS 串流到 Restreamer)拉取媒体流。\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"选择编码设置:\",\"aT3o8A\":\"选择过滤器设置(可选):\",\"ylXj1N\":\"选中的\",\"kYpw4+\":\"选中的频道\",\"p7/fS2\":\"选项\",\"SOePwi\":\"发送匿名数据(用于未来的开发)\",\"kOhBl+\":\"将数据流发送至地址...\",\"E1X5xY\":\"将媒体流发送到该地址:\",\"d/IMf3\":\"发送视频到帧缓冲\",\"sGH11W\":\"服务器\",\"9rG25a\":\"服务器 URL\",\"T3bXxK\":\"服务\",\"KPPdUO\":\"服务名称\",\"DOrSw/\":\"用于监视的服务 token。\",\"ghmoYd\":\"Servidor relay disponible\",\"4cEClj\":\"会话\",\"xwK3ty\":\"使用以 :分隔的 key=value 参数列表设置 rav1e 配置。\",\"FIIk8R\":\"为传出 HLS 数据传输设置带宽限制,以 Mbit/s 为单位。所有服务,例如 RTMP 和传出流程,都包含在计算中。如果超出带宽,HLS 查看器会收到 HTTP 状态代码 509(超出带宽限制)。 0 表示无限制。\",\"cOG/FK\":\"设置 HLS 会话的查看者限制。如果超出限制,HLS 查看器会收到 HTTP 状态代码 509(超出带宽限制)。 0 表示无限制。\",\"mcJFKm\":\"连接性设置。\",\"Tz0i8g\":\"设置\",\"IiOZ6R\":\"设置(专家模式)\",\"2vXgP9\":\"Settings → Integrations\",\"t64OSP\":\"/data 路径相关设置。访问保护方式为\",\"Ytdvyh\":\"/memfs 路径相关设置。\",\"1w3lYe\":\"已保存设置。所有更改将在重启后应用。\",\"XUw3i9\":\"分享按钮\",\"oD0Oes\":\"显示对项目的引用。\",\"+vv4q2\":\"注册(免费)\",\"JXVFAm\":\"静音\",\"VSK9FJ\":\"静音音频\",\"L8Jb2l\":\"波形\",\"MxZN16\":\"站点名称\",\"Cj2Gtd\":\"大小\",\"yTZe+y\":\"截图\",\"pSUgnY\":\"通过社交媒体登录(OAuth2, 2FA)\",\"qe9jaI\":\"Socket 超时(毫秒)\",\"bRN5nm\":\"软件\",\"wdxz7K\":\"媒体源\",\"sywlQb\":\"媒体源 & 编码\",\"l9wI00\":\"速度\",\"vdhBFK\":\"速度预设\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT 输出\",\"YqnAto\":\"SRT 服务器\",\"k6hpqB\":\"SRT 服务器不可用\",\"SzqwHY\":\"SRT 服务器监听地址。\",\"KwbjpB\":\"SRT 用于发布和播放的 token。该 token 是 streamed 参数 'token' 的值。\",\"Aj28wT\":\"Stale 超时(秒)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"统计\",\"BrrIs8\":\"存储\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"将观众统计数据保存到硬盘。\",\"hou0tP\":\"媒体流\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream key\",\"bqiH5R\":\"流钥匙\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Stream name\",\"eXELiS\":\"Stream names\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"发布服务的媒体源(实验性)。\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"媒体流 URL\",\"+fVH0Y\":\"赞助 datarhei Restreamer\",\"5HSoct\":\"支持 HTTP (HLS, DASH), RT, RTSP, RTMP, SRT 以及其他。\",\"D+NlUC\":\"系统\",\"jkuW2z\":\"目标地址\",\"/K2CvV\":\"模板\",\"2Ivkf/\":\"用于创建发布站点的模板。删除按钮从系统中删除选择。\",\"4Y5H+g\":\"条款\",\"tRNH6x\":\"测试模式\",\"EtlVOt\":\"测试模式(扩展)\",\"wGPolR\":\"文本颜色\",\"m0TUJj\":\"生成音频流的幅度(0.0 - 1.0)\",\"8C6xwe\":\"该应用使用旧版本的设置。\",\"VPQVR2\":\"可用的 FFmpeg 不支持任何一种要求的协议。\",\"Gx9PPK\":\"音频流的比特率。\",\"T2kk3f\":\"载波频率\",\"JAOLK8\":[\"无法删除频道 \\\"\",[\"0\"],\"\\\"\"],\"jNaBhy\":[\"已删除频道 \\\"\",[\"0\"],\"\\\"\"],\"SD8pYJ\":\"此频道删除后无法恢复。该频道的所有串流输出将被删除。\",\"bnkV//\":\"输入设置不完整。请设置视频源和音频源。\",\"wCYjmB\":\"输入配置文件不完整。请定义视频和/或音频源。\",\"JMaqWu\":\"音频流的布局。\",\"0dqo+p\":\"最大的 playlist segments 数量。0 表示包含所有 segment。推荐值为 6。\",\"BDgbiW\":\"噪音颜色\",\"SxGu7I\":\"在法律允许的范围内,根据版权法,包括所有相关和邻接权利在内,将作品与此契约相关联的人放弃了他或她在全球范围内对作品的所有权利,从而将作品投入公共领域。您可以复制、修改、分发和执行作品,甚至可以用于商业目的,所有这些都无需征得许可。\",\"XISvrq\":\"运行 Restreamer 主机的公网域名。用逗号分隔多个域名。\",\"yt3d3G\":[\"无法删除串流输出服务 \\\"\",[\"0\"],\"\\\"\"],\"zYcO/c\":[\"已创建串流输出服务 \\\"\",[\"0\"],\"\\\"\"],\"AQE+oz\":[\"已删除串流输出服务 \\\"\",[\"0\"],\"\\\"\"],\"qVLWvp\":\"已创建串流输出服务\",\"njj2Wn\":\"RTMP 输出需要 RTMP 服务器。\",\"WRxiP8\":\"音频流采样率。\",\"/pZjRr\":\"所选文件太大 (<0/>)。只允许 <1/>。\",\"VBaSn9\":[\"不允许使用所选文件类型(\",[\"0\"],\")。允许的文件类型为 \",[\"1\"]],\"fM410X\":[\"已保存 \\\"\",[\"0\"],\"\\\" 的设置\"],\"02ii2e\":\"媒体源没有提供音频流。\",\"+2cAEU\":\"媒体源没有提供音频流。请检查 <0>媒体头详情。\",\"pfqmY7\":\"媒体源没有提供兼容的音频流。\",\"VO9KeK\":\"媒体源没有提供兼容的音频流。请检查 <0>媒体头详情。\",\"007foU\":\"媒体源没有提供视频流。请检查 <0>媒体头详情。\",\"lAsMdV\":\"媒体源没有提供视频流。请检查设备。\",\"XlnvcR\":\"SRT 输出需要 SRT 服务器。\",\"w6uuIE\":\"该视频源没有提供任何兼容的音频流。推荐<0>静音音频。YouTube、Facebook 等服务要求有音频通道。\",\"YJJ2RL\":\"视频源不兼容。选择期望的解决方案:\",\"wEiZHy\":\"有可用的更新。这里获取更多信息。\",\"4p1MgS\":\"保存设置时出现错误。设置未保存。\",\"YJhhwT\":[\"在 \",[\"0\"],\" 连接到 Restreamer Core 时出现错误。\"],\"q42VsF\":[\"上传时出现错误:\",[\"0\"]],\"HM96PJ\":\"媒体流设置过程中出现了错误。\",\"LoDP+Y\":\"设置中有错误。设置未保存。\",\"l92ZKN\":\"没有可用的登录方式。\",\"cPKuc8\":\"这是一个虚拟服务,向您解释服务的概念。\",\"Ku8nyu\":\"这不一定是错误。但是,Restreamer Core 重启可能需要更长的时间。\",\"vCRP3w\":\"这是针对本服务对象的版权规定。\",\"Hx7k3c\":\"该许可允许再利用者以任何媒体或格式仅以未经改编的形式复制和分发材料,并且前提是要注明创作者的身份。该许可证允许用于商业用途。\",\"6OeMYB\":\"此许可允许再利用者以任何媒体或格式以未经改编的形式复制和分发材料,仅用于非商业目的,并且仅在注明创作者姓名的情况下。\",\"TUuhsB\":\"此许可允许重用者以任何媒体或格式分发、重新混合、改编和构建材料,仅用于非商业目的,并且仅在注明创作者身份的情况下。\",\"kVtKRl\":\"此许可允许重用者以任何媒体或格式分发、重新混合、改编和构建材料,仅用于非商业目的,并且仅在注明创作者身份的情况下。如果您重新混合、改编或构建这些材料,您必须根据相同的条款许可修改后的材料。\",\"FpX5mp\":\"该许可证允许再利用者以任何媒体或格式分发、重新混合、改编和构建材料,只要注明创作者的署名即可。该许可证允许用于商业用途。\",\"SDvwLd\":\"该许可证允许再利用者以任何媒体或格式分发、重新混合、改编和构建材料,只要注明创作者的署名即可。该许可证允许用于商业用途。如果您重新混合、改编或构建这些材料,您必须根据相同的条款许可修改后的材料。\",\"H144rX\":\"该协议未知或不被当前可用的 FFmpeg 支持。\",\"nlOxxw\":\"此源在使用中无法编辑。要继续,您必须断开信号源。\",\"mbSyrG\":[\"该版本的 UI 不支持可用的 FFmpeg 二进制文件(\",[\"0\"],\")。UI 需要 \",[\"1\"],\"。请使用支持的 FFmpeg 二进制文件。\"],\"N/tTgz\":[\"该版本的 UI 不支持已连接的 Core(\",[\"0\"],\")。UI 需要 \",[\"1\"],\"。请使用支持的 Core 版本。\"],\"2Vq5tr\":\"该版本的 UI 是兼容的。\",\"QxX9Z5\":\"阈值(秒)\",\"sNmspt\":\"瓷砖立柱\",\"sYGp2E\":\"瓷砖行\",\"wbOpwP\":\"瓷砖\",\"H59P7E\":\"超出该时间的不活动查看器连接将被视为已关闭。\",\"JAZL0a\":\"Tipo de cuenta\",\"+svoQ5\":\"Title and description filled from YouTube\",\"PwRaU+\":\"Título del live\",\"bzBNqA\":\"to add your Client ID and Client Secret.\",\"9ut64M\":\"to enter your Client ID and Client Secret first.\",\"rbNsna\":\"为了稳定系统,将关键帧间隔的 HLS 段长度增加 2-3 *(处理和控制)。\",\"TP9/K5\":\"Token\",\"6b6iYh\":\"Token de corta duración (2h). Configura App Secret para tokens de 60 días.\",\"0NTE0/\":\"Token expired — reconnect\",\"03/LG8\":\"Token expired for\",\"q+c+Fv\":\"顶部区域\",\"7mjsuh\":\"将直播流传输到 Telegram 频道。\",\"Gxlq7L\":\"将主媒体源的快照传输到 HTTP/S 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"SdyhUl\":\"将主媒体源源的快照传输到 Icecast 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"MayU3b\":\"将主媒体源作为 HTTP 直播流(HLS)传输到 HTTP/S 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"3K8kpL\":\"将主媒体源作为 MPEG-DAS 传输到 HTTP/S 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"P/J230\":\"将主媒体源传输到 Brightcove Live 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"u0MhFy\":\"将主媒体源传输到 CDN77 RTMP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"zkgT7c\":\"将主媒体源传输到 DaCast RTMP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"in9xJz\":\"将主媒体源传输到 datarhei Core 资源。有关设置的更多详细信息,请访问<0>这里。\",\"PcgwEU\":\"将主媒体源传输到 livespotting.com 资源。有关设置的更多详细信息,请访问<0>这里。\",\"D7jwpf\":\"将主媒体源传输到 MPEG-TS 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"SpSgUV\":\"将主媒体源传输到 Red5/Pro 服务器。有关该设置的更多信息,请查看<0>这里。\",\"lIpqI/\":\"将主媒体源传输到 RTMP(e|s|t|te|ts) 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"pqR6nq\":\"将主媒体源传输到 RTSP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"Q4dSnZ\":\"将主媒体源传输到 SRT 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"fx9S4p\":\"将主媒体源传输到 UDP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"GLXY2N\":\"将主媒体源传输到 WOWZA 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"AsMKFi\":\"将主媒体源传输到 Akamai (MSL) Media Service Live。有关设置的更多详细信息,请访问<0>这里。\",\"FB364G\":\"将主源传输到 Livepush RTMP 服务。有关设置的更多详情,请参阅<0>此处。\",\"CC9yS5\":\"将主信号源传输到 Nimo TV RTMP 服务。有关设置的更多详情,请参阅<0>此处。\",\"fP8ZYg\":\"将主信号源传输到 Picarto TV RTMP 服务。有关设置的更多详情,请参阅<0>。\",\"D9A0LK\":\"将主媒体源传输到 Restream RTMP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"YL800g\":\"传输到 Azure Media Services。<0>这里查看更多信息。\",\"Abgy4c\":\"串流到 LinkedIn。<0>这里查看更多详情。\",\"dhCZoS\":\"将 Livestream 传输到 Dailymotion RTMP 服务。<0>在这里,你可以找到有关设置的更多详情。\",\"tQNclD\":\"将您的 Livestream 传输到 Kick.com RTMP 服务。<0>在此,您可以找到有关设置的更多详情。\",\"mQ0sjr\":\"将直播流传输到 Owncast 服务器。<0>这里查看该设置的更多信息。\",\"AqYRa3\":\"将您的 Livestream 传输到 Rumble RTMP 服务。<0>在此,您可以找到有关设置的更多详情。\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"将媒体流与在 Twitter Producer 中生成的秘钥传输。有关在 Twitter 的 Producer 中设置直播流的更多详细信息,请访问<0>这里。\",\"ADKef2\":\"Tune\",\"8jwViA\":\"UDP 传输\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"UzJfQC\":\"Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal.\",\"NOC7RD\":\"无法加载配置。\",\"MWrgON\":\"服务的唯一标识。\",\"Ef7StM\":\"未知的\",\"wiIpKZ\":\"未知上传错误\",\"WDcQq9\":\"Unlisted\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"未选中\",\"j9zg7e\":\"更新详情(Changelog)\",\"ONWvwQ\":\"上传\",\"OXItQT\":[\"上传音频文件 (\",[\"0\"],\") 以循环播放。\"],\"75yxb7\":[\"上传图片或视频文件 (\",[\"0\"],\") 以循环播放。\"],\"iAkPTY\":\"上传文件失败\",\"Jmy6pK\":\"图标上传失败\",\"xl1xFp\":\"上传海报失败\",\"TjrbDj\":\"在线时长\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"DzpcGq\":\"URL de la sala para el cliente\",\"OXHf/6\":\"为你的 Restreamer Core 启用 Auth0。<0>查看更多详情。\",\"JX4TqK\":\"使用向导 (<0/>) 快速设置,或者直接在自定义模式中编辑 (<1/>) 源。\",\"YYTBz0\":\"使用您的版权并选择正确的图像许可。无论是对所有人免费还是受到高度限制。简要讨论其他人可以用您的形象做什么。\",\"2UPEb1\":\"使用您的版权并选择正确的图像许可。无论是对所有人免费还是受到高度限制。简要讨论其他人可以用您的形象做什么。\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"SWskNf\":\"User Access Token\",\"B3WxC7\":\"用户注册\",\"7sNhEz\":\"用户名\",\"Gv3pbp\":\"用于身份认证的用户名。\",\"RQSvXZ\":\"设备用户名。\",\"9nVosc\":\"Uses credentials from Settings → Integrations\",\"zze3B5\":\"V4L2_M2M 是实验性的。\",\"PvM7Yi\":\"可变帧率(VFR)\",\"hpBTpL\":\"天鹅绒\",\"uIAsxu\":\"垂直翻转\",\"vSJd18\":\"视频\",\"auaWhL\":\"视频设备\",\"/skRGV\":\"视频设置\",\"EzOjvB\":\"视频设置\",\"QcQXbU\":\"视频源\",\"M/TIv1\":\"观看者\",\"L2hKw+\":\"紫罗兰\",\"hA6FFn\":\"虚拟源\",\"/cF7Rs\":\"音量\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"对于 Raspberry PI (3/4),推荐使用 32 位操作系统的 OpenMAX IL。\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"欢迎使用 Restreamer v2,这是一种快速简便的视频发布解决方案。免费供私人和商业使用。 如需进一步的帮助,请查看 <0>文档。\",\"hJfWkA\":\"使用什么速度预置。\",\"6Pz2IF\":\"存储 HLM playlist 和 segments 的位置。推荐 In-Memory。\",\"aWHAbR\":\"白色\",\"aFWU1n\":\"宽度\",\"e0wV2Y\":\"写保护\",\"l75CjT\":\"是\",\"WPUsOF\":\"现在不能中止向导,因为至少必须定义一个输入。\",\"qwY9F9\":\"配置已更改。请重启应用以使更改生效。要立刻重启吗?\",\"nxq2ni\":\"需要手动重连\",\"RM3CEc\":\"有未保存的更改。请保存以再次管理服务。\",\"/cg7qS\":\"源需要被编码,但没有合适的编码器可用。\",\"BwrOm6\":\"媒体流需要被编码。请选择编码器:\",\"qwNr24\":\"YouTube channel account\",\"oCV3jT\":\"YouTube channel connected:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV 测试模式\"}")}; \ No newline at end of file +/*eslint-disable*/module.exports={messages:JSON.parse("{\"5piCXj\":\"¡Copiado!\",\"mUC3H+\":\". Then add\",\"p7ZuC2\":\"(dejar vacía)\",\"6pKbRS\":\"<0>兼容性列表\",\"TkRUk0\":\"<0>显示媒体信息头详情\",\"tBy4Bb\":\"1. 切换到目标 Restreamer 的界面。\",\"2JnpXL\":\"2. 创建一个新的频道并选择 RTMP 或 SRT 服务。\",\"YidyJl\":\"3. 复制 URL 并粘贴在 \\\"目标地址\\\" 字段。\",\"X1MZZp\":\"6 (+ 保证以关键帧开始)\",\"JVJkxU\":\"7 (+ fragmented MP4 格式)\",\"ssjjFt\":\"取消\",\"uyJsf6\":\"关于\",\"ki7OJ9\":\"Abre la sala (botón\",\"2qxqTJ\":\"Abrir\",\"beUPyr\":\"Abrir sala\",\"m16xKo\":\"添加\",\"jVWahK\":\"Add Audio\",\"RH/Z4s\":\"将外部小部件和样式添加到站点。您可以在帮助页面上找到一些示例。\",\"tsJWSj\":\"添加新频道\",\"PLTLdv\":\"添加串流输出\",\"35l+l6\":[\"添加:\",[\"0\"]],\"rQmvUQ\":\"Additional channels\",\"gNeH58\":\"Additional channels to display on the playersite.\",\"Du6bPw\":\"地址\",\"8M7jVn\":\"背景图片的地址。\",\"Vu9yiv\":\"HTTP请求监听的地址。\",\"AQDW5r\":\"HTTPS请求监听地址。\",\"tPrmjP\":\"地址\",\"owt8Ow\":\"根据喜好调整发布站点的颜色和背景。\",\"uNXGDK\":\"高级监控\",\"VNgKZz\":\"高级设置\",\"eiGNYb\":\"高级设置\",\"nllaR9\":\"AirPlay\",\"meg9K4\":\"邮件通知\",\"N40H+G\":\"全部\",\"Hw5q+W\":\"所有帧\",\"f2zxGk\":\"所有重要的系统设置。\",\"lle3bd\":\"允许所有来源\",\"bgFbIB\":\"允许统计媒体流播放量。\",\"g3nDY+\":\"ALSA\",\"sowZBN\":\"幅度\",\"ngteek\":\"设置该值的环境变量。\",\"Lxu/Pu\":\"and add\",\"O+y0KI\":\"未找到 API endpoint。设置没有保存。\",\"LMUw1U\":\"App\",\"IrC12v\":\"Application\",\"xnCC/2\":\"确定要终止向导吗?\",\"Ve0m+p\":\"as a Valid OAuth Redirect URI in Facebook Login settings.\",\"VvOpTh\":\"as an Authorized redirect URI.\",\"AnW1TH\":\"Asegúrate de que alguien esté publicando en la sala LiveKit\",\"/rTz0M\":\"音频\",\"n3RW8K\":\"音频设备\",\"sYyYfE\":\"音频设备\",\"2he4Ra\":\"来自设备的音频\",\"MvY15a\":\"音频设置\",\"NoLJ6g\":\"音频设置\",\"IsqyDB\":\"Auth0\",\"9odWb+\":\"Auth0 当前不可用,因为此接口是从不安全的来源加载的。\",\"aKsflb\":\"Auth0 Tenant\",\"VbeIOx\":\"作者\",\"NJgJy9\":\"权限\",\"R9Khdg\":\"自动\",\"6yEk/V\":\"自动清理所有媒体数据\",\"jT50Rz\":\"自动播放\",\"csDS2L\":\"可用的\",\"qWlwT8\":\"AVFoundation\",\"wsbMZb\":\"avoid_negative_ts\",\"iH8pgl\":\"返回\",\"1KfyNL\":\"背景颜色\",\"23c2Uw\":\"背景图\",\"r0bEmM\":\"备用线路\",\"JFjQhH\":\"备份媒体流\",\"bkJ+QE\":\"备份地址\",\"OlXThP\":\"带宽\",\"QYaaBO\":\"带宽限制\",\"KSSL9f\":\"横幅\",\"0wJVK+\":\"常规\",\"YR04fn\":\"蜂鸣系数\",\"5bhON1\":\"比特率\",\"Os3B4i\":\"禁止缓存的文件类型\",\"zOC7cT\":\"蓝色\",\"359XuU\":\"底部区域\",\"aC3kWW\":\"简要描述观众将在直播中看到的内容。\",\"SehDNd\":\"棕色\",\"Ptp9MF\":\"按钮颜色\",\"Lp4WkO\":\"按高度\",\"IeV/4P\":\"按宽度\",\"KxP5AO\":\"缓存 /data 路径下的文件。\",\"qX8ffo\":\"缓存时间(秒)\",\"4dRAku\":\"缓存类型\",\"sEcvhs\":\"Canal activo — esperando que el presentador inicie la transmisión en la sala.\",\"DVKn5r\":\"捕获缓冲区\",\"aL2+1d\":\"捕获点击\",\"EOfLfP\":\"捕获指针\",\"ieS3Wc\":[\"已保存频道 \\\"\",[\"0\"],\"\\\"\"],\"lfFsZ4\":\"频道\",\"WMCwmR\":\"检查更新\",\"vM6kpc\":\"检查\",\"Wzgqhl\":\"选择一个视频流\",\"JpTR0/\":\"选择一个音频流\",\"BTNyrQ\":\"选择一个输入设备 ...\",\"f9QIui\":\"选择输入流 ...\",\"/Y6zrN\":\"在 CFR 和 VFR 中选择(自动)\",\"gObOjh\":\"选择编码器 ...\",\"v7lrmU\":\"选择 tenant ...\",\"Bntlv+\":\"Chromecast\",\"+/29Pz\":\"块\",\"V0+p1W\":\"Clave de stream\",\"yz7wBu\":\"关闭\",\"r8NEPc\":\"代码注入\",\"BaUuhR\":\"编码器\",\"jZlrte\":\"颜色\",\"sjVfrA\":\"指挥\",\"O36nli\":\"Cómo usar\",\"EiyUUl\":\"Comparte el enlace de la sala con el presentador para iniciar la transmisión.\",\"14PdY0\":\"配置\",\"GV8ONL\":\"Configuración\",\"J+m6a6\":\"Configuración del proceso\",\"DmtPQ3\":\"Configurar OBS\",\"xnWESi\":\"确认密码\",\"iSLIjg\":\"连接\",\"NL3Gev\":\"已连接的设备\",\"ywAvGr\":\"连接建立于\",\"lNg25t\":\"连接中 ...\",\"y6+BXa\":\"连接到 Restreamer Core ...\",\"Td5lm6\":\"连接到 Restreamer Core 失败,原因可能是 mixed content。\",\"awE5Py\":\"固定帧率(CFR)\",\"DT0Af/\":\"常数量化器模式(-1 至 255)。\",\"4b3oEV\":\"内容\",\"U34RbB\":\"内容 URL\",\"3HYTvM\":\"Copiar\",\"7paZx1\":\"Copiar URL\",\"W5p0xH\":\"copyts\",\"nPu6KK\":\"Cores\",\"FSbpS7\":\"中央处理器\",\"n8Ycrf\":\"CPU 上限(百分比)\",\"uW5tVo\":\"CPU 使用限制,单位为百分比(0-100%),0 表示无限制。\",\"wVXhCo\":\"Create an OAuth2 Client ID in\",\"Gngb1C\":\"Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application).\",\"clkl39\":\"创作许可\",\"C9SKno\":\"Credentials saved\",\"BwJ+C7\":\"自定义 ...\",\"kH80Lk\":\"自定义音频设备\",\"fW1XQD\":\"自定义音频索引\",\"bzREp0\":\"自定义比特率(kbit/s)\",\"w9oKek\":\"自定义代码注入\",\"jYaP01\":\"自定义延迟\",\"2Gw+zZ\":\"自定义设备\",\"WCXGNp\":\"自定义格式\",\"ZkpZ06\":\"自定义帧率\",\"1OXCgh\":\"自定义 datarhei Core 的 JSON 配置。\",\"kl56NX\":\"自定义关键帧间隔\",\"prIqWa\":\"自定义 layout\",\"HSB43e\":\"自定义采样率(Hz)\",\"Efe3BI\":\"自定义缩放\",\"E/2KdS\":\"自定义尺寸\",\"Se794B\":\"自定义视频设备\",\"aqv915\":\"自定义视频索引\",\"v8OlX8\":\"已复制到剪贴板\",\"J/VBax\":\"Death color\",\"d2TTfK\":\"分贝(dB)\",\"W034oz\":\"解码器\",\"ovBPCi\":\"默认\",\"gFwPaj\":[\"默认 \",[\"0\"]],\"JQnkrI\":[\"默认 \",[\"0\"],\" (\",[\"1\"],\" 秒)\"],\"A7rne1\":\"去隔行(bwdif)\",\"yLth2B\":\"去隔行 deint\",\"g3JmiG\":\"去隔行模式\",\"aro6lN\":\"去隔行校验\",\"YeWQto\":\"延迟\",\"qBC9g9\":\"延迟(ms)\",\"cnGeoo\":\"删除\",\"ScK3zL\":\"删除串流输出服务无法撤消。串流输出立即停止。\",\"cEx3oI\":\"递送模式\",\"Nu4oKW\":\"描述\",\"f8fH8W\":\"设计\",\"PEHQTf\":\"设备\",\"+K0AvT\":\"断开连接\",\"miKA/E\":\"断连 & 继续\",\"5/pMTZ\":\"正在断开连接 ...\",\"sPFHpI\":\"硬盘\",\"qczNPP\":\"硬盘缓存\",\"PUqOjv\":\"硬盘存储\",\"uTwT/l\":\"确定要立刻重启应用吗?\",\"FgxcNT\":[\"确定要删除 \\\"\",[\"0\"],\"\\\" 吗?\"],\"NogZqg\":[\"确定要删除 \",[\"title\"],\" 吗?\"],\"0p+Mpn\":[\"确定要断开 \\\"\",[\"0\"],\"\\\" 的连接吗?\"],\"TbjyhA\":\"文档\",\"TvY/XA\":\"文档\",\"jPtEhI\":\"重复帧\",\"diaSRH\":\"每个区域\",\"u2SnNO\":\"每一帧\",\"ePK91l\":\"编辑\",\"INCFjw\":\"编辑直播流的音频和视频源。添加描述,并设置您想要的内容许可。\",\"+7Wr2a\":[\"编辑:\",[\"title\"]],\"e3GLqI\":\"编辑:播放器\",\"dTPDyf\":\"编辑:发布的站点\",\"/V7B/7\":\"El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo.\",\"wI8jlQ\":\"el Core se conectará al servidor WHEP egress y recibirá el stream.\",\"5tYy33\":\"El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose.\",\"d9Msk0\":\"El video llega al Core vía RTMP push interno\",\"O3oNi5\":\"邮箱\",\"KKBlUU\":\"内嵌\",\"vNmQ5U\":\"Emisión\",\"PCU0ZE\":\"En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente.\",\"xPHVh1\":\"en la sala\",\"PaQ3df\":\"启用\",\"No9svk\":\"启用以此值乘以载波频率的每秒周期蜂鸣\",\"R7s0Th\":\"允许备份媒体流\",\"xA5zBY\":\"允许数据统计\",\"r0zP4o\":\"现在启用\",\"JwR989\":\"启用主媒体流\",\"blkDNw\":\"启用 RTMP 服务 ...\",\"FgEhO4\":\"启用 RTMPS 传输\",\"uGvvxq\":\"允许快照\",\"IuL64N\":\"启用 SRT 服务器 ...\",\"NJsnxf\":\"强烈建议启用身份验证。否则,任何人都可以访问和控制该实例。\",\"xwS6bX\":\"强烈建议启用基本身份验证。否则,任何人都可以向 /memfs 中写入数据。\",\"0zaXWu\":\"编码器\",\"o0XA5y\":\"编码\",\"q1srUM\":\"加密\",\"nQ7k5p\":\"Endpoint WHEP (el Core se conectará aquí como suscriptor)\",\"+45g7P\":\"Endpoint WHIP (pegar en OBS o fuente externa)\",\"qS2y97\":\"输入新频道的名字。\",\"f7sXvi\":\"输入密码\",\"5QCNrf\":\"输入网络源地址:\",\"WLnvCZ\":\"输入用户名\",\"ijwVVM\":\"加密编码器\",\"SlfejT\":\"错误\",\"sHoMKO\":\"复制到剪贴板时出现错误\",\"TpqeIh\":[\"错误:\",[\"0\"]],\"L5He9c\":\"Esperando señal del presentador…\",\"Xlz+TD\":\"扩展频道列表上方的区域(实时聊天)。\",\"IBJg8n\":\"扩展频道描述下的区域(评论)。\",\"XeunlQ\":\"专家模式\",\"qNpEXB\":\"EXT-X-VERSION\",\"/svCaE\":\"扩展频道列表\",\"tG09kC\":\"扩展内容\",\"bPWJOj\":\"扩展底栏\",\"SeaRa5\":\"扩展顶栏\",\"KGgN1Z\":\"Facebook App ID\",\"lSWvr8\":\"Facebook Live — App ID\",\"x6VdQA\":[\"创建串流输出服务失败(\",[\"0\"],\")\"],\"yT6MEY\":\"创建发布站点文件失败。\",\"FGdPhH\":\"探测媒体信息头失败。请检查 <0>媒体头详情。\",\"DvfYM2\":[\"刷新 token 失败:\",[\"0\"]],\"J0Jclh\":\"保存摄取元数据失败\",\"RPXHsU\":\"终止进程失败\",\"AhS7uc\":\"保存播放器尺寸设置失败。\",\"PcJRf4\":[\"保存串流输出服务失败(\",[\"0\"],\")\"],\"2X8Mh5\":[\"更新摄取进程失败(\",[\"0\"],\")\"],\"t1E1OU\":[\"无法更新摄取快照进程 (\",[\"0\"],\")\"],\"bssUbs\":\"更新播放器失败\",\"4SzVSX\":\"无法上传播放器页\",\"H8gP5T\":\"验证媒体源失败。请检查地址。\",\"xSwDG+\":\"FFmpeg\",\"MTrkXx\":\"文件路径\",\"o7J4JM\":\"过滤器\",\"JmZ/+d\":\"完成\",\"k4A6IZ\":\"固定大小\",\"Xgkhyj\":\"选项\",\"+L0/av\":\"For Javascripts.\",\"VBU6dD\":\"For Stylesheets.\",\"XDTTEp\":\"强制输入帧率\",\"Y5YNoi\":\"强制帧率\",\"kI1qVD\":\"格式\",\"39hGxo\":\"帧率\",\"3oSVYq\":\"丢弃帧\",\"lPICcX\":\"帧直通(Passthrough)\",\"T8wPu0\":\"帧缓冲\",\"Ou/g2q\":\"帧率\",\"RFrfTY\":\"帧频转换(帧插值)\",\"xDfHbM\":\"帧率模式\",\"4xNpe4\":\"频率(Hz)\",\"NYqk2n\":\"From developers.facebook.com → Your App → Settings → Basic → App ID\",\"bAChhV\":\"From Google Cloud Console → OAuth 2.0 Client IDs\",\"oJqxip\":\"From the same OAuth2 Client ID credential\",\"QZGA4+\":\"Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push.\",\"Weq9zb\":\"常规\",\"IvRuEU\":\"Generando URL WHIP en LiveKit Ingress…\",\"HMx8FD\":\"GET\",\"LmLruJ\":\"Go to\",\"6eTlbA\":\"Google Analytics ID\",\"S/8Noo\":\"Google Analytics Tracker Name\",\"4IY+wn\":\"Guarda el canal y activa el proceso\",\"s/YyJr\":\"Guarda el canal y activa el proceso para habilitar las publicaciones RTMP.\",\"uWO9hp\":\"硬件设备\",\"3ndeR/\":\"Haz clic en\",\"udPwLB\":\"顶栏\",\"+670Zw\":\"提要\",\"PFFhCT\":\"高度\",\"Mba7Zd\":\"HLS\",\"eM+eZC\":\"HLS 输出\",\"oMxmoP\":\"HLS 服务器\",\"5/G5c1\":\"内存存储器的HLS统计\",\"wXoUQx\":\"水平翻转\",\"8iPCh6\":\"托管的 Restreamer 接口\",\"P/bX4O\":\"How to set up\",\"H2yyEA\":\"HTTP 和 HTTPS\",\"YmRLab\":\"HTTP 端口\",\"PM2m/u\":\"HTTPS (SSL/TLS)\",\"Cg+Z8T\":\"HTTPS 端口\",\"Ptrvx5\":\"服务的易读名称。\",\"oTNKbT\":[\"Identificador de la sala / stream. Por defecto usa el ID del canal (\",[\"streamName\"],\").\"],\"6nY8oG\":\"如果更改了端口,Restreamer Core 可能已经重新启动,但它现在可以在不同的端口上使用。\",\"OQONQS\":\"如果启用了 Let's Encrypt TLS,则可能需要一些时间来获取证书。确保可以通过端口 80 从互联网访问 Restreamer Core。请检查 Restreamer Core 的控制台日志。\",\"yWR5EY\":\"iframe 代码\",\"7ZKroD\":\"忽略 IP 范围\",\"VyUuZb\":\"图片 URL\",\"5n8FKh\":\"水印\",\"pOrnvi\":\"in \\\"Authorized redirect URIs\\\".\",\"n0Fvkc\":\"除了播放器之外,Restreamer 还提供了一个完整的展示页面,您可以使用它轻松快速地展示您的直播。\",\"Lz3opZ\":\"In order to proceed anyways, you can provide <0>hints about the available streams.\",\"BUrSQl\":\"In Publications → YouTube Live → click \\\"Authorize with Google\\\" to connect each channel account individually.\",\"qHzkRx\":\"In-memory\",\"EwM+sw\":\"In-memory 存储\",\"xmsVuq\":\"不兼容\",\"exUN1j\":\"继承\",\"CDdi1R\":\"注入 1\",\"MJlrvd\":\"注入 2\",\"MppU96\":\"注入 3\",\"zBVRQb\":\"注入 4\",\"QTJRVv\":\"Input Restreamer Core (esperando RTMP push del relay)\",\"3woetA\":\"Input Restreamer Core (URL WHEP directa)\",\"Adqgqr\":\"输入流\",\"jnyWFc\":\"实例域名\",\"nbfdhU\":\"Integrations\",\"uDMKZ+\":\"间隔(秒)\",\"C4WaV1\":\"问题警告\",\"lCnea7\":\"kbit/s\",\"d3WJJg\":\"关键帧间隔(秒)\",\"rdU729\":\"布局\",\"Cpw3fU\":\"Let's Encrypt 证书\",\"LgUs17\":\"Let's Encrypt 需要一个或多个公共域名和可访问的 TCP 端口 80。\",\"oCHfGC\":\"Level\",\"eyLS1J\":\"系统协议的等级。\",\"iQmbPb\":\"许可证\",\"mQImez\":\"Life color\",\"6BDqha\":\"限制\",\"1pbzRr\":\"线颜色\",\"Ce6Hrg\":\"线路\",\"yzF66j\":\"链接\",\"NBxw5Y\":\"链接,鼠标悬停时\",\"xCrpEt\":\"不缓存的文件扩展名(例如 \\\".m3u8\\\"),每行一个。如果没有请留空。\",\"m2l8c3\":\"要缓存文件的扩展名列表(例如 \\\".html\\\"),每行一个。留空以缓存所有类型的文件。\",\"QYw6tl\":\"以 CIDR 表示法表示的 IP 范围列表,例如 127.0.0.1/32,统计信息不会记录 - 每行一个 IP 范围。留空以记录所有会话。\",\"ELFO4F\":\"列表大小(segments)\",\"D0Nwch\":\"将直播流传输到 dlive Live RTMP 服务。\",\"n2VKys\":\"直播串流到 Facebook Live RTMP 服务\",\"S3Q0h3\":\"Live-Streaming to Instagram Live RTMP Service.\",\"s3yI8S\":\"将直播流传输到 Media Network RTMP 服务。\",\"w9zSAv\":\"将直播流传输到 PeerTube V3+ RTMP/S 服务。\",\"SZ9Q++\":\"将直播流传输到 Trove Live RTMP 服务。\",\"JJGagy\":\"串流到 Twitch Live RTMP 服务。\",\"4TnPVp\":\"串流到 Vimeo Live RTMP 服务\",\"jBKa5b\":\"LiveKit configurado correctamente\",\"G4x3PY\":\"Livesource ID\",\"0aIqC4\":\"日志等级\",\"x7PDL5\":\"日志\",\"z0t9bb\":\"登录\",\"+fL+Rj\":[\"登录失败:\",[\"0\"]],\"4cd7gw\":\"登录失败:无法加载 API 详情\",\"sNqu7k\":\"登录/JWT 认证\",\"iG7KNr\":\"图标\",\"nOhz3x\":\"退出登录\",\"DYX2fZ\":\"循环\",\"SzaPTL\":\"响度归一化\",\"QGvS9k\":\"低延迟(缓冲)\",\"GaV7al\":\"主频道\",\"Wsn0Uw\":\"未找到主频道\",\"tROIde\":\"已保存主频道\",\"nLVSux\":\"主页频道(index.html)。\",\"rd3Pv7\":\"主媒体流\",\"f4txA1\":\"管理者:\",\"3iTz2L\":\"使频道可用作 RTMP 流(实验)。\",\"mMiku6\":\"使频道可用作 SRT 流(实验)。\",\"6dZ9NS\":\"标记的帧\",\"iuA3xD\":\"Master playlist(增加浏览器/客户端兼容性)\",\"WBpxnA\":\"允许的最大缓存大小,0 表示无限制。\",\"NzaPGT\":\"/memfs 允许占用的最大内存字节数,0 表示无限制。\",\"aaso5s\":\"允许占用硬盘的最大字节数。0 表示无限制。\",\"4hp5D2\":\"最大带宽 Mbit/s\",\"L+uBOR\":\"最大延迟毫秒数。\",\"hkoCqq\":\"最大文件大小(MB)\",\"i96JfZ\":\"缓存中的最大文件大小。\",\"Q9HspI\":\"日志历史上限\",\"bS9ZHz\":\"日志最大行数\",\"6sayfE\":\"最大大小(MB)\",\"09BWQO\":\"最大观众空闲时间(秒)\",\"hW0DV1\":\"最大观众数\",\"UPyNTs\":\"MB\",\"v8o+Rn\":\"内存\",\"KReOHe\":\"内存限制(兆字节)\",\"fViWSz\":\"内存使用限制(兆字节),0 表示无限制。\",\"emJ6M7\":\"元数据\",\"6GBt0m\":\"元数据\",\"SCcIsq\":[\"最小 \",[\"0\"],\",默认 \",[\"1\"]],\"qIfOu7\":\"Modo de entrada WebRTC\",\"riWPSk\":\"Mold\",\"QA/rur\":\"关于许可证的更多信息\",\"fyGu1l\":\"关于服务的更多信息\",\"yBsv2n\":\"更多关于 Twitter 版权信息,请点击<0>这里。\",\"ZpfAc9\":\"关于 YouTube 的版权,请点击<0>这里。\",\"6j6IR2\":\"Mostrar QR\",\"GXsh/m\":\"必须大于缓存中的最大文件大小。\",\"gC9RIS\":\"必须小于最大缓存大小。\",\"R7SsBE\":\"静音\",\"K0rCAk\":\"静音声道。\",\"Jv/kid\":\"静音左声道\",\"FsCP6P\":\"静音右声道\",\"6YtxFj\":\"名称\",\"0ZkQqR\":\"模板名称。如果名称已存在,则覆盖已有模板。\",\"OR475H\":\"网络\",\"KZDcDr\":\"网络源\",\"hXzOVo\":\"下一步\",\"JZrXI6\":\"下一步:音频\",\"kZFy+Q\":\"下一步:视频设置\",\"1UzENP\":\"否\",\"p6Fxed\":\"无音频\",\"bIDO3H\":\"没有可用的音频流\",\"nn9C5B\":\"没有可用的输入设备\",\"dEwhMr\":\"未检测到直播流。请检查发送直播流的软件。\",\"1FJdZA\":\"未选择媒体源\",\"3TfuWb\":\"没有可用的媒体源\",\"fiXA/y\":\"未找到合适的编码器。\",\"acY4BT\":\"没有合适的过滤器。\",\"/02FxK\":\"没有视频\",\"AVWnC9\":\"没有可用的视频流\",\"wZ7CK3\":\"Node ID\",\"9J5l/O\":\"噪音\",\"EdQY6l\":\"无\",\"XFLmM+\":\"Note: Facebook's implicit flow gives a short-lived token (~2h). For production, use a server-side flow to get a long-lived token (60 days).\",\"1DBGsz\":\"说明\",\"/a9y2d\":\"保存日志的行数。\",\"ZD0urA\":\"每个进程保存日志的行数。\",\"Aia5w3\":\"允许超过限制的秒数。\",\"1lZb7D\":\"要编码的瓷砖列数。\",\"InpHMl\":\"编码瓦片数。\",\"wnRD5D\":\"要编码的瓦片行数。\",\"uEUCTO\":\"OAuth2 Client ID\",\"iuM76I\":\"OAuth2 Client Secret\",\"fuu+MO\":\"OBS\",\"vxaZE7\":\"OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress.\",\"Cjz64w\":\"OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía.\",\"KDtUez\":\"Ocultar QR\",\"zga9sT\":\"确定\",\"+Xj01r\":\"每行一个来源,例如 http://www.example.com\",\"1TNIig\":\"打开\",\"EWrRkI\":\"Open room\",\"hUtjQa\":\"Optionally paste a YouTube URL or Video ID to auto-fill the title and description below.\",\"t5+eNA\":\"输出缓冲区\",\"vjgq8y\":\"平移\",\"SHuhOd\":\"para registrar el input RTMP push\",\"syWzbL\":\"密码\",\"Y+p0Tt\":\"SRT 加密的密码。\",\"fpQo1i\":\"密码长度必须介于 10 和 79 之间\",\"3GZXaB\":\"仅在必要时才应禁用直通(复制)。每种编码都需要额外的 CPU/GPU 资源。\",\"8ZsakT\":\"密码\",\"b+AuuK\":\"用于身份验证密码。\",\"oREnCY\":\"设备密码。\",\"mLaKIn\":\"Paste the Client ID and Client Secret in the fields above.\",\"eFPZ6S\":\"Permissions needed:\",\"69zOnT\":\"保存观众统计数据\",\"ANX1b0\":\"粉色\",\"c8aBfM\":\"像素格式\",\"PT6k0T\":\"Pixel Format\",\"nTc0DK\":\"计划:<0>起步\",\"Ejic1p\":\"直播平台\",\"gtQk6c\":\"回放\",\"vRayGs\":\"播放器\",\"tWB9Gz\":\"已保存播放器设置\",\"GIxxiU\":\"播放器 URL\",\"PUmLMn\":\"播放页\",\"LKPR6G\":\"播放列表\",\"luDqS5\":\"Playlist 版本(M3U8)。版本 3 有最好的浏览器/客户端兼容性。\",\"84gH7g\":\"请检查 <0>进程日志\",\"OMpKNS\":\"请联系服务管理员并检查情况。\",\"4lATxE\":\"请输入您的电子邮件地址以表示同意 Let's Encrypt CA 的服务条款,并在出现问题时收到通知。\",\"bdMiXb\":\"请与该服务的运营商联系并检查发生了什么。\",\"wPZBpR\":\"请选择要上传的文件。\",\"YcGRmx\":\"请尽可能使用 \\\"直通(复制)\\\"。编码需要额外的 CPU/GPU 资源。\",\"06qnxB\":\"请等待。正在读取媒体流数据 ...\",\"FTIPkL\":\"请等待。正在设置媒体流 ...\",\"hZ6znB\":\"端口\",\"p/78dY\":\"位置\",\"d62Stt\":\"海报\",\"PNap/Y\":\"海报图片 URL\",\"6o2Onc\":\"预设\",\"lxxyq5\":\"主媒体流\",\"Fc3yqN\":\"Probar\",\"Ls/hbu\":\"检测媒体流信息\",\"1B9XX0\":\"串流进程\",\"DL/nrw\":\"进程控制\",\"fzYV2N\":\"进程详情\",\"zNVLia\":\"进程报告\",\"PwMwvX\":\"串流进程和控制\",\"vERlcd\":\"Profile\",\"6+OdGi\":\"协议\",\"hEksWI\":\"串流协议\",\"aLZh9m\":\"公有域名\",\"7lbVwY\":\"找不到串流输出服务\",\"ia1vIb\":\"已保存发布页设置\",\"XHw75Y\":\"串流输出\",\"dsOSCf\":\"拉取模式\",\"lQQ/zA\":\"拉取或接收数据:\",\"m8LFXU\":\"Pulsa\",\"YIqvnS\":\"QP\",\"d3IqDh\":\"质量\",\"i9d+3B\":\"树莓派相机\",\"tbXj/A\":\"帧率控制\",\"iaocTt\":\"比率\",\"WnSPyE\":\"rav1e 参数\",\"6PpdQP\":\"以原始速率读取输入\",\"bqsSkO\":\"接收模式\",\"gcoiFh\":\"重连\",\"lakzvL\":\"重连延时(秒)\",\"HC1Dci\":[\"在 \",[\"0\"],\" 秒后重连\"],\"uSDaLA\":[\"在最后 \",[\"RETRIES\"],\" 秒内重连 Restreamer Core 失败。\"],\"N7ojfh\":\"重连 Restreamer Core 失败。\",\"lCF0wC\":\"刷新\",\"uJ+Ve2\":\"区域\",\"CNipTv\":\"注册用户\",\"z0zOAs\":\"Reintentar\",\"/HGBlK\":\"Relay activo\",\"HpK/8d\":\"重新加载\",\"yq+n6Y\":\"Remove Audio\",\"zAEYeM\":\"如果 /memfs 已满则移除最早的内容\",\"4yHM+E\":\"Required to use \\\"Authorize with Facebook\\\" in Publications → Facebook Live. Create a Facebook App at\",\"I/Yjnj\":\"需要激活\",\"XMbkus\":\"重置图标\",\"36SXzE\":\"重置海报\",\"6z9W13\":\"重启\",\"dKwnjv\":\"需要重启\",\"0Er6+M\":\"正在重启\",\"X1sT1j\":\"重在重启 Restreamer Core ...\",\"o5q6jb\":\"重启应用失败。\",\"x8cAsq\":\"Restreamer 指南\",\"24fLVm\":\"Restreamer 服务\",\"LCGjV4\":\"正在获取媒体流数据 ...\",\"6gRgw8\":\"重试\",\"Qe1vaN\":\"RGB 测试模式\",\"QoZkYe\":\"Room ID\",\"cAmhQ4\":[\"Room ID: \",[\"roomId\"]],\"H6bqMg\":\"Room URL\",\"BulyBf\":\"旋转\",\"8YtCMQ\":\"RTMP\",\"tY6raI\":\"串流输出的 RTMP app。\",\"7ggERB\":\"RTMP 输出\",\"V82lE+\":\"RTMP 端口\",\"itARjB\":\"RTMP 服务器\",\"WWZqzz\":\"未启用 RTMP 服务器\",\"HhOPCL\":\"RTMP 服务器监听地址。\",\"DbHOhO\":\"用于发布和播放的 RTMP token。该 token 将作为 URL 参数 'token' 使用。\",\"OAZeFE\":\"RTMPS 端口\",\"Wt/wFL\":\"RTMPS 服务器\",\"xwonDv\":\"RTMP 服务器监听地址。\",\"V7994R\":\"RTSP\",\"oAN4H/\":\"规则\",\"7Cmr+8\":\"Sala LiveKit\",\"WfPWNU\":\"Sala LiveKit (navegador)\",\"HneYgw\":\"采样\",\"tfDRzk\":\"保存\",\"xqy31c\":\"Save App ID\",\"YqNpok\":\"Save credentials\",\"idD8Ev\":\"Saved\",\"bifv6N\":\"缩放\",\"6aaceW\":\"缩放尺寸\",\"xbb037\":\"文件在缓存中保存的时间。\",\"geM4Wc\":\"进程重启等待的时间。\",\"iF7dnC\":\"前进程终止等待时间。\",\"mydmGn\":\"视频流缩略图更新等待时间。\",\"a3LDKx\":\"安全性\",\"Gkr6zI\":\"Security token\",\"/Ocrtf\":\"进度条颜色\",\"4lDlYf\":\"Segment 长度(秒)\",\"XfNrg+\":\"该值所示时间过后,片段将在下一个关键帧被剪切。推荐值是2。\",\"jHCoDy\":\"分片\",\"htbsw4\":\"选择一个设备:\",\"O+ruJ3\":\"选择音频源:\",\"6MTTpq\":\"选择 RTMP 或 SRT (如果可用)以减少延迟。\",\"E7haRr\":\"选择媒体源 ...\",\"PlZ1aw\":\"选择视频源:\",\"AIt9uj\":\"Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera).\",\"TNJ75R\":\"选择编码设置:\",\"aT3o8A\":\"选择过滤器设置(可选):\",\"ylXj1N\":\"选中的\",\"kYpw4+\":\"选中的频道\",\"p7/fS2\":\"选项\",\"SOePwi\":\"发送匿名数据(用于未来的开发)\",\"kOhBl+\":\"将数据流发送至地址...\",\"E1X5xY\":\"将媒体流发送到该地址:\",\"d/IMf3\":\"发送视频到帧缓冲\",\"sGH11W\":\"服务器\",\"9rG25a\":\"服务器 URL\",\"T3bXxK\":\"服务\",\"KPPdUO\":\"服务名称\",\"DOrSw/\":\"用于监视的服务 token。\",\"h2cvfC\":\"Servicio\",\"Cy3zlo\":\"Servidor\",\"4cEClj\":\"会话\",\"xwK3ty\":\"使用以 :分隔的 key=value 参数列表设置 rav1e 配置。\",\"FIIk8R\":\"为传出 HLS 数据传输设置带宽限制,以 Mbit/s 为单位。所有服务,例如 RTMP 和传出流程,都包含在计算中。如果超出带宽,HLS 查看器会收到 HTTP 状态代码 509(超出带宽限制)。 0 表示无限制。\",\"cOG/FK\":\"设置 HLS 会话的查看者限制。如果超出限制,HLS 查看器会收到 HTTP 状态代码 509(超出带宽限制)。 0 表示无限制。\",\"mcJFKm\":\"连接性设置。\",\"Tz0i8g\":\"设置\",\"IiOZ6R\":\"设置(专家模式)\",\"t64OSP\":\"/data 路径相关设置。访问保护方式为\",\"Ytdvyh\":\"/memfs 路径相关设置。\",\"1w3lYe\":\"已保存设置。所有更改将在重启后应用。\",\"XUw3i9\":\"分享按钮\",\"oD0Oes\":\"显示对项目的引用。\",\"+vv4q2\":\"注册(免费)\",\"JXVFAm\":\"静音\",\"VSK9FJ\":\"静音音频\",\"L8Jb2l\":\"波形\",\"MxZN16\":\"站点名称\",\"Cj2Gtd\":\"大小\",\"yTZe+y\":\"截图\",\"pSUgnY\":\"通过社交媒体登录(OAuth2, 2FA)\",\"qe9jaI\":\"Socket 超时(毫秒)\",\"bRN5nm\":\"软件\",\"wdxz7K\":\"媒体源\",\"sywlQb\":\"媒体源 & 编码\",\"l9wI00\":\"速度\",\"vdhBFK\":\"速度预设\",\"KE0/FX\":\"SRT\",\"miwWs6\":\"SRT 输出\",\"YqnAto\":\"SRT 服务器\",\"k6hpqB\":\"SRT 服务器不可用\",\"SzqwHY\":\"SRT 服务器监听地址。\",\"KwbjpB\":\"SRT 用于发布和播放的 token。该 token 是 streamed 参数 'token' 的值。\",\"Aj28wT\":\"Stale 超时(秒)\",\"EaA0eJ\":\"start_at_zero\",\"2NbyY/\":\"统计\",\"BrrIs8\":\"存储\",\"/iDsOp\":\"Store your global OAuth2 credentials here. They will be used in all YouTube publications so you only need to enter them once.\",\"Z9eRlx\":\"将观众统计数据保存到硬盘。\",\"hou0tP\":\"媒体流\",\"33jjWB\":\"Stream description\",\"K4YV01\":\"Stream ID\",\"4J0Vr1\":\"Stream key\",\"bqiH5R\":\"流钥匙\",\"gT0iFB\":\"Stream key backup\",\"qWIVqU\":\"Stream key principal\",\"LSQC9V\":\"Stream Keys\",\"MhddV1\":\"Stream name\",\"eXELiS\":\"Stream names\",\"ZHD8fx\":\"Stream Settings\",\"Ofd0Q3\":\"发布服务的媒体源(实验性)。\",\"58/o5G\":\"Stream title\",\"vejAXH\":\"媒体流 URL\",\"+fVH0Y\":\"赞助 datarhei Restreamer\",\"5HSoct\":\"支持 HTTP (HLS, DASH), RT, RTSP, RTMP, SRT 以及其他。\",\"D+NlUC\":\"系统\",\"jkuW2z\":\"目标地址\",\"/K2CvV\":\"模板\",\"2Ivkf/\":\"用于创建发布站点的模板。删除按钮从系统中删除选择。\",\"4Y5H+g\":\"条款\",\"tRNH6x\":\"测试模式\",\"EtlVOt\":\"测试模式(扩展)\",\"wGPolR\":\"文本颜色\",\"m0TUJj\":\"生成音频流的幅度(0.0 - 1.0)\",\"8C6xwe\":\"该应用使用旧版本的设置。\",\"VPQVR2\":\"可用的 FFmpeg 不支持任何一种要求的协议。\",\"Gx9PPK\":\"音频流的比特率。\",\"T2kk3f\":\"载波频率\",\"JAOLK8\":[\"无法删除频道 \\\"\",[\"0\"],\"\\\"\"],\"jNaBhy\":[\"已删除频道 \\\"\",[\"0\"],\"\\\"\"],\"SD8pYJ\":\"此频道删除后无法恢复。该频道的所有串流输出将被删除。\",\"bnkV//\":\"输入设置不完整。请设置视频源和音频源。\",\"wCYjmB\":\"输入配置文件不完整。请定义视频和/或音频源。\",\"JMaqWu\":\"音频流的布局。\",\"0dqo+p\":\"最大的 playlist segments 数量。0 表示包含所有 segment。推荐值为 6。\",\"BDgbiW\":\"噪音颜色\",\"SxGu7I\":\"在法律允许的范围内,根据版权法,包括所有相关和邻接权利在内,将作品与此契约相关联的人放弃了他或她在全球范围内对作品的所有权利,从而将作品投入公共领域。您可以复制、修改、分发和执行作品,甚至可以用于商业目的,所有这些都无需征得许可。\",\"XISvrq\":\"运行 Restreamer 主机的公网域名。用逗号分隔多个域名。\",\"yt3d3G\":[\"无法删除串流输出服务 \\\"\",[\"0\"],\"\\\"\"],\"zYcO/c\":[\"已创建串流输出服务 \\\"\",[\"0\"],\"\\\"\"],\"AQE+oz\":[\"已删除串流输出服务 \\\"\",[\"0\"],\"\\\"\"],\"qVLWvp\":\"已创建串流输出服务\",\"njj2Wn\":\"RTMP 输出需要 RTMP 服务器。\",\"WRxiP8\":\"音频流采样率。\",\"/pZjRr\":\"所选文件太大 (<0/>)。只允许 <1/>。\",\"VBaSn9\":[\"不允许使用所选文件类型(\",[\"0\"],\")。允许的文件类型为 \",[\"1\"]],\"fM410X\":[\"已保存 \\\"\",[\"0\"],\"\\\" 的设置\"],\"02ii2e\":\"媒体源没有提供音频流。\",\"+2cAEU\":\"媒体源没有提供音频流。请检查 <0>媒体头详情。\",\"pfqmY7\":\"媒体源没有提供兼容的音频流。\",\"VO9KeK\":\"媒体源没有提供兼容的音频流。请检查 <0>媒体头详情。\",\"007foU\":\"媒体源没有提供视频流。请检查 <0>媒体头详情。\",\"lAsMdV\":\"媒体源没有提供视频流。请检查设备。\",\"XlnvcR\":\"SRT 输出需要 SRT 服务器。\",\"w6uuIE\":\"该视频源没有提供任何兼容的音频流。推荐<0>静音音频。YouTube、Facebook 等服务要求有音频通道。\",\"YJJ2RL\":\"视频源不兼容。选择期望的解决方案:\",\"wEiZHy\":\"有可用的更新。这里获取更多信息。\",\"4p1MgS\":\"保存设置时出现错误。设置未保存。\",\"YJhhwT\":[\"在 \",[\"0\"],\" 连接到 Restreamer Core 时出现错误。\"],\"q42VsF\":[\"上传时出现错误:\",[\"0\"]],\"HM96PJ\":\"媒体流设置过程中出现了错误。\",\"LoDP+Y\":\"设置中有错误。设置未保存。\",\"l92ZKN\":\"没有可用的登录方式。\",\"cPKuc8\":\"这是一个虚拟服务,向您解释服务的概念。\",\"Ku8nyu\":\"这不一定是错误。但是,Restreamer Core 重启可能需要更长的时间。\",\"vCRP3w\":\"这是针对本服务对象的版权规定。\",\"Hx7k3c\":\"该许可允许再利用者以任何媒体或格式仅以未经改编的形式复制和分发材料,并且前提是要注明创作者的身份。该许可证允许用于商业用途。\",\"6OeMYB\":\"此许可允许再利用者以任何媒体或格式以未经改编的形式复制和分发材料,仅用于非商业目的,并且仅在注明创作者姓名的情况下。\",\"TUuhsB\":\"此许可允许重用者以任何媒体或格式分发、重新混合、改编和构建材料,仅用于非商业目的,并且仅在注明创作者身份的情况下。\",\"kVtKRl\":\"此许可允许重用者以任何媒体或格式分发、重新混合、改编和构建材料,仅用于非商业目的,并且仅在注明创作者身份的情况下。如果您重新混合、改编或构建这些材料,您必须根据相同的条款许可修改后的材料。\",\"FpX5mp\":\"该许可证允许再利用者以任何媒体或格式分发、重新混合、改编和构建材料,只要注明创作者的署名即可。该许可证允许用于商业用途。\",\"SDvwLd\":\"该许可证允许再利用者以任何媒体或格式分发、重新混合、改编和构建材料,只要注明创作者的署名即可。该许可证允许用于商业用途。如果您重新混合、改编或构建这些材料,您必须根据相同的条款许可修改后的材料。\",\"H144rX\":\"该协议未知或不被当前可用的 FFmpeg 支持。\",\"nlOxxw\":\"此源在使用中无法编辑。要继续,您必须断开信号源。\",\"mbSyrG\":[\"该版本的 UI 不支持可用的 FFmpeg 二进制文件(\",[\"0\"],\")。UI 需要 \",[\"1\"],\"。请使用支持的 FFmpeg 二进制文件。\"],\"N/tTgz\":[\"该版本的 UI 不支持已连接的 Core(\",[\"0\"],\")。UI 需要 \",[\"1\"],\"。请使用支持的 Core 版本。\"],\"2Vq5tr\":\"该版本的 UI 是兼容的。\",\"QxX9Z5\":\"阈值(秒)\",\"sNmspt\":\"瓷砖立柱\",\"sYGp2E\":\"瓷砖行\",\"wbOpwP\":\"瓷砖\",\"H59P7E\":\"超出该时间的不活动查看器连接将被视为已关闭。\",\"+svoQ5\":\"Title and description filled from YouTube\",\"rbNsna\":\"为了稳定系统,将关键帧间隔的 HLS 段长度增加 2-3 *(处理和控制)。\",\"TP9/K5\":\"Token\",\"q+c+Fv\":\"顶部区域\",\"7mjsuh\":\"将直播流传输到 Telegram 频道。\",\"Gxlq7L\":\"将主媒体源的快照传输到 HTTP/S 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"SdyhUl\":\"将主媒体源源的快照传输到 Icecast 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"MayU3b\":\"将主媒体源作为 HTTP 直播流(HLS)传输到 HTTP/S 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"3K8kpL\":\"将主媒体源作为 MPEG-DAS 传输到 HTTP/S 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"P/J230\":\"将主媒体源传输到 Brightcove Live 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"u0MhFy\":\"将主媒体源传输到 CDN77 RTMP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"zkgT7c\":\"将主媒体源传输到 DaCast RTMP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"in9xJz\":\"将主媒体源传输到 datarhei Core 资源。有关设置的更多详细信息,请访问<0>这里。\",\"PcgwEU\":\"将主媒体源传输到 livespotting.com 资源。有关设置的更多详细信息,请访问<0>这里。\",\"D7jwpf\":\"将主媒体源传输到 MPEG-TS 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"SpSgUV\":\"将主媒体源传输到 Red5/Pro 服务器。有关该设置的更多信息,请查看<0>这里。\",\"lIpqI/\":\"将主媒体源传输到 RTMP(e|s|t|te|ts) 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"pqR6nq\":\"将主媒体源传输到 RTSP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"Q4dSnZ\":\"将主媒体源传输到 SRT 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"fx9S4p\":\"将主媒体源传输到 UDP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"GLXY2N\":\"将主媒体源传输到 WOWZA 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"AsMKFi\":\"将主媒体源传输到 Akamai (MSL) Media Service Live。有关设置的更多详细信息,请访问<0>这里。\",\"FB364G\":\"将主源传输到 Livepush RTMP 服务。有关设置的更多详情,请参阅<0>此处。\",\"CC9yS5\":\"将主信号源传输到 Nimo TV RTMP 服务。有关设置的更多详情,请参阅<0>此处。\",\"fP8ZYg\":\"将主信号源传输到 Picarto TV RTMP 服务。有关设置的更多详情,请参阅<0>。\",\"D9A0LK\":\"将主媒体源传输到 Restream RTMP 服务器。有关设置的更多详细信息,请访问<0>这里。\",\"YL800g\":\"传输到 Azure Media Services。<0>这里查看更多信息。\",\"Abgy4c\":\"串流到 LinkedIn。<0>这里查看更多详情。\",\"dhCZoS\":\"将 Livestream 传输到 Dailymotion RTMP 服务。<0>在这里,你可以找到有关设置的更多详情。\",\"tQNclD\":\"将您的 Livestream 传输到 Kick.com RTMP 服务。<0>在此,您可以找到有关设置的更多详情。\",\"mQ0sjr\":\"将直播流传输到 Owncast 服务器。<0>这里查看该设置的更多信息。\",\"AqYRa3\":\"将您的 Livestream 传输到 Rumble RTMP 服务。<0>在此,您可以找到有关设置的更多详情。\",\"eeDdyF\":\"Transmit your Livestream to wetter.com. Contact the publisher <0>here .\",\"x1AwWF\":\"Transmits your video as RTMP. Connect a YouTube channel account using the global OAuth2 credentials from Settings → Integrations, then create a live broadcast to get the stream key automatically. <0>Creator Academy\",\"5QZO05\":\"将媒体流与在 Twitter Producer 中生成的秘钥传输。有关在 Twitter 的 Producer 中设置直播流的更多详细信息,请访问<0>这里。\",\"ADKef2\":\"Tune\",\"8jwViA\":\"UDP 传输\",\"Ic2fSM\":\"Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados.\",\"VEzv8G\":\"Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push.\",\"NOC7RD\":\"无法加载配置。\",\"MWrgON\":\"服务的唯一标识。\",\"Ef7StM\":\"未知的\",\"wiIpKZ\":\"未知上传错误\",\"P74TOi\":\"Unsaved\",\"sCTlv5\":\"Unsaved changes\",\"wIPU9d\":\"未选中\",\"j9zg7e\":\"更新详情(Changelog)\",\"ONWvwQ\":\"上传\",\"OXItQT\":[\"上传音频文件 (\",[\"0\"],\") 以循环播放。\"],\"75yxb7\":[\"上传图片或视频文件 (\",[\"0\"],\") 以循环播放。\"],\"iAkPTY\":\"上传文件失败\",\"Jmy6pK\":\"图标上传失败\",\"xl1xFp\":\"上传海报失败\",\"TjrbDj\":\"在线时长\",\"b8qQO+\":\"URL de la sala (compartir con el presentador)\",\"hxHP3A\":\"URL de la sala para el presentador\",\"xf9eEG\":\"URL WHIP de LiveKit Ingress (pegar en OBS)\",\"OXHf/6\":\"为你的 Restreamer Core 启用 Auth0。<0>查看更多详情。\",\"JX4TqK\":\"使用向导 (<0/>) 快速设置,或者直接在自定义模式中编辑 (<1/>) 源。\",\"YYTBz0\":\"使用您的版权并选择正确的图像许可。无论是对所有人免费还是受到高度限制。简要讨论其他人可以用您的形象做什么。\",\"2UPEb1\":\"使用您的版权并选择正确的图像许可。无论是对所有人免费还是受到高度限制。简要讨论其他人可以用您的形象做什么。\",\"n/LTdz\":\"use_wallclock_as_timestamps\",\"B3WxC7\":\"用户注册\",\"7sNhEz\":\"用户名\",\"Gv3pbp\":\"用于身份认证的用户名。\",\"RQSvXZ\":\"设备用户名。\",\"zze3B5\":\"V4L2_M2M 是实验性的。\",\"PvM7Yi\":\"可变帧率(VFR)\",\"hpBTpL\":\"天鹅绒\",\"uIAsxu\":\"垂直翻转\",\"vSJd18\":\"视频\",\"auaWhL\":\"视频设备\",\"/skRGV\":\"视频设置\",\"EzOjvB\":\"视频设置\",\"QcQXbU\":\"视频源\",\"M/TIv1\":\"观看者\",\"L2hKw+\":\"紫罗兰\",\"hA6FFn\":\"虚拟源\",\"/cF7Rs\":\"音量\",\"/gnt8J\":\"VPU ID\",\"wRy4hg\":\"对于 Raspberry PI (3/4),推荐使用 32 位操作系统的 OpenMAX IL。\",\"dwazFY\":\"WebRTC Room\",\"G0dpdb\":\"欢迎使用 Restreamer v2,这是一种快速简便的视频发布解决方案。免费供私人和商业使用。 如需进一步的帮助,请查看 <0>文档。\",\"hJfWkA\":\"使用什么速度预置。\",\"Fw55UE\":\"WHEP pull\",\"6Pz2IF\":\"存储 HLM playlist 和 segments 的位置。推荐 In-Memory。\",\"NYMVZz\":\"WHIP / OBS\",\"N8lLMN\":\"WHIP Ingress (OBS / externos)\",\"aWHAbR\":\"白色\",\"aFWU1n\":\"宽度\",\"e0wV2Y\":\"写保护\",\"r0G1VE\":\"y elige Pantalla o Cámara\",\"l75CjT\":\"是\",\"WPUsOF\":\"现在不能中止向导,因为至少必须定义一个输入。\",\"qwY9F9\":\"配置已更改。请重启应用以使更改生效。要立刻重启吗?\",\"nxq2ni\":\"需要手动重连\",\"RM3CEc\":\"有未保存的更改。请保存以再次管理服务。\",\"/cg7qS\":\"源需要被编码,但没有合适的编码器可用。\",\"BwrOm6\":\"媒体流需要被编码。请选择编码器:\",\"4GhNXB\":\"YouTube Live — OAuth2 Credentials\",\"eqPmeO\":\"YUV 测试模式\"}")}; \ No newline at end of file diff --git a/src/locales/zh-hans/messages.po b/src/locales/zh-hans/messages.po index 753d015..b809bfc 100644 --- a/src/locales/zh-hans/messages.po +++ b/src/locales/zh-hans/messages.po @@ -13,9 +13,13 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/views/Edit/Sources/WebRTCRoom.js:295 -#: src/views/Main/index.js:433 -#: src/views/Main/index.js:517 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 +#: src/views/Main/index.js:457 +#: src/views/Main/index.js:541 msgid "¡Copiado!" msgstr "" @@ -23,9 +27,9 @@ msgstr "" msgid ". Then add" msgstr "" -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "+ Agregar cuenta" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "(dejar vacía)" +msgstr "" #: src/misc/EncodingSelect.js:237 msgid "<0>Compatibility list" @@ -36,10 +40,6 @@ msgstr "<0>兼容性列表" msgid "<0>Show probe details" msgstr "<0>显示媒体信息头详情" -#: src/views/Publication/Services/Youtube.js:619 -#~ msgid "🎬 Create Live Broadcast & get stream key" -#~ msgstr "" - #: src/views/Publication/Services/Core.js:209 msgid "1. Switch to the interface of the target Restreamer." msgstr "1. 切换到目标 Restreamer 的界面。" @@ -76,11 +76,16 @@ msgstr "取消" msgid "About" msgstr "关于" -#: src/views/Edit/Sources/WebRTCRoom.js:304 +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "Abre la sala (botón" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:392 +#: src/views/Edit/Sources/WebRTCRoom.js:427 msgid "Abrir" msgstr "" -#: src/views/Main/index.js:424 +#: src/views/Main/index.js:448 msgid "Abrir sala" msgstr "" @@ -253,6 +258,10 @@ msgstr "" msgid "as an Authorized redirect URI." msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:523 +msgid "Asegúrate de que alguien esté publicando en la sala LiveKit" +msgstr "" + #: src/views/Publication/Add.js:527 msgid "Audio" msgstr "音频" @@ -302,10 +311,6 @@ msgstr "作者" msgid "Authorization" msgstr "权限" -#: src/views/Publication/Services/Youtube.js:564 -#~ msgid "Authorize with Google" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:65 msgid "Auto" msgstr "自动" @@ -322,10 +327,6 @@ msgstr "自动播放" msgid "Available" msgstr "可用的" -#: src/views/Publication/Services/Facebook.js:527 -#~ msgid "Avanzado: token manual (solo si no usas una cuenta conectada)" -#~ msgstr "" - #: src/views/Edit/Sources/AVFoundation.js:221 msgid "AVFoundation" msgstr "AVFoundation" @@ -437,7 +438,7 @@ msgstr "缓存时间(秒)" msgid "Cache types" msgstr "缓存类型" -#: src/views/Main/index.js:411 +#: src/views/Main/index.js:435 msgid "Canal activo — esperando que el presentador inicie la transmisión en la sala." msgstr "" @@ -513,6 +514,10 @@ msgstr "Chromecast" msgid "Chunk" msgstr "块" +#: src/views/Edit/Sources/WebRTCRoom.js:477 +msgid "Clave de stream" +msgstr "" + #: src/misc/Changelog.js:177 #: src/misc/ModalContent.js:77 #: src/misc/modals/Hint.js:181 @@ -544,29 +549,30 @@ msgstr "颜色" msgid "Command" msgstr "指挥" -#: src/views/Edit/Sources/WebRTCRoom.js:334 +#: src/views/Edit/Sources/WebRTCRoom.js:423 +#: src/views/Edit/Sources/WebRTCRoom.js:521 msgid "Cómo usar" msgstr "" -#: src/views/Main/index.js:413 +#: src/views/Main/index.js:437 msgid "Comparte el enlace de la sala con el presentador para iniciar la transmisión." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:339 -msgid "Comparte la URL (o QR) de la sala con el presentador" -msgstr "" - -#: src/views/Publication/Services/Facebook.js:335 -#~ msgid "Conectando…" -#~ msgstr "" - #: src/views/Settings.js:1415 msgid "Config" msgstr "配置" -#: src/views/Publication/Services/Facebook.js:441 -#~ msgid "Configuración de transmisión" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Configuración" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:412 +msgid "Configuración del proceso" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:472 +msgid "Configurar OBS" +msgstr "" #: src/views/Password.js:134 msgid "Confirm password" @@ -584,12 +590,8 @@ msgstr "已连接的设备" msgid "Connected since <0/>" msgstr "连接建立于" -#: src/views/Publication/Services/Youtube.js:543 -#~ msgid "Connected:" -#~ msgstr "" - #: src/misc/ActionButton.js:12 -#: src/views/Main/index.js:457 +#: src/views/Main/index.js:481 #: src/views/Publication/Process.js:40 msgid "Connecting ..." msgstr "连接中 ..." @@ -616,15 +618,19 @@ msgstr "常数量化器模式(-1 至 255)。" msgid "Content" msgstr "内容" -#: src/views/Main/index.js:504 +#: src/views/Main/index.js:528 msgid "Content URL" msgstr "内容 URL" -#: src/views/Edit/Sources/WebRTCRoom.js:295 +#: src/views/Edit/Sources/WebRTCRoom.js:388 +#: src/views/Edit/Sources/WebRTCRoom.js:451 +#: src/views/Edit/Sources/WebRTCRoom.js:500 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:182 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:217 msgid "Copiar" msgstr "" -#: src/views/Main/index.js:433 +#: src/views/Main/index.js:457 msgid "Copiar URL" msgstr "" @@ -648,10 +654,6 @@ msgstr "CPU 上限(百分比)" msgid "CPU usage limit in percent (0-100%), 0 for unlimited." msgstr "CPU 使用限制,单位为百分比(0-100%),0 表示无限制。" -#: src/views/Publication/Services/Facebook.js:468 -#~ msgid "Creando transmisión…" -#~ msgstr "" - #: src/views/Settings.js:2276 msgid "Create an OAuth2 Client ID in" msgstr "" @@ -660,10 +662,6 @@ msgstr "" msgid "Create project → Enable YouTube Data API v3 → Create OAuth 2.0 Client ID (type: Web application)." msgstr "" -#: src/views/Publication/Services/Youtube.js:618 -#~ msgid "Creating broadcast..." -#~ msgstr "" - #: src/misc/controls/License/index.js:112 msgid "Creative Commons" msgstr "创作许可" @@ -672,10 +670,6 @@ msgstr "创作许可" msgid "Credentials saved" msgstr "" -#: src/views/Publication/Services/Facebook.js:327 -#~ msgid "Cuentas de Facebook conectadas" -#~ msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:66 #: src/misc/coders/settings/Audio.js:25 #: src/misc/coders/settings/Audio.js:111 @@ -823,10 +817,6 @@ msgstr "去隔行模式" msgid "Deinterlace parity" msgstr "去隔行校验" -#: src/views/Edit/Sources/WebRTCRoom.js:266 -msgid "Dejar vacío para usar el host actual" -msgstr "" - #: src/misc/coders/Encoders/audio/opus.js:91 msgid "Delay" msgstr "延迟" @@ -851,14 +841,6 @@ msgstr "删除串流输出服务无法撤消。串流输出立即停止。" msgid "Delivering mode" msgstr "递送模式" -#: src/views/Publication/Services/Facebook.js:405 -#~ msgid "Desconectar cuenta" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:455 -#~ msgid "Descripción" -#~ msgstr "" - #: src/misc/controls/Metadata.js:85 #: src/misc/controls/Metadata.js:110 msgid "Description" @@ -885,10 +867,6 @@ msgstr "断开连接" msgid "Disconnect & Continue" msgstr "断连 & 继续" -#: src/views/Publication/Services/Youtube.js:552 -#~ msgid "Disconnect channel" -#~ msgstr "" - #: src/misc/ActionButton.js:18 #: src/views/Publication/Process.js:47 msgid "Disconnecting ..." @@ -974,20 +952,20 @@ msgstr "编辑:播放器" msgid "EDIT: Publication Website" msgstr "编辑:发布的站点" -#: src/views/Edit/Sources/WebRTCRoom.js:340 -msgid "El presentador abre la sala en su navegador, selecciona la fuente y pulsa" +#: src/views/Edit/Sources/WebRTCRoom.js:318 +msgid "El Core se conecta como suscriptor WHEP al servidor egress, que intermedia el stream de la sala LiveKit. No requiere RTMP push externo." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:226 -msgid "El servidor relay no está disponible. Asegúrate de que el servidor Node.js (fb-server) está corriendo con soporte WebSocket." +#: src/views/Edit/Sources/WebRTCRoom.js:524 +msgid "el Core se conectará al servidor WHEP egress y recibirá el stream." msgstr "" -#: src/views/Publication/Services/Facebook.js:474 -#~ msgid "El token está expirado. Usa 🔄 para renovarlo." -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:341 +msgid "El servidor LiveKit no está disponible. Verifica LIVEKIT_API_KEY, LIVEKIT_API_SECRET y LIVEKIT_WS_URL en el docker-compose." +msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:342 -msgid "El video llega al Core vía RTMP y se distribuye a todos los destinos configurados" +#: src/views/Edit/Sources/WebRTCRoom.js:429 +msgid "El video llega al Core vía RTMP push interno" msgstr "" #: src/views/Settings.js:1505 @@ -998,6 +976,18 @@ msgstr "邮箱" msgid "Embed" msgstr "内嵌" +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "Emisión" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:478 +msgid "En el servidor egress el stream será relayado a Restreamer vía RTMP automáticamente." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "en la sala" +msgstr "" + #: src/misc/controls/RTMP.js:48 #: src/misc/controls/SRT.js:48 msgid "Enable" @@ -1066,6 +1056,14 @@ msgstr "编码" msgid "Encryption" msgstr "加密" +#: src/views/Edit/Sources/WebRTCRoom.js:490 +msgid "Endpoint WHEP (el Core se conectará aquí como suscriptor)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:441 +msgid "Endpoint WHIP (pegar en OBS o fuente externa)" +msgstr "" + #: src/misc/ChannelList.js:432 msgid "Enter a name for the new channel." msgstr "输入新频道的名字。" @@ -1101,12 +1099,12 @@ msgstr "错误" msgid "Error while copying data to clipboard" msgstr "复制到剪贴板时出现错误" -#: src/views/Main/index.js:465 +#: src/views/Main/index.js:489 #: src/views/Publication/Process.js:64 msgid "Error: {0}" msgstr "错误:{0}" -#: src/views/Main/index.js:409 +#: src/views/Main/index.js:433 msgid "Esperando señal del presentador…" msgstr "" @@ -1213,10 +1211,6 @@ msgstr "FFmpeg" msgid "File path" msgstr "文件路径" -#: src/views/Publication/Services/Youtube.js:477 -#~ msgid "Filled automatically after creating a live broadcast, or enter manually" -#~ msgstr "" - #: src/views/Edit/Summary.js:101 msgid "Filter" msgstr "过滤器" @@ -1300,6 +1294,10 @@ msgstr "" msgid "From the same OAuth2 Client ID credential" msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:298 +msgid "Fuente externa (OBS, GStreamer, navegador, etc.) publica su stream WebRTC via WHIP al servidor egress. El egress lo recibe y lo reenvía al Core vía RTMP push." +msgstr "" + #: src/views/Edit/index.js:432 #: src/views/Edit/index.js:444 #: src/views/Edit/Sources/Network.js:625 @@ -1319,6 +1317,10 @@ msgstr "" msgid "General" msgstr "常规" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:148 +msgid "Generando URL WHIP en LiveKit Ingress…" +msgstr "" + #: src/views/Publication/Services/DLive.js:94 #: src/views/Publication/Services/Facebook.js:518 #: src/views/Publication/Services/Facebook.js:529 @@ -1341,10 +1343,6 @@ msgstr "GET" msgid "Go to" msgstr "" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "Go to Settings → Integrations" -#~ msgstr "" - #: src/views/Publication/Player.js:497 msgid "Google Analytics ID" msgstr "Google Analytics ID" @@ -1353,24 +1351,21 @@ msgstr "Google Analytics ID" msgid "Google Analytics Tracker Name" msgstr "Google Analytics Tracker Name" -#: src/views/Edit/Sources/WebRTCRoom.js:338 -msgid "Guarda el canal y pon el proceso en marcha" +#: src/views/Edit/Sources/WebRTCRoom.js:426 +msgid "Guarda el canal y activa el proceso" msgstr "" -#: src/views/Publication/Services/Facebook.js:519 -#~ msgid "Habilitar stream backup" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:518 -#~ msgid "Habilitar stream principal" -#~ msgstr "" +#: src/views/Edit/Sources/WebRTCRoom.js:525 +msgid "Guarda el canal y activa el proceso para habilitar las publicaciones RTMP." +msgstr "" #: src/views/Edit/Sources/V4L.js:154 #: src/views/Edit/Wizard/Sources/V4L.js:140 msgid "Hardware device" msgstr "硬件设备" -#: src/views/Edit/Sources/WebRTCRoom.js:337 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 msgid "Haz clic en" msgstr "" @@ -1386,7 +1381,7 @@ msgstr "提要" msgid "Height" msgstr "高度" -#: src/views/Main/index.js:537 +#: src/views/Main/index.js:561 msgid "HLS" msgstr "HLS" @@ -1406,10 +1401,6 @@ msgstr "内存存储器的HLS统计" msgid "Horizontal Flip" msgstr "水平翻转" -#: src/views/Edit/Sources/WebRTCRoom.js:267 -msgid "Host del servidor relay WebSocket. Por defecto usa el mismo host del UI." -msgstr "" - #: src/views/Login.js:319 msgid "Hosted Restreamer interface" msgstr "托管的 Restreamer 接口" @@ -1438,8 +1429,8 @@ msgstr "HTTPS 端口" msgid "Human readable name on the service." msgstr "服务的易读名称。" -#: src/views/Edit/Sources/WebRTCRoom.js:254 -msgid "Identificador de la sala. Debe coincidir con el nombre del stream RTMP." +#: src/views/Edit/Sources/WebRTCRoom.js:366 +msgid "Identificador de la sala / stream. Por defecto usa el ID del canal ({streamName})." msgstr "" #: src/views/Settings.js:2479 @@ -1507,10 +1498,6 @@ msgstr "不兼容" msgid "Inherit" msgstr "继承" -#: src/views/Publication/Services/Facebook.js:469 -#~ msgid "Iniciar Live como \"{0}\"" -#~ msgstr "" - #: src/views/Playersite.js:748 msgid "Inject 1" msgstr "注入 1" @@ -1527,6 +1514,14 @@ msgstr "注入 3" msgid "Inject 4" msgstr "注入 4" +#: src/views/Edit/Sources/WebRTCRoom.js:461 +msgid "Input Restreamer Core (esperando RTMP push del relay)" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:510 +msgid "Input Restreamer Core (URL WHEP directa)" +msgstr "" + #: src/views/Edit/Sources/Network.js:1094 #: src/views/Edit/Sources/Network.js:1188 #: src/views/Edit/Wizard/Sources/InternalRTMP.js:111 @@ -1567,10 +1562,6 @@ msgstr "关键帧间隔(秒)" msgid "Layout" msgstr "布局" -#: src/views/Publication/Services/Youtube.js:608 -#~ msgid "Leave default to start ~5 min from now" -#~ msgstr "" - #: src/views/Settings.js:1492 msgid "Let's Encrypt certification" msgstr "Let's Encrypt 证书" @@ -1668,6 +1659,10 @@ msgstr "串流到 Twitch Live RTMP 服务。" msgid "Live-Streaming to Vimeo Live RTMP Service" msgstr "串流到 Vimeo Live RTMP 服务" +#: src/views/Edit/Sources/WebRTCRoom.js:352 +msgid "LiveKit configurado correctamente" +msgstr "" + #: src/views/Publication/Services/Livespotting.js:94 msgid "Livesource ID" msgstr "Livesource ID" @@ -1726,7 +1721,7 @@ msgstr "响度归一化" msgid "Low latency (Buffer)" msgstr "低延迟(缓冲)" -#: src/views/Main/index.js:380 +#: src/views/Main/index.js:404 #: src/views/Playersite.js:367 msgid "Main channel" msgstr "主频道" @@ -1848,6 +1843,10 @@ msgstr "元数据" msgid "Mininum {0}, default {1}" msgstr "最小 {0},默认 {1}" +#: src/views/Edit/Sources/WebRTCRoom.js:248 +msgid "Modo de entrada WebRTC" +msgstr "" + #: src/views/Edit/Sources/VirtualVideo.js:158 msgid "Mold" msgstr "Mold" @@ -1870,7 +1869,7 @@ msgstr "更多关于 Twitter 版权信息,请点击<0>这里。" msgid "More about YouTube's copyright <0>here." msgstr "关于 YouTube 的版权,请点击<0>这里。" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Mostrar QR" msgstr "" @@ -1948,14 +1947,6 @@ msgstr "无音频" msgid "No audio stream available" msgstr "没有可用的音频流" -#: src/views/Publication/Services/Facebook.js:341 -#~ msgid "No hay App ID configurado. Ve a Settings → Integrations → Facebook App ID." -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:355 -#~ msgid "No hay cuentas conectadas. Haz clic en \"+ Agregar cuenta\"." -#~ msgstr "" - #: src/views/Edit/Wizard/Sources/AVFoundation.js:70 #: src/views/Edit/Wizard/Sources/V4L.js:99 msgid "No input device available" @@ -1965,14 +1956,6 @@ msgstr "没有可用的输入设备" msgid "No live stream was detected. Please check the software that sends the stream." msgstr "未检测到直播流。请检查发送直播流的软件。" -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "No OAuth2 credentials found." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:523 -#~ msgid "No OAuth2 credentials found. Go to" -#~ msgstr "" - #: src/views/Edit/Summary.js:29 msgid "No source selected" msgstr "未选择媒体源" @@ -1989,7 +1972,7 @@ msgstr "未找到合适的编码器。" msgid "No suitable filter found." msgstr "没有合适的过滤器。" -#: src/views/Main/index.js:450 +#: src/views/Main/index.js:474 #: src/views/Publication/Player.js:356 msgid "No video" msgstr "没有视频" @@ -1998,10 +1981,6 @@ msgstr "没有视频" msgid "No video stream available" msgstr "没有可用的视频流" -#: src/views/Publication/Services/Youtube.js:457 -#~ msgid "No YouTube channel connected. Use the section below to authorize with Google." -#~ msgstr "" - #: src/views/Settings.js:1376 msgid "Node ID" msgstr "Node ID" @@ -2052,10 +2031,6 @@ msgstr "编码瓦片数。" msgid "Number of tiles rows to encode with." msgstr "要编码的瓦片行数。" -#: src/views/Publication/Services/Youtube.js:579 -#~ msgid "OAuth Playground token — expires in 1h" -#~ msgstr "" - #: src/views/Settings.js:2295 msgid "OAuth2 Client ID" msgstr "" @@ -2064,7 +2039,19 @@ msgstr "" msgid "OAuth2 Client Secret" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:318 +#: src/views/Edit/Sources/WebRTCRoom.js:474 +msgid "OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:132 +msgid "OBS (u otro cliente) publica vía WHIP a LiveKit Ingress. LiveKit lo inyecta en la sala como participante. El Core recibe la señal via WHEP desde el servidor egress." +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:170 +msgid "OBS → Configuración → Emisión → Servicio: <0>Custom (WHIP) → pega esta URL. Clave de stream: vacía." +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:402 msgid "Ocultar QR" msgstr "" @@ -2083,7 +2070,7 @@ msgstr "每行一个来源,例如 http://www.example.com" msgid "Open" msgstr "打开" -#: src/views/Main/index.js:526 +#: src/views/Main/index.js:550 msgid "Open room" msgstr "" @@ -2095,20 +2082,12 @@ msgstr "" msgid "Output buffer" msgstr "输出缓冲区" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "Page Access Token" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:540 -#~ msgid "Page ID" -#~ msgstr "" - #: src/misc/filters/audio/Pan.js:45 msgid "Pan" msgstr "平移" -#: src/views/Edit/Sources/WebRTCRoom.js:337 -msgid "para registrar el endpoint RTMP push" +#: src/views/Edit/Sources/WebRTCRoom.js:425 +msgid "para registrar el input RTMP push" msgstr "" #: src/views/Publication/Services/Core.js:238 @@ -2157,10 +2136,6 @@ msgstr "设备密码。" msgid "Paste the Client ID and Client Secret in the fields above." msgstr "" -#: src/views/Publication/Services/Youtube.js:576 -#~ msgid "Paste token manually" -#~ msgstr "" - #: src/views/Settings.js:2429 msgid "Permissions needed:" msgstr "" @@ -2221,7 +2196,7 @@ msgstr "播放列表" msgid "Playlist version (M3U8). Version 3 has the best browser/client compatibility." msgstr "Playlist 版本(M3U8)。版本 3 有最好的浏览器/客户端兼容性。" -#: src/views/Main/index.js:470 +#: src/views/Main/index.js:494 msgid "Please check the <0>process log" msgstr "请检查 <0>进程日志" @@ -2309,16 +2284,9 @@ msgstr "预设" msgid "Primary stream" msgstr "主媒体流" -#: src/views/Publication/Services/Youtube.js:590 -#~ msgid "Privacy status" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:596 -#~ msgid "Private" -#~ msgstr "" - -#: src/views/Edit/Sources/WebRTCRoom.js:337 -#: src/views/Edit/Sources/WebRTCRoom.js:349 +#: src/views/Edit/Sources/WebRTCRoom.js:425 +#: src/views/Edit/Sources/WebRTCRoom.js:524 +#: src/views/Edit/Sources/WebRTCRoom.js:533 msgid "Probar" msgstr "" @@ -2349,15 +2317,15 @@ msgstr "串流进程" msgid "Process control" msgstr "进程控制" -#: src/views/Main/index.js:584 -#: src/views/Main/index.js:600 +#: src/views/Main/index.js:608 +#: src/views/Main/index.js:624 #: src/views/Publication/Edit.js:496 #: src/views/Publication/Edit.js:615 msgid "Process details" msgstr "进程详情" -#: src/views/Main/index.js:587 -#: src/views/Main/index.js:608 +#: src/views/Main/index.js:611 +#: src/views/Main/index.js:632 #: src/views/Publication/Edit.js:499 #: src/views/Publication/Edit.js:623 msgid "Process report" @@ -2408,10 +2376,6 @@ msgstr "协议" msgid "Protocols" msgstr "串流协议" -#: src/views/Publication/Services/Youtube.js:594 -#~ msgid "Public" -#~ msgstr "" - #: src/views/Settings.js:1440 msgid "Public domain/s" msgstr "公有域名" @@ -2437,6 +2401,10 @@ msgstr "拉取模式" msgid "Pull or recieve the data:" msgstr "拉取或接收数据:" +#: src/views/Edit/Sources/WebRTCRoom.js:428 +msgid "Pulsa" +msgstr "" + #: src/misc/coders/Encoders/video/av1_librav1e.js:170 msgid "QP" msgstr "QP" @@ -2486,11 +2454,7 @@ msgstr "重连" msgid "Reconnect delay (seconds)" msgstr "重连延时(秒)" -#: src/views/Publication/Services/Youtube.js:539 -#~ msgid "Reconnect the account." -#~ msgstr "" - -#: src/views/Main/index.js:477 +#: src/views/Main/index.js:501 #: src/views/Publication/Process.js:68 #: src/views/Publication/Process.js:81 msgid "Reconnecting in {0}s" @@ -2530,12 +2494,12 @@ msgstr "区域" msgid "Register user" msgstr "注册用户" -#: src/views/Main/index.js:439 -msgid "Relay activo" +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:157 +msgid "Reintentar" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:263 -msgid "Relay host (opcional)" +#: src/views/Main/index.js:463 +msgid "Relay activo" msgstr "" #: src/views/Password.js:178 @@ -2551,10 +2515,6 @@ msgstr "" msgid "Remove the oldest entries if the /memfs is full" msgstr "如果 /memfs 已满则移除最早的内容" -#: src/views/Publication/Services/Facebook.js:393 -#~ msgid "Renovar token (60 días)" -#~ msgstr "" - #: src/views/Settings.js:2382 msgid "Required to use \"Authorize with Facebook\" in Publications → Facebook Live. Create a Facebook App at" msgstr "" @@ -2604,7 +2564,7 @@ msgstr "Restreamer 指南" msgid "Restreamer Service" msgstr "Restreamer 服务" -#: src/views/Main/index.js:364 +#: src/views/Main/index.js:388 msgid "Retrieving stream data ..." msgstr "正在获取媒体流数据 ..." @@ -2618,15 +2578,15 @@ msgstr "重试" msgid "RGB test pattern" msgstr "RGB 测试模式" -#: src/views/Edit/Sources/WebRTCRoom.js:251 -msgid "Room ID / Stream name" +#: src/views/Edit/Sources/WebRTCRoom.js:363 +msgid "Room ID" msgstr "" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:52 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:208 msgid "Room ID: {roomId}" msgstr "" -#: src/views/Main/index.js:517 +#: src/views/Main/index.js:541 msgid "Room URL" msgstr "" @@ -2634,7 +2594,7 @@ msgstr "" msgid "Rotate" msgstr "旋转" -#: src/views/Main/index.js:546 +#: src/views/Main/index.js:570 #: src/views/Settings.js:1277 #: src/views/Settings.js:1959 msgid "RTMP" @@ -2690,6 +2650,14 @@ msgstr "RTSP" msgid "Rule" msgstr "规则" +#: src/views/Edit/Sources/WebRTCRoom.js:259 +msgid "Sala LiveKit" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:114 +msgid "Sala LiveKit (navegador)" +msgstr "" + #: src/misc/coders/settings/Audio.js:188 #: src/misc/filters/audio/Resample.js:140 msgid "Sampling" @@ -2729,14 +2697,6 @@ msgstr "缩放" msgid "Scale size" msgstr "缩放尺寸" -#: src/views/Publication/Services/Youtube.js:603 -#~ msgid "Scheduled start (local time)" -#~ msgstr "" - -#: src/views/Publication/Services/Facebook.js:490 -#~ msgid "Se rellenan al crear el Live. También puedes pegarlas manualmente." -#~ msgstr "" - #: src/views/Settings.js:1894 msgid "Seconds to keep files in cache." msgstr "文件在缓存中保存的时间。" @@ -2778,10 +2738,6 @@ msgstr "该值所示时间过后,片段将在下一个关键帧被剪切。推 msgid "Segmentation" msgstr "分片" -#: src/views/Publication/Services/Facebook.js:470 -#~ msgid "Selecciona una cuenta primero" -#~ msgstr "" - #: src/views/Edit/Sources/ALSA.js:108 #: src/views/Edit/Sources/AVFoundation.js:172 #: src/views/Edit/Sources/Framebuffer.js:99 @@ -2810,10 +2766,6 @@ msgstr "选择媒体源 ..." msgid "Select video source:" msgstr "选择视频源:" -#: src/views/Edit/Wizard/Source.js:19 -#~ msgid "Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer)." -#~ msgstr "选择从<0>网络源(例如网络摄像头)还是<1>内部RTMP服务器(例如, OBS 串流到 Restreamer)拉取媒体流。" - #: src/views/Edit/Wizard/Source.js:19 msgid "Select whether you pull the stream from a <0>network source (such as a network camera), the <1>internal RTMP server (e.g., OBS streams to the Restreamer), or use a <2>WebRTC Room to stream directly from a browser (screen share or camera)." msgstr "" @@ -2885,8 +2837,12 @@ msgstr "服务名称" msgid "Service token for monitoring." msgstr "用于监视的服务 token。" -#: src/views/Edit/Sources/WebRTCRoom.js:237 -msgid "Servidor relay disponible" +#: src/views/Edit/Sources/WebRTCRoom.js:475 +msgid "Servicio" +msgstr "" + +#: src/views/Edit/Sources/WebRTCRoom.js:476 +msgid "Servidor" msgstr "" #: src/Footer.js:240 @@ -2917,10 +2873,6 @@ msgstr "设置" msgid "Settings (expert mode)" msgstr "设置(专家模式)" -#: src/views/Publication/Services/Youtube.js:525 -#~ msgid "Settings → Integrations" -#~ msgstr "" - #: src/views/Settings.js:1809 msgid "Settings for /data path. The access is protected by" msgstr "/data 路径相关设置。访问保护方式为" @@ -2966,7 +2918,7 @@ msgid "Size" msgstr "大小" #: src/views/Edit/index.js:558 -#: src/views/Main/index.js:565 +#: src/views/Main/index.js:589 msgid "Snapshot" msgstr "截图" @@ -3005,7 +2957,7 @@ msgstr "速度" msgid "Speed Preset" msgstr "速度预设" -#: src/views/Main/index.js:556 +#: src/views/Main/index.js:580 #: src/views/Settings.js:1278 #: src/views/Settings.js:2058 msgid "SRT" @@ -3447,26 +3399,10 @@ msgstr "瓷砖" msgid "Time until an inactive viewer connection is treated as closed." msgstr "超出该时间的不活动查看器连接将被视为已关闭。" -#: src/views/Publication/Services/Facebook.js:532 -#~ msgid "Tipo de cuenta" -#~ msgstr "" - #: src/views/Edit/index.js:291 msgid "Title and description filled from YouTube" msgstr "" -#: src/views/Publication/Services/Facebook.js:446 -#~ msgid "Título del live" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:458 -#~ msgid "to add your Client ID and Client Secret." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:527 -#~ msgid "to enter your Client ID and Client Secret first." -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:181 msgid "To stabilize the system, increase the HLS segment length for the keyframe interval by 2-3 * (Processing and Control)." msgstr "为了稳定系统,将关键帧间隔的 HLS 段长度增加 2-3 *(处理和控制)。" @@ -3477,18 +3413,6 @@ msgstr "为了稳定系统,将关键帧间隔的 HLS 段长度增加 2-3 *( msgid "Token" msgstr "Token" -#: src/views/Publication/Services/Facebook.js:479 -#~ msgid "Token de corta duración (2h). Configura App Secret para tokens de 60 días." -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:436 -#~ msgid "Token expired — reconnect" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:538 -#~ msgid "Token expired for" -#~ msgstr "" - #: src/misc/filters/video/Bwdif.js:59 msgid "Top field" msgstr "顶部区域" @@ -3627,12 +3551,12 @@ msgstr "Tune" msgid "UDP transport" msgstr "UDP 传输" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:39 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:127 msgid "Un cliente (navegador) abrirá la sala WebRTC para compartir su pantalla o cámara. La señal llegará al Core vía RTMP y se distribuirá a todos los destinos configurados." msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:193 -msgid "Un cliente (navegador) puede conectarse a la sala WebRTC para compartir su pantalla o cámara, y transmitirla directamente a este canal." +#: src/views/Edit/Sources/WebRTCRoom.js:279 +msgid "Un cliente (navegador) se conecta a la sala LiveKit para compartir su pantalla o cámara. El video llega al Core vía RTMP push." msgstr "" #: src/views/Settings.js:1242 @@ -3654,10 +3578,6 @@ msgstr "未知的" msgid "Unknown upload error" msgstr "未知上传错误" -#: src/views/Publication/Services/Youtube.js:595 -#~ msgid "Unlisted" -#~ msgstr "" - #: src/views/Settings.js:2418 msgid "Unsaved" msgstr "" @@ -3713,12 +3633,16 @@ msgstr "上传海报失败" msgid "Uptime" msgstr "在线时长" -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:49 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:205 msgid "URL de la sala (compartir con el presentador)" msgstr "" -#: src/views/Edit/Sources/WebRTCRoom.js:278 -msgid "URL de la sala para el cliente" +#: src/views/Edit/Sources/WebRTCRoom.js:378 +msgid "URL de la sala para el presentador" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:165 +msgid "URL WHIP de LiveKit Ingress (pegar en OBS)" msgstr "" #: src/views/Login.js:343 @@ -3741,10 +3665,6 @@ msgstr "使用您的版权并选择正确的图像许可。无论是对所有人 msgid "use_wallclock_as_timestamps" msgstr "use_wallclock_as_timestamps" -#: src/views/Publication/Services/Facebook.js:547 -#~ msgid "User Access Token" -#~ msgstr "" - #: src/views/Password.js:99 msgid "User registration" msgstr "用户注册" @@ -3773,10 +3693,6 @@ msgstr "用于身份认证的用户名。" msgid "Username for the device." msgstr "设备用户名。" -#: src/views/Publication/Services/Youtube.js:567 -#~ msgid "Uses credentials from Settings → Integrations" -#~ msgstr "" - #: src/misc/coders/Encoders/video/h264_v4l2m2m.js:167 msgid "V4L2_M2M is experimental." msgstr "V4L2_M2M 是实验性的。" @@ -3850,10 +3766,10 @@ msgstr "VPU ID" msgid "We recommend OpenMAX IL for Raspberry PI (3/4) with a 32-bit operating system." msgstr "对于 Raspberry PI (3/4),推荐使用 32 位操作系统的 OpenMAX IL。" -#: src/views/Edit/Sources/WebRTCRoom.js:370 -#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:74 -#: src/views/Main/index.js:405 -#: src/views/Main/index.js:501 +#: src/views/Edit/Sources/WebRTCRoom.js:551 +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:241 +#: src/views/Main/index.js:429 +#: src/views/Main/index.js:525 msgid "WebRTC Room" msgstr "" @@ -3865,10 +3781,22 @@ msgstr "欢迎使用 Restreamer v2,这是一种快速简便的视频发布解 msgid "What speed preset to use." msgstr "使用什么速度预置。" +#: src/views/Edit/Sources/WebRTCRoom.js:267 +msgid "WHEP pull" +msgstr "" + #: src/misc/controls/HLS.js:74 msgid "Where to store the HLS playlist and segments. In-Memory is recommended." msgstr "存储 HLM playlist 和 segments 的位置。推荐 In-Memory。" +#: src/views/Edit/Sources/WebRTCRoom.js:263 +msgid "WHIP / OBS" +msgstr "" + +#: src/views/Edit/Wizard/Sources/WebRTCRoom.js:118 +msgid "WHIP Ingress (OBS / externos)" +msgstr "" + #: src/views/Edit/Sources/VirtualAudio.js:111 msgid "white" msgstr "白色" @@ -3881,6 +3809,10 @@ msgstr "宽度" msgid "Write protection" msgstr "写保护" +#: src/views/Edit/Sources/WebRTCRoom.js:427 +msgid "y elige Pantalla o Cámara" +msgstr "" + #: src/views/Edit/Wizard/Abort.js:38 msgid "Yes" msgstr "是" @@ -3893,7 +3825,7 @@ msgstr "现在不能中止向导,因为至少必须定义一个输入。" msgid "You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?" msgstr "配置已更改。请重启应用以使更改生效。要立刻重启吗?" -#: src/views/Main/index.js:480 +#: src/views/Main/index.js:504 #: src/views/Publication/Process.js:73 msgid "You have to reconnect manually" msgstr "需要手动重连" @@ -3910,14 +3842,6 @@ msgstr "源需要被编码,但没有合适的编码器可用。" msgid "Your stream needs to be encoded. Choose the desired encoder:" msgstr "媒体流需要被编码。请选择编码器:" -#: src/views/Publication/Services/Youtube.js:519 -#~ msgid "YouTube channel account" -#~ msgstr "" - -#: src/views/Publication/Services/Youtube.js:427 -#~ msgid "YouTube channel connected:" -#~ msgstr "" - #: src/views/Settings.js:2273 msgid "YouTube Live — OAuth2 Credentials" msgstr "" diff --git a/src/setupProxy.js b/src/setupProxy.js index 95ccf87..034b2d3 100644 --- a/src/setupProxy.js +++ b/src/setupProxy.js @@ -13,24 +13,33 @@ const fs = require('fs'); const CORE_TARGET = process.env.REACT_APP_CORE_URL || 'http://localhost:8080'; const YTDLP_TARGET = process.env.REACT_APP_YTDLP_URL || 'http://localhost:8282'; const FB_SERVER_TARGET = process.env.REACT_APP_FB_SERVER_URL || 'http://localhost:3002'; +// Dirección LOCAL del servidor egress/whip para el proxy de desarrollo. +// DISTINTO de REACT_APP_WHIP_SERVER_URL (que es la URL pública para el frontend). +// En dev: http://localhost:3005. En prod Caddy proxea directamente, esto no se usa. +const WHIP_SERVER_TARGET = process.env.WHIP_API_TARGET || 'http://localhost:3005'; +// WHIP ingest directo a livekit-ingress (en dev OBS no puede acceder via CRA, pero lo mapeamos) +const LIVEKIT_INGRESS_TARGET = process.env.LIVEKIT_INGRESS_INTERNAL_URL || 'http://192.168.1.20:8088'; console.log('\n[setupProxy] ─────────────────────────────────────'); console.log(`[setupProxy] Core → ${CORE_TARGET}`); console.log(`[setupProxy] yt-dlp → ${YTDLP_TARGET}`); console.log(`[setupProxy] fb-server → ${FB_SERVER_TARGET}`); +console.log(`[setupProxy] whip/egress → ${WHIP_SERVER_TARGET}`); console.log('[setupProxy] ─────────────────────────────────────\n'); let coreUrl; +let coreTarget = CORE_TARGET; try { coreUrl = new URL(CORE_TARGET); } catch (e) { - console.error(`[setupProxy] Invalid REACT_APP_CORE_URL: "${CORE_TARGET}"`); - coreUrl = new URL('http://localhost:8080'); + console.error(`[setupProxy] Invalid REACT_APP_CORE_URL: "${CORE_TARGET}" — falling back to http://localhost:8080`); + coreTarget = 'http://localhost:8080'; + coreUrl = new URL(coreTarget); } // Shared proxy instance for all Core paths (/api, /memfs, /diskfs) const coreProxy = createProxyMiddleware({ - target: CORE_TARGET, + target: coreTarget, changeOrigin: true, secure: false, ws: false, @@ -143,6 +152,64 @@ module.exports = function (app) { } }); + // WHIP Ingress API: /api/whip/* → egress server + // En dev: http://localhost:3005 (egress server/index.js) + // En prod: Caddy proxea /api/whip/* → Node:3002 (restreamer-ui server/index.js) + app.use( + '/api/whip', + createProxyMiddleware({ + target: WHIP_SERVER_TARGET, + changeOrigin: true, + secure: false, + onError: (err, req, res) => { + console.error(`[setupProxy] whip proxy error: ${err.code} — ${err.message}`); + if (!res.headersSent) { + res.writeHead(502, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify({ error: 'Egress server unavailable', message: err.message })); + } + }, + }), + ); + + // WHEP relay: /whep/* → egress server (Core hace pull del stream desde aquí) + // En dev: http://localhost:3005/whep/* + // En prod: Caddy proxea /whep/* → EGRESS_HOST (llmchats-whep.zuqtxy.easypanel.host) + app.use( + '/whep', + createProxyMiddleware({ + target: WHIP_SERVER_TARGET, + changeOrigin: true, + secure: false, + onError: (err, req, res) => { + console.error(`[setupProxy] whep proxy error: ${err.code} — ${err.message}`); + if (!res.headersSent) { + res.writeHead(502, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify({ error: 'Egress server unavailable', message: err.message })); + } + }, + }), + ); + + // WHIP ingest: /w/* → livekit-ingress directamente + // En dev apunta a la IP interna del livekit-ingress (192.168.1.20:8088). + // En prod: Caddy proxea /w/* → LIVEKIT_INGRESS_HOST. + // OBS hace: POST https:///w/ con Content-Type: application/sdp + app.use( + '/w', + createProxyMiddleware({ + target: LIVEKIT_INGRESS_TARGET, + changeOrigin: true, + secure: false, + onError: (err, req, res) => { + console.error(`[setupProxy] livekit-ingress proxy error: ${err.code} — ${err.message}`); + if (!res.headersSent) { + res.writeHead(502, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify({ error: 'LiveKit Ingress unavailable', message: err.message })); + } + }, + }), + ); + // Facebook OAuth2 callback popup app.get('/oauth/facebook/callback.html', (req, res) => { const callbackFile = path.join(__dirname, '..', 'public', 'oauth', 'facebook', 'callback.html'); diff --git a/src/utils/api.js b/src/utils/api.js index a5f4f41..9215386 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -245,6 +245,24 @@ class API { return await this._GET('/v3/config/reload'); } + async WhipStreams() { + return await this._GET('/v3/whip', { + expect: 'json', + }); + } + + async WhipUrl() { + return await this._GET('/v3/whip/url', { + expect: 'json', + }); + } + + async WhipStreamUrl(name) { + return await this._GET('/v3/whip/' + encodeURIComponent(name) + '/url', { + expect: 'json', + }); + } + async Log() { return await this._GET('/v3/log', { expect: 'json', diff --git a/src/utils/restreamer.js b/src/utils/restreamer.js index daf02cb..f3df4e7 100644 --- a/src/utils/restreamer.js +++ b/src/utils/restreamer.js @@ -739,6 +739,12 @@ class Restreamer { local: 'localhost', credentials: '', }, + whip: { + enabled: false, + host: '', + local: 'localhost', + token: '', + }, }, }, http: { @@ -904,6 +910,18 @@ class Restreamer { config.source.network.srt.host += ':' + srt_port; config.source.network.srt.local += ':' + srt_port; + // WHIP + + if (val.config.whip) { + config.source.network.whip.enabled = val.config.whip.enable === true; + config.source.network.whip.token = val.config.whip.token || ''; + const [whip_host, whip_port] = splitHostPort(val.config.whip.address || ':8555'); + const wp = whip_port || '8555'; + config.source.network.whip.local = whip_host.length !== 0 ? whip_host : 'localhost'; + config.source.network.whip.local += ':' + wp; + config.source.network.whip.host = config.hostname + ':' + wp; + } + // Memfs config.memfs.auth.enable = val.config.storage.memory.auth.enable; @@ -944,6 +962,50 @@ class Restreamer { return true; } + async WhipStreams() { + const [val, err] = await this._call(this.api.WhipStreams); + if (err !== null) { + return []; + } + + return Array.isArray(val) ? val : []; + } + + async WhipUrl() { + const [val, err] = await this._call(this.api.WhipUrl); + if (err !== null) { + return null; + } + + // Allow overriding the public host:port via REACT_APP_WHIP_BASE_URL. + // Useful when the Core reports the wrong public IP (e.g. behind NAT) + // and you want the OBS URL to show a specific host, e.g. a LAN IP. + const override = process.env.REACT_APP_WHIP_BASE_URL; + if (override && val) { + const base = override.replace(/\/$/, '') + '/whip/'; + val.base_publish_url = base; + val.example_obs_url = base + ''; + } + + return val; + } + + async WhipStreamUrl(name) { + const [val, err] = await this._call(this.api.WhipStreamUrl, name); + if (err !== null) { + return null; + } + + // Same host override as WhipUrl(). + const override = process.env.REACT_APP_WHIP_BASE_URL; + if (override && val) { + const base = override.replace(/\/$/, '') + '/whip/'; + val.publish_url = base + name; + } + + return val; + } + ConfigOverrides(name) { if (!this.config) { return false; @@ -2003,24 +2065,101 @@ class Restreamer { for (let i in inputs) { const input = inputs[i]; + // WHIP inputs use the placeholder {whip:name=} for the actual process, + // but for the temporary probe process we use the direct SDP URL instead. + // Reasons: + // 1. Some Core builds don't expand {whip:...} in probe/temporary processes. + // 2. The probe runs against whatever Core the UI is connected to; that Core + // needs to reach the WHIP SDP endpoint on localhost:. + // 3. -protocol_whitelist is required so FFmpeg can open nested RTP/UDP URLs. + const isWhip = + typeof input.address === 'string' && + (input.address.startsWith('{whip:') || + (input.address.includes('/whip/') && input.address.includes('/sdp'))); + + const options = input.options.map((o) => '' + o); + + let address = input.address; + + if (isWhip) { + // Expand {whip:name=} → direct SDP URL for the probe process. + // The Core does NOT expand WHIP placeholders in temporary probe processes — + // it only does so for persistent ingest processes. Sending the raw + // placeholder causes FFmpeg to error: "No such file or directory". + const match = input.address.match(/\{whip:name=([^}]+)\}/); + // Use session config local address; fall back to default port 8555. + const whipLocal = this.config?.source?.network?.whip?.local || 'localhost:8555'; + if (match) { + address = `http://${whipLocal}/whip/${match[1]}/sdp`; + } + // -protocol_whitelist is required for FFmpeg to open nested RTP/UDP + // sub-protocols inside the HTTP SDP response. + if (!options.includes('-protocol_whitelist')) { + options.unshift('-protocol_whitelist', 'file,crypto,http,rtp,udp,tcp'); + } + } + config.input.push({ id: 'input_' + i, - address: input.address, - options: input.options.map((o) => '' + o), + address: address, + options: options, }); } - await this._deleteProcess(id); + // WHIP probes may return 0×0 video resolution when OBS hasn't sent any + // frames yet (the SDP is available but no RTP data has arrived). Retry + // until we receive either a valid resolution or a fatal error. + // Non-WHIP inputs are probed once and returned immediately. + const isWhipProbe = config.input.some( + (inp) => inp.address.includes('/whip/') && inp.address.includes('/sdp'), + ); + const WHIP_MAX_RETRIES = 20; // 20 × 3 s = 60 s maximum wait + const WHIP_RETRY_DELAY_MS = 3000; - let [val, err] = await this._call(this.api.ProcessAdd, config); - if (err !== null) { - return [val, err]; + for (let attempt = 0; attempt <= (isWhipProbe ? WHIP_MAX_RETRIES - 1 : 0); attempt++) { + if (attempt > 0) { + // Wait before re-probing so OBS has time to start transmitting. + await new Promise((resolve) => setTimeout(resolve, WHIP_RETRY_DELAY_MS)); + } + + await this._deleteProcess(id); + + let [val, err] = await this._call(this.api.ProcessAdd, config); + if (err !== null) { + return [val, err]; + } + + [val, err] = await this._call(this.api.ProcessProbe, id); + await this._deleteProcess(id); + + if (err !== null) { + return [val, err]; + } + + // For non-WHIP: always return the first result. + if (!isWhipProbe) { + return [val, err]; + } + + // For WHIP: 0×0 means OBS is not yet transmitting → retry. + const videoStream = val && val.streams ? val.streams.find((s) => s.type === 'video') : null; + const hasValidVideo = videoStream && (videoStream.width > 0 || videoStream.height > 0); + + if (hasValidVideo) { + return [val, err]; + } + + // No valid video yet — continue to next attempt (or fall through on last). } - [val, err] = await this._call(this.api.ProcessProbe, id); - await this._deleteProcess(id); - - return [val, err]; + // All retries exhausted: OBS did not start transmitting in time. + return [ + { + streams: [], + log: ['WHIP: No stream detected. Make sure OBS is transmitting to this server.'], + }, + null, + ]; } // Probe the ingest stream diff --git a/src/views/Edit/Sources/Network.js b/src/views/Edit/Sources/Network.js index a8bba04..d8efcd3 100644 --- a/src/views/Edit/Sources/Network.js +++ b/src/views/Edit/Sources/Network.js @@ -10,7 +10,9 @@ import AccordionDetails from '@mui/material/AccordionDetails'; import AccordionSummary from '@mui/material/AccordionSummary'; import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown'; import Button from '@mui/material/Button'; +import Chip from '@mui/material/Chip'; import CircularProgress from '@mui/material/CircularProgress'; +import FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord'; import Grid from '@mui/material/Grid'; import Icon from '@mui/icons-material/AccountTree'; import MenuItem from '@mui/material/MenuItem'; @@ -144,6 +146,14 @@ const initConfig = (initialConfig) => { ...config.hls, }; + config.whip = { + enabled: false, + host: 'localhost:8555', + local: 'localhost:8555', + token: '', + ...(initialConfig.whip || {}), + }; + return config; }; @@ -218,6 +228,8 @@ const createInputs = (settings, config, skills) => { name += '.stream'; } input.address = getLocalSRT(name); + } else if (settings.push.type === 'whip') { + input.address = getLocalWHIP(name); } else { input.address = ''; } @@ -279,6 +291,8 @@ const createInputs = (settings, config, skills) => { } } else if (settings.push.type === 'srt') { input.options.push('-analyzeduration', settings.general.analyzeduration); + } else if (settings.push.type === 'whip') { + input.options.push('-analyzeduration', settings.general.analyzeduration); } } else { input.address = addUsernamePassword(input.address, settings.username, settings.password); @@ -499,6 +513,10 @@ const getLocalSRT = (name) => { return '{srt,name=' + name + ',mode=request}'; }; +const getLocalWHIP = (name) => { + return '{whip:name=' + name + '}'; +}; + const isValidURL = (address) => { const protocol = getProtocolClass(address); if (protocol.length === 0) { @@ -993,12 +1011,16 @@ function Push(props) { SRT + + WHIP + {settings.push.type === 'rtmp' && } {settings.push.type === 'hls' && } {settings.push.type === 'srt' && } + {settings.push.type === 'whip' && } ); } @@ -1013,6 +1035,149 @@ Push.defaultProps = { onRefresh: function () {}, }; +function PushWHIP(props) { + const classes = useStyles(); + const config = initConfig(props.config); + const channelid = config.channelid; + const configWhip = config.whip; + + // Live state fetched from Core on every mount — never trust stale session config. + // null = loading, false = disabled/error, object = whip info + const [whipInfo, setWhipInfo] = React.useState(null); + const [obsUrl, setObsUrl] = React.useState(''); + const [active, setActive] = React.useState(false); + + // ── 1. Load live WHIP state from Core ────────────────────────────────── + React.useEffect(() => { + async function loadWhipInfo() { + // Helper: build whipInfo from the cached session config as a fallback. + // Used when the Core doesn't expose /v3/whip/url (older Core versions) + // or when WhipUrl() fails for any transient reason. + const fromSessionConfig = () => + configWhip.enabled === true + ? { base_publish_url: `http://${configWhip.host}/whip/`, has_token: !!configWhip.token } + : false; + + if (props.restreamer?.WhipUrl) { + const info = await props.restreamer.WhipUrl(); + // info === null means the endpoint returned an error (e.g. 404 on older + // Core builds that don't expose /v3/whip/url yet). Fall back gracefully. + setWhipInfo(info !== null ? info : fromSessionConfig()); + } else { + setWhipInfo(fromSessionConfig()); + } + } + loadWhipInfo(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + // ── 2. Build OBS URL once whipInfo is available ──────────────────────── + React.useEffect(() => { + if (!whipInfo) { + setObsUrl(''); + return; + } + if (props.restreamer?.WhipStreamUrl) { + props.restreamer.WhipStreamUrl(channelid).then((data) => { + if (data?.publish_url) { + setObsUrl(data.publish_url); + } else { + const base = whipInfo.base_publish_url || `http://${configWhip.host}/whip/`; + setObsUrl(`${base}${channelid}${configWhip.token ? '?token=' + encodeURIComponent(configWhip.token) : ''}`); + } + }); + } else { + const base = whipInfo.base_publish_url || `http://${configWhip.host}/whip/`; + setObsUrl(`${base}${channelid}${configWhip.token ? '?token=' + encodeURIComponent(configWhip.token) : ''}`); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [whipInfo, channelid]); + + // ── 3. Poll active streams ───────────────────────────────────────────── + const pollWhipStreams = React.useCallback(async () => { + if (!props.restreamer) return; + try { + const streams = await props.restreamer.WhipStreams(); + setActive(streams.some((s) => s.name === channelid)); + } catch (_) {} + }, [props.restreamer, channelid]); + + React.useEffect(() => { + if (!whipInfo || !props.restreamer) return; + pollWhipStreams(); + const id = setInterval(pollWhipStreams, 5000); + return () => clearInterval(id); + }, [whipInfo, pollWhipStreams, props.restreamer]); + + // Still loading — render nothing to avoid flicker + if (whipInfo === null) { + return null; + } + + if (!whipInfo) { + return ( + + + + WHIP server is not enabled. Enable it in Settings → WHIP Server. + + + + ); + } + + return ( + + + + Send stream to this address: + + + + +

IH(30aI1-p-_>DJfx5gsB*=lDzd?OXY5^R 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ⅈrK_0178*Tf<3z(PPDdsJOf)1!j1cKq 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